Índice:

LifeGuard 2.0: 7 etapas (com imagens)
LifeGuard 2.0: 7 etapas (com imagens)

Vídeo: LifeGuard 2.0: 7 etapas (com imagens)

Vídeo: LifeGuard 2.0: 7 etapas (com imagens)
Vídeo: Thieves, Creeps and All In Between - Bondi's Bad Kind Of Beachgoers! 2024, Novembro
Anonim
LifeGuard 2.0
LifeGuard 2.0

Você sempre quis realizar operações matemáticas, fazer leituras de sensores, monitorar entradas analógicas e digitais e controlar saídas analógicas e digitais sem nenhuma experiência anterior em eletrônica? Se sim, este projeto é só para você! Estaremos usando um microcontrolador e MATLAB para criar um dispositivo que pode ser usado para monitorar e aprimorar o sistema EF Express SMART RAIL. Com um microcontrolador, as possibilidades de entradas e saídas (sinal / informação indo para a placa e um sinal saindo da placa) são infinitas. Estaremos usando um sensor flexível e um potenciômetro como nossas entradas. Suas saídas serão uma mensagem via tela LCD e luzes LED juntamente com uma campainha, respectivamente. As melhorias que esperamos implementar no sistema SMART RAIL são relativas à melhoria da segurança do sistema. Pegue seu laptop e microcontrolador e vamos começar!

Etapa 1: Software e Materiais

Software e Materiais
Software e Materiais
Software e Materiais
Software e Materiais
Software e Materiais
Software e Materiais
Software e Materiais
Software e Materiais

Software necessário

1.) MATLAB

- Você precisará baixar uma versão local do MATLAB em seu computador. Acesse mathworks.com e configure uma conta MATHWORKS, baixe os arquivos e ative sua licença.

-Você deve baixar e instalar TODAS as caixas de ferramentas disponíveis para a versão mais recente (R2016a ou R2016b).

-Usuários do Mac: você deve ter OSX 10.9.5 ou posterior para executar o R2015b, não há problema em executar uma versão anterior do MATLAB.

2.) Pacote de suporte de hardware Arduino:

-Instale o pacote de suporte de hardware Arduino. Abra o MATLAB. Na guia MATLAB Home, no menu Environment, selecione Add-Ons Obter pacotes de suporte de hardware Selecione o "Pacote de suporte MATLAB para hardware Arduino". Você precisará fazer o login em sua conta MATHWORKS

-Se sua instalação for interrompida e você tiver sucessivas tentativas fracassadas / erros ao instalar o pacote de hardware - encontre e exclua a pasta de download do Arduino em seu disco rígido e comece do início.

Materiais necessários

1.) Laptop ou computador desktop

2.) Placa SparkFun Arduino

3.) Sensor Flex

4.) Potenciômetro

5.) Tela LCD

6.) luz LED

7.) Kit do SparkFun Inventor (Encontre online)

8.) Cabo USB e mini USB

9.) Fios de ligação

10.) Campainha piezo

Etapa 2: conectar ao seu Arduino e determinar a porta COM

(Sua porta COM pode mudar a cada vez que você pluga) Conecte o cabo USB do Arduino ao computador e o mini USB à placa do Arduino. Pode ser necessário aguardar alguns minutos para que os drivers sejam baixados.

Para determinar a porta COM:

No PC

Método 1: No MATLAB use o comando - fopen (serial ('nada'))

-para determinar sua porta de comunicação. Você pode obter um erro como este: Erro ao usar serial / fopen (linha 72) Falha ao abrir: Porta: NADA não está disponível. Portas disponíveis: COM3. Este erro indica que sua porta é 3.

-Se o Método 1 falhar em seu PC, abra o Gerenciador de Dispositivos e expanda a lista de Portas (COM e LPT). Observe o número na porta serial USB. por exemplo. 'Porta serial USB (COM *)' O número da porta é o * aqui.

-Se nenhuma porta for exibida, feche o MATLAB e reinicie o computador. Abra o MATLAB e tente fopen (serial ('nada')) novamente.

-Se isso falhar, pode ser necessário baixar os drivers do SparkFun do arquivo CDM_v2.12.00_WHQL_Certified.exe, abrir e executar o arquivo CDM_v2.12.00_WHQL_Certified.exe e selecionar Extrair. (Você pode precisar abrir o arquivo no explorer, clicar com o botão direito e 'Executar como Administrador').

-Na janela de comando do MATLAB crie um objeto Arduino - a = arduino ('comx', 'uno'); % x é o seu número de porta acima para PCs (sem zeros precedentes!)

Em um Mac

Método 1: Na linha de comando do MATLAB ou em um Terminal Mac e digite: 'ls /dev/tty.*' Observe o número da porta listado para dev / tty.usbmodem * ou dev / tty.usbserial *. O número da porta é o * aqui.

-Se o Método 1 falhar em seu MAC, você pode precisar

- Sair do MATLAB

- Feche o software Arduino e desconecte o cabo USB do Arduino

-instalar Java 6 Runtime

- instalar a extensão do kernel do driver USB

-Reinicie o seu computador

- Reconecte o cabo USB Arduino

- Execute a partir da linha de comando MATLAB ou Terminal Mac: ls /dev/tty.*

-Note o número da porta listado para dev / tty.usbmodem * ou dev / tty.usbserial *. O número da porta é o * aqui.

-Na janela de comando do MATLAB, crie um objeto Arduino - a = arduino ('/ dev / tty.usbserial *', 'uno'); % * é o seu número de porta acima para MACs, ou '/dev/tty.usbmodem*'

Etapa 3: Código Matlab

Código Matlab
Código Matlab
Código Matlab
Código Matlab

Entradas:

1.) Sensor Flex

2.) Potenciômetro

Saídas:

1.) Tela LCD com a mensagem "Train Coming"

2.) luz LED

3.) Campainha piezo

Nesta etapa, estaremos construindo o código que analisará as entradas da placa Arduino e fornecerá saídas com base nos resultados da análise do MATLAB. O código a seguir permitirá que você execute várias funções: quando o potenciômetro é acionado, o piezo buzzer emitirá frequências alternadas e o LED vermelho piscará. Quando um trem não é detectado, o LED verde acende. Quando o Sensor Flex é acionado, o LED de ganância se apaga, o LED vermelho acende e o LCD exibe uma mensagem que diz "Train Coming".

Código MATLAB:

% remery1, shornsb1, wmurrin

% Objetivo: Aviso de trem

% IInput: potenciômetro, sensor flex

% de saída: lcd, som, luz

% Se a placa não foi inicializada ou está tendo problemas de conexão, execute o

% abaixo dos comandos nos comentários. Eles não precisam ser executados todas as vezes

%limpar tudo

%feche tudo

% clc

% a = arduino ('/ dev / tty.usbserial-DN01DXOM', 'uno');

% lcd = addon (a, 'ExampleLCD / LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'});

% Configurar placa assim que estiver conectada

configurePin (a, 'D8', 'pullup');% configure D8

configurePin (a, 'D9', 'PWM');% configure D9

tempo = 50; % tempo definido para 50

clearLCD (lcd)% inicializar LCD

% Start Loop

enquanto tempo> 0

% A tensão do sensor flexível determina se a luz é verde ou se a luz

% está vermelho e o LCD exibe "trem vindo"

flex_status = readVoltage (a, 'A0'); % da tensão lida do sensor flex

se flex_status> 4% se a tensão for maior que 4, loop de gatilho

writeDigitalPin (a, 'D12', 0)% desliga verde

writeDigitalPin (a, 'D11', 1)% fica vermelho

printLCD (lcd, 'Train Coming')% exibe "train Coming" no LCD

pausa (5)% Aguarde 5 segundos

clearLCD (lcd)% Limpar mensagem do LCD

writeDigitalPin (a, 'D11', 0)% Desligue o LED vermelho

outro

fim

pe_status = readVoltage (a, 'A2'); % Leia a tensão do potenciômetro

se pe_status> 2% se a tensão for maior que 2, disparar o loop

writeDigitalPin (a, 'D13', 1);% liga o LED vermelho

playTone (a, 'D9', 400,.25);% Play 400Hz na campainha Piezo, 0,25 seg

writeDigitalPin (a, 'D13', 0)% desliga o LED vermelho

pausa (0,25)% espera 0,25 segundos

writeDigitalPin (a, 'D13', 1)% Repetição acima, com campainha em 200Hz

playTone (a, 'D9', 200, 0,25);

writeDigitalPin (a, 'D13', 0)

pausa (0,25)

writeDigitalPin (a, 'D13', 1);% Repetição acima

playTone (a, 'D9', 400, 0,25);

writeDigitalPin (a, 'D13', 0)

pausa (0,25)

writeDigitalPin (a, 'D13', 1)

playTone (a, 'D9', 200, 0,25);

writeDigitalPin (a, 'D13', 0)

pausa (0,25)

writeDigitalPin (a, 'D13', 1)% Repetição acima

playTone (a, 'D9', 400, 0,25);

writeDigitalPin (a, 'D13', 0)

pausa (0,25)

writeDigitalPin (a, 'D13', 1)

playTone (a, 'D9', 200, 0,25);

writeDigitalPin (a, 'D13', 0)

pausa (0,25)

writeDigitalPin (a, 'D13', 1)% Repetição acima

playTone (a, 'D9', 400, 0,25);

writeDigitalPin (a, 'D13', 0)

pausa (0,25)

writeDigitalPin (a, 'D13', 1)

playTone (a, 'D9', 200, 0,25);

writeDigitalPin (a, 'D13', 0)

pausa (0,25)

outro

writeDigitalPin (a, 'D12', 1)% se a tensão for inferior a 2, ligue o LED verde

writeDigitalPin (a, 'D13', 0)% de volta do LED vermelho

fim

fim

Etapa 4: Fiação do Sensor Flex

Fiação do Sensor Flex
Fiação do Sensor Flex
Fiação do Sensor Flex
Fiação do Sensor Flex
Fiação do Sensor Flex
Fiação do Sensor Flex
Fiação do Sensor Flex
Fiação do Sensor Flex

Materiais necessários

1.) 1 Sensor Flex

2.) 1 resistor de 10K Ohm

3.) 8 fios de ligação

* Consulte as fotos, respectivamente.

Neste circuito estaremos medindo flex. Um sensor flexível usa carbono em uma tira de plástico para agir como um resistor variável, mas em vez de alterar a resistência girando um botão, você altera flexionando o componente. Um divisor de tensão para detectar mudanças na resistência. No nosso caso, estarei utilizando o sensor flex para detectar a passagem de um trem para comandar uma tela de LCD (ver foto) para ler uma mensagem dizendo "Train Coming".

* Nas imagens que mostram as instruções para a fiação de um Sensor Flex, consulte apenas os fios relativos à fiação do Sensor Flex. Desconsidere a fiação do Servo.

Pinos de arame da seguinte forma:

Etapa 1: Na placa Arduino na seção POWER, conecte 1 fio na entrada 5V e 1 fio na entrada GND (aterramento). Conecte a outra extremidade do fio de 5 V em uma entrada positiva (+) na placa de circuito. Conecte a outra extremidade do fio GND em uma entrada negativa (-) na placa de circuito.

Etapa 2: Na placa Arduino na seção ANALOG IN, conecte 1 na entrada A0. Conecte a extremidade desse fio na entrada j20 na placa de circuito.

Etapa 3: Na placa Arduino na seção DIGITAL I / O, conecte 1 fio na entrada 9. Conecte a outra extremidade na entrada a3.

Etapa 4: na placa de circuito, conecte 1 fio em uma entrada positiva (+). Conecte a outra extremidade na entrada h24.

Etapa 5: na placa de circuito, conecte 1 fio em uma entrada negativa (+). Conecte a outra extremidade na entrada a2.

Etapa 6: na placa de circuito, conecte 1 fio em uma entrada negativa (-). Conecte a outra extremidade na entrada b1.

Etapa 7: na placa de circuito, conecte 1 fio em uma entrada negativa (-). Conecte a outra extremidade na entrada i19.

Etapa 8: Na placa de circuito, coloque o resistor nas entradas i20 e i24.

* A última imagem refere-se a aplicativos do mundo real.

Etapa 5: Conecte o Arduino ao LCD

Conecte o Arduino ao LCD
Conecte o Arduino ao LCD
Conecte o Arduino ao LCD
Conecte o Arduino ao LCD
Conecte o Arduino ao LCD
Conecte o Arduino ao LCD

* Siga este link (https://ef.engr.utk.edu/ef230-2017-08/projects/ard …) e consulte as etapas que forneci abaixo para conectar um LCD a um Arduino:

Etapa 1: abrir o arquivo zip

Etapa 2: abra o arquivo Leia-me e siga as instruções

Materiais necessários

1.) LCD 16x2 semelhante a este dispositivo da SparkFun -

2.) Fios de ligação

* Consulte as fotos, respectivamente.

Esta etapa mostrará como criar uma biblioteca complementar de LCD e exibir "Train Coming" em um LCD.

Pinos de arame da seguinte forma:

Pin do LCD -> Pin do Arduino

1 (VSS) -> Terra

2 (VDD) -> 5V

3 (V0) -> Pino intermediário no sensor Flex

4 (RS) -> D7

5 (R / W) -> Solo

6 (E) -> d6

11 (DB4) - D5 (PWM)

12 (DB5) -> D4

13 (DB6) -> D3 (PWM)

14 (DB7) -> D2

15 (LED +) -> 5 V

16 (LED-) -> Terra

Etapa 6: Conectando o Potenciômetro Soft

Potenciômetro Soft Conectando
Potenciômetro Soft Conectando
Potenciômetro Soft Conectando
Potenciômetro Soft Conectando
Potenciômetro Soft Conectando
Potenciômetro Soft Conectando

Materiais necessários

1.) 1 LED

2.) 1 Potenciômetro Suave

3.) Fios de ligação

4.) 3 Resistor de 330 Ohm

5.) Resistor de 10K Ohm

* Consulte as fotos, respectivamente.

Neste circuito, vamos usar outro tipo de resistor variável, um potenciômetro soft. Esta é uma tira fina e flexível que pode detectar onde a pressão está sendo aplicada. Ao pressionar várias partes da tira, você pode variar a resistência de 100 a 10 K ohms. Você pode usar essa capacidade para rastrear o movimento no potenciômetro ou como um botão. Neste circuito, colocaremos o potenciômetro soft em funcionamento para controlar um LED RGB.

Etapa 1: Na placa Arduino na seção DIGITAL I / O, conecte 1 pino na entrada 10 e 1 pino na entrada 11. Respectivamente, conecte a outra extremidade desses pinos na entrada h6 e h7.

Etapa 2: Na placa de circuito, conecte o LED nas entradas a4, a5, a6 e a7.

Etapa 3: na placa de circuito, coloque os 3 resistores de 330 ohms nas entradas e4-g4, e6-g6 e e7-g7.

Etapa 4: na placa de circuito, conecte 1 pino na entrada e5. Conecte a outra extremidade desse pino em uma entrada negativa (-).

Etapa 5: na placa de circuito, coloque o resistor de 10K ohm nas entradas i19-negativo (-).

Etapa 6: na placa de circuito, conecte 1 pino no j18. Conecte a outra extremidade desse pino em uma entrada positiva (+).

Etapa 7: na placa de circuito, conecte 1 pino na entrada j20. Conecte a outra extremidade desse pino em uma entrada negativa (-).

Etapa 7: Teste seus aprimoramentos em um sistema Smart Rail

Teste suas melhorias em um sistema Smart Rail
Teste suas melhorias em um sistema Smart Rail
Teste suas melhorias em um sistema Smart Rail
Teste suas melhorias em um sistema Smart Rail

Neste ponto, seu código MATLAB deve estar funcional e a placa Arduino deve estar conectada com precisão junto com todos os componentes adicionados. Experimente em um sistema Smart Rail certificado e veja se seus aprimoramentos tornam o sistema mais seguro.

Recomendado: