Índice:
- Etapa 1: Software e Materiais
- Etapa 2: conectar ao seu Arduino e determinar a porta COM
- Etapa 3: Código Matlab
- Etapa 4: Fiação do Sensor Flex
- Etapa 5: Conecte o Arduino ao LCD
- Etapa 6: Conectando o Potenciômetro Soft
- Etapa 7: Teste seus aprimoramentos em um sistema Smart Rail
Vídeo: LifeGuard 2.0: 7 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
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 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
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
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
* 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
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
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:
Howto: Instalando Raspberry PI 4 Headless (VNC) com Rpi-imager e imagens: 7 etapas (com imagens)
Howto: Instalando Raspberry PI 4 Headless (VNC) com Rpi-imager e imagens: Eu pretendo usar este Rapsberry PI em um monte de projetos divertidos em meu blog. Sinta-se à vontade para dar uma olhada. Eu queria voltar a usar meu Raspberry PI, mas não tinha um teclado ou mouse no meu novo local. Já fazia um tempo desde que configurei um Raspberry
Gesture Hawk: robô controlado por gestos manuais usando interface baseada em processamento de imagens: 13 etapas (com imagens)
Gesture Hawk: Robô controlado por gestos manuais usando uma interface baseada em processamento de imagem: Gesture Hawk foi apresentado no TechEvince 4.0 como uma interface homem-máquina baseada em processamento de imagem simples. Sua utilidade reside no fato de que nenhum sensor adicional ou vestível, exceto uma luva, é necessário para controlar o carro robótico que funciona em diferentes
Como desmontar um computador com etapas e imagens fáceis: 13 etapas (com imagens)
Como desmontar um computador com etapas e imagens fáceis: Esta é uma instrução sobre como desmontar um PC. A maioria dos componentes básicos é modular e facilmente removível. No entanto, é importante que você seja organizado sobre isso. Isso ajudará a evitar que você perca peças e também a fazer a remontagem e
Salvando suas imagens para sua tarefa: 4 etapas (com imagens)
Salvando suas imagens para sua tarefa: 1. Abra um novo documento do Google e use esta página para proteger suas imagens.2. Use ctrl (control) e " c " chave para copy.3. Use ctrl (control) e " v " chave para colar
Fazendo imagens sem costura horizontal ou verticalmente apenas (para "The GIMP").: 11 etapas (com imagens)
Fazendo imagens sem costura horizontalmente ou verticalmente apenas (para "The GIMP") .: Se você tentar o plug-in "Make seamless" no GIMP, ele tornará a imagem contínua tanto horizontal quanto verticalmente ao mesmo tempo. Ele não permitirá que você faça isso perfeito em apenas uma dimensão. Este instrutível irá ajudá-lo a fazer ima