Índice:
- Etapa 1: Peças e Software
- Etapa 2: Processo de construção
- Etapa 3: Driver do motor L293D
- Etapa 4: HC-05 Bluetooth
- Etapa 5: Monitor de bateria
- Etapa 6: Sensor Ultrasonic Range HC-SR04
- Etapa 7: Scanner Larson
- Etapa 8: Código
- Etapa 9: Câmera
- Etapa 10: MIT App Inventor2
- Etapa 11: conecte o celular ao carro RC
- Etapa 12: Pronto
Vídeo: Carro robô com Bluetooth, câmera e MIT App Inventor2: 12 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Você sempre quis construir seu próprio carro-robô? Bem, esta é sua chance!!
Neste Instructable, irei ensiná-lo a fazer um Robot Car controlado via Bluetooth e MIT App Inventor2. Esteja ciente de que sou um novato e que este é meu primeiro instutável, portanto, seja gentil em seus comentários.
Existem muitos instructables por aí, mas neste eu tentei combinar muitos recursos como: streaming de câmera, prevenção de obstáculos, sensor de alcance ultrassônico, scanner Larson (com charlieplexing) e monitoramento de bateria para um aplicativo Android !!
Então, vamos começar e conhecer Frankie (ele usa ideias de muitos lugares … portanto, Robo Frankenstein)
Etapa 1: Peças e Software
Aqui, na minha cidade natal, é difícil conseguir todas as peças, portanto, consegui a maioria em www.aliexpress.com
Eu estimo que o projeto possa ser construído por US $ 25 - 30 sem considerar o celular antigo.
- Chassi do carro: 3 rodas, 2 motores 6V (US $ 9)
- Arduino Nano (US $ 2)
- Bluetooth HC-05 (USD 3 a 4)
- Motorista L293D para motores de roda motriz (USD 1,50 para um lote de 5 peças)
- Celular antigo com câmera e Wi-Fi
- Sensor ultrassônico HC-SR04 para medição de um objeto próximo (US $ 1)
- 6 LEDs para scanner Larson
- ATtiny85 para scanner Larson (US $ 1)
- Breadboard (US $ 1)
- Fios
- Resistor de 100K Ohm (4)
- Resistência de 1K Ohm (2)
- Resistor de 2K Ohm (1)
- Resistor de 270 Ohm (3)
- Campainha
Programas:
- IDE Arduino
- Webcam IP (para celular Android antigo)
- MIT App Inventor2: este aplicativo é ótimo, mas funciona apenas para o sistema operacional Android (sem Iphones … desculpe!)
Etapa 2: Processo de construção
O chassi do carro é muito fácil de montar; Possui 2 motores 6V que acionam as rodas traseiras e 4 baterias.
O carro do robô é controlado via Bluetooth e Wi-Fi. O Bluetooth controla as comunicações seriais entre o carro e o MIT App inventor2 e o Wi-Fi é usado para se comunicar com a câmera (celular antigo) instalada na frente do carro.
Para este projeto, usei dois conjuntos de baterias: o arduino é alimentado por uma bateria de 9 V e os motores do carro por 6 V (quatro baterias AA de 1,5 V).
O Arduino Nano é o cérebro desse projeto que controla o carro, buzzer, sensor ultrassônico HC-SR04, Bluetooth HC-05, scanner Larson (ATtiny85) e monitora as baterias. A bateria de 9 V vai para Vin (pino 30) e o pino 27 do Arduino fornece energia regulada de 5 V para a placa de ensaio. Precisa ligar todos os aterramentos de todos os ICs e baterias juntos.
Em anexo, o diagrama de circuito foi feito em Excel (desculpe … da próxima vez, tentarei o Fritzing). Eu conectei tudo usando placa de ensaio e conectores de fio macho a macho, o meu parece um ninho de rato.
Etapa 3: Driver do motor L293D
O L293D é um driver de meia H de alta corrente quádruplo projetado para fornecer correntes de drive bidirecionais de até 600 mA em tensões de 4,5 V a 36 V. É usado para movimentar as rodas do carro.
Ele é alimentado por uma bateria de 6 V (quatro 1,5 V AA) para os motores e usa 5 V para a lógica que vem regulada de 5 V (pino 27) no Arduino Nano. As conexões são mostradas no esquema anexo.
Não houve necessidade de instalá-lo em um dissipador de calor.
Etapa 4: HC-05 Bluetooth
O HC-05 Bluetooth é alimentado por 5V (arduino pino 27), mas é importante entender que o nível lógico é 3,3V, ou seja, comunicações (Tx e Rx) com 3,3V. É por isso que Rx deve ser configurado com no máximo 3,3 V, o que pode ser obtido com um conversor de deslocamento de nível ou, como neste caso, com um divisor de tensão usando resistores de 1K e 2K como vistos no circuito.
Etapa 5: Monitor de bateria
Para monitorar os níveis da bateria, configurei divisores de tensão para trazer os níveis de tensão abaixo de 5 V (faixa máxima do Arduino). O divisor de tensão diminui a tensão que está sendo medida dentro da faixa das entradas analógicas do Arduino.
São utilizadas as entradas analógicas A4 e A6 e resistências altas (100K ohms) para não esgotar muito as baterias no processo de medição. Precisamos chegar a um acordo, se os resistores estão muito baixos (10K ohms), menos efeito de carregamento, a leitura da tensão é mais precisa, mas mais consumo de corrente; se eles estiverem muito altos (1M ohms), mais efeito de carregamento, a leitura da tensão é menos precisa, mas menos consumo de corrente.
O monitoramento da bateria é feito a cada 10 segundos e exibido diretamente no seu celular controlador.
Tenho certeza de que há muito espaço para melhorias nesta parte, já que estou lendo dois pinos analógicos e o MUX interno está trocando entre eles. Não estou calculando a média de várias medições e talvez seja isso que eu deveria estar fazendo.
Deixe-me explicar a seguinte fórmula:
// Lê a tensão do pino analógico A4 e faz a calibração do Arduino:
voltagem1 = (analogRead (A4) * 5,0 / 1024,0) * 2,0; //8,0V
A placa Arduino nano contém um conversor analógico para digital de 8 canais e 10 bits. A função analogRead () retorna um número entre 0 e 1023 que é proporcional à quantidade de tensão aplicada ao pino. Isso produz uma resolução entre as leituras de: 5 volts / 1024 unidades ou 0,0049 volts (4,9 mV) por unidade.
O divisor de tensão divide a tensão pela metade e, para obter a tensão verdadeira, precisa multiplicar por 2 !!
IMPORTANTE: Tenho certeza de que existe uma maneira mais eficiente de alimentar um arduino do que a que estou fazendo !! Como um novato, aprendi da maneira mais difícil. O pino Arduino Vin usa um regulador de tensão linear, o que significa que, com uma bateria de 9 V, você queima uma grande parte da energia do próprio regulador linear! Não é bom. Fiz assim porque era rápido e só porque não conhecia bem … mas tenha certeza que no Robo Frankie versão 2.0 com certeza farei diferente.
Estou pensando (em voz alta) que uma fonte de alimentação chaveada DC DC e uma bateria recarregável de íon de lítio podem ser a melhor maneira. Sua gentil sugestão será mais do que bem-vinda …
Etapa 6: Sensor Ultrasonic Range HC-SR04
HC-SR04 é um sensor ultrassônico. Este sensor fornece medições de 2 cm a 400 cm com uma precisão de até 3 mm. Neste projeto, ele é utilizado para evitar obstáculo quando atingir 20cm ou menos e também para medir a distância a qualquer objeto, que é enviado de volta para o seu celular.
Existe um botão na tela do seu celular que precisa ser clicado para solicitar a distância de um objeto próximo.
Etapa 7: Scanner Larson
Eu queria incluir algo divertido, então incluí o scanner Larson que se parece com K. I. T. T. de Knight Rider.
Para o scanner Larson, usei ATtiny85 com charlieplexing. Charlieplexing é uma técnica para acionar uma tela multiplexada na qual relativamente poucos pinos de I / O em um microcontrolador são usados para acionar uma série de LEDs. O método usa os recursos lógicos de três estados de microcontroladores para ganhar eficiência em relação à multiplexação tradicional.
Neste caso, estou usando 3 pinos de ATtiny85 para acender 6 LEDs !!
Você poderia acender LEDs "X" com N pinos. Use a seguinte fórmula para derivar quantos LEDs você pode acionar:
X = N (N-1) LEDs com N pinos:
3 pinos: 6 LEDs;
4 pinos: 12 LEDs;
5 pinos: 20 LEDs … você entendeu;-)
A corrente flui de positivo (ânodo) para negativo (cátodo). A ponta da seta é cátodo.
É importante observar que o pino 1 (no código IDE do Arduino) se refere ao pino físico 6 no ATtiny85 (consulte a pinagem anexada).
Em anexo, encontre o código que precisa ser carregado no ATtiny85 que controla o scanner Larson. Não estou descrevendo como fazer upload de um código no ATtiny85, pois há muitos instructables que fazem isso como este.
Etapa 8: Código
Estou anexando o código que precisa ser carregado no ATtiny85 que controla o scanner Larson e o código do Arduino nano.
Quanto ao Arduino nano, usei parte dos códigos de outros instructables (aqui) e fiz alterações para atender às minhas necessidades. Eu incluí um fluxograma (também no word para uma imagem mais clara) do código para entender melhor como o Switch - Case funciona.
Importante: Para fazer upload do código CarBluetooth no Arduino nano, você precisa desconectar Rx e Tx do módulo Bluetooth HC-05!
Etapa 9: Câmera
O aplicativo IP Webcam precisa ser baixado da Play Store e instalado no seu celular antigo. Verifique as preferências de vídeo, ajuste a resolução de acordo e, finalmente, vá até o último comando “Iniciar servidor” para iniciar a transmissão. Não esqueça de ligar o wi-fi no celular !!
Etapa 10: MIT App Inventor2
MIT App inventor2 é uma ferramenta baseada em nuvem que ajuda a construir aplicativos em seu navegador da web. Este aplicativo (apenas para celular baseado em Android) pode então ser carregado em sua célula e controlar seu carro robô.
Estou anexando o código.apk e.aia para que você possa ver o que fiz e modificá-lo como desejar. Usei um código da internet (MIT App) e fiz minhas próprias modificações. Este código controla o movimento do carro robô, recebe o sinal do sensor ultrassônico, acende as luzes e emite um bipe. Ele também recebe sinal das baterias nos informando o nível de tensão.
Com este código poderemos receber dois sinais diferentes do carro: 1) distância a um objeto próximo e 2) voltagem do motor e baterias do Arduino.
Para identificar a string serial recebida, incluí um sinalizador no código do Arduino que especifica o tipo de string enviada. Se o Arduino enviar a distância medida do sensor ultrassônico, ele enviará um caractere “A” na frente da string. Sempre que o Arduino envia níveis de bateria, ele envia um sinalizador com um caractere “B”. No código do MIT App inventors2, analisei a string serial proveniente do Arduino e verifiquei esses sinalizadores. Como eu disse, sou um novato e tenho certeza de que existem maneiras mais eficientes de fazer isso e espero que alguém possa me esclarecer de uma maneira melhor.
Envie Arduino_Bluetooth_Car.apk para o seu celular (por e-mail ou Google Drive) e instale-o.
Etapa 11: conecte o celular ao carro RC
Em primeiro lugar, ligue o wi-fi no celular antigo (o do robô RC).
No seu celular controlador, ligue o wi-fi, Bluetooth e abra o Arduino_Bluetooth_Car.apk que acabou de instalar. No final da tela (role para baixo se não conseguir vê-lo), você verá dois botões: Dispositivos e CONNECT. Clique em Dispositivos e selecione o Bluetooth do seu carro RC (deve ser algo HC 05), clique em CONECTAR e você deverá ver a mensagem CONECTADO na parte inferior esquerda da tela. Na primeira vez, será solicitada uma senha (digite 0000 ou 1234).
Existe uma caixa onde você precisa digitar o endereço IP do seu celular antigo (celular que está no seu carro RC), no meu caso é
Este número de IP pode ser detectado em seu roteador Wi-fi. Você precisa entrar na configuração do seu roteador, selecionar Lista de dispositivos (ou algo parecido, dependendo da marca do seu roteador) e você deve ser capaz de ver o seu dispositivo de celular antigo, clique nele e insira este número de IP nesta caixa.
Em seguida, selecione CAMERA e você deve começar a ver o streaming da câmera do seu carro RC.
Etapa 12: Pronto
Você terminou! Comece a brincar com isso
Mudanças futuras: Vou trocar a bateria de 9V por baterias de íon-lítio para recarregá-las e usar um regulador de tensão DC-DC, também quero melhorar o monitor da bateria incluindo suavização (média) das leituras analógicas. Não planejando incluir I. A. ainda …;-)
Entrei no meu primeiro concurso instrutível … então, vote;-)
Recomendado:
Carro Robô Arduino Bluetooth: 18 etapas (com imagens)
Arduino Bluetooth Robot Car: Construa seu primeiro Arduino Robot Car! As instruções visuais passo a passo mais completas e abrangentes para construir seu primeiro Arduino Bluetooth Robot Car. Aproveitar
Transformando qualquer carro R / C em um carro R / C de controle de aplicativo Bluetooth: 9 etapas
Transformando qualquer carro R / C em um carro R / C de controle de aplicativo Bluetooth: Este projeto mostra as etapas para transformar um carro de controle remoto comum em um carro de controle Bluetooth (BLE) com placa de robótica Wombatics SAM01, Blynk App e MIT App Inventor. muitos carros RC de baixo custo com muitos recursos, como faróis de LED e
Robô de equilíbrio / Robô de 3 rodas / Robô STEM: 8 etapas
Robô de balanceamento / Robô de 3 rodas / Robô STEM: Construímos um robô de balanceamento combinado e de 3 rodas para uso educacional em escolas e programas educacionais após as aulas. O robô é baseado em um Arduino Uno, um escudo personalizado (todos os detalhes de construção fornecidos), um pacote de bateria Li Ion (todos constr
Carro robô de direção servo para Arduino: 6 etapas (com imagens)
Servo Steering Robot Car para Arduino: Este carro é baseado no design da plataforma arduino, o núcleo é o Atmega - 328 p, que pode realizar a direção da roda dianteira, tração traseira e outras funções. use o módulo sem fio; Se você deseja implementar
Carro robô controlado por Bluetooth usando Arduino: 8 etapas (com imagens)
Carro-robô controlado por Bluetooth usando Arduino: neste instrutível, irei guiá-lo na criação de um carro-robô que controle sobre Bluetooth a partir de seu telefone celular Android. Além disso, o carro robô tem uma habilidade especial de evitar obstáculos que encontra ao mover o carro para frente. O robo