Arduino Spybot
Componentes e suprimentos
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 4 | ||||
| × | 4 | ||||
![]() |
| × | 8 | |||
![]() |
| × | 2 | |||
![]() |
| × | 8 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Aplicativos e serviços online
![]() |
|
Sobre este projeto
Breve introdução
Este é um carro de quatro rodas simples que é controlável via conexão bluetooth. O carro pode conter qualquer telefone celular que pode ser usado como uma câmera IP. Decidi fazer este robô com javascript usando um servidor web de nó onde posso monitorar para onde o robô vai.
Você pode ver o circuito das partes principais na figura 1.

Após rodar o servidor, recebo uma tela que contém uma introdução sobre o controle e uma janela para visualização da câmera (figura 2).

E sim, esse layout é responsivo.
O chassi
Nesta versão do bot decidi fazer o chassis sozinho. Se você não tem uma furadeira ou apenas deseja uma solução mais fácil, pode comprar em uma ampla variedade de carrocerias de plástico.
Eu fiz meu próprio chassis e não foi tão fácil ao que parece. A regra mais importante é que você deve colocar os pneus o mais próximos possível um do outro se quiser escolher a direção diferencial para fazer curvas. Você pode ler os principais erros e regras básicas da física no seguinte link:
http://www.rakeshmondal.info/4-Wheel-Drive-Robot-Design
Outro desafio era como conectar os motores DC ao chassi. No meu caso não tenho nenhuma peça especial para isso então resolvi escolher umas braçadeiras (150 / 3,5) para a tarefa. Para a correta fixação dos pneus, tive que fazer os furos com a maior precisão possível e usar 2 abraçadeiras para um motor DC. Infelizmente, há uma chance de que os motores não se encaixem tão retos quanto o suficiente e seu carro pode se mover um pouco para a esquerda ou para a direita quando você controla para frente e para trás.
As baterias
Para alimentar as placas e os motores, decidi escolher uma única fonte de alimentação CC para a tarefa. O chassi não tem espaço para um suporte de bateria 8 x AA, então tive que fazer algumas personalizações, então coloquei dois suportes 4 x AA com 2 parafusos um no outro. Para isso tive que furar o plástico também.
Energizando
No meu caso, eu ligo a placa Arduino Uno com 8 baterias recarregáveis AA. Esta é a energia suficiente para servir também à blindagem do motor. Há um jumper nesta blindagem que é removível para que a blindagem do motor não receba energia do Arduino. Neste caso, você pode alimentar seu escudo separadamente usando os pinos de alimentação nele. Você pode ler sobre as diferentes opções de energia no seguinte link:
https://learn.adafruit.com/adafruit-motor-shield-v2-for-arduino/powering-motors
Conexão sem fio
Usei um módulo bluetooth HC-06 para estabelecer a conexão entre o carro e meu computador. Eu queria usar o mínimo de cabos possível, então decidi construir uma blindagem Arduino customizada colocando o módulo bluetooth e esvaziando a blindagem do protótipo, faça a fiação sob a blindagem e solde alguns conectores de pinos para o mecanismo de conexão correto. Você pode ter uma visão rápida do resultado na figura 3 e na figura 4.


O bom é que você tem a capacidade de desacoplar o módulo bluetooth da blindagem a qualquer momento porque ele não está soldado à placa.
Para configurar o módulo bluetooth, siga as instruções deste site:
https://github.com/rwaldron/johnny-five/wiki/Getting-Started-with-Johnny-Five-and-JY-MCU-Bluetooth-Serial-Port-Module
Movimento
O robô é capaz de se mover para frente, para trás e girando usando a direção diferencial. O suporte da câmera é conectado a um servo de rotação contínua para que você possa olhar ao redor com o telefone sem mover o carro. Você pode ver uma breve demonstração no vídeo a seguir.
Telefone celular
Usei um Nokia Lumia 520 para o projeto e o aplicativo Win IP Camera que você encontra na loja:
https://www.microsoft.com/en-us/store/p/win-ip-camera/9nblgggz4xb1
Sobre o código
Como um desenvolvedor de javascript, decidi criar um servidor web de nó para a página de controle e usar algumas bibliotecas sofisticadas para melhorar a aparência e a sintaxe do código. Você pode ver a lista completa na minha página do github e na próxima seção.
Decidi escolher a modularização tanto no front-end quanto no back-end. Aqui está o ponto de entrada do aplicativo:
var boardModule =require ('./ src / boardModule'), servoModule =require ('./ src / servoModule'), motorModule =require ('./ src / motorModule'); boardModule.initBoard (). then (function () {motorModule.initMotors (); servoModule.initServo ();});
No lado frontal, também uso separação para cada módulo:
import {moveWheels, stopWheels} de './wheelsControl';import {moveServo, stopServo} de' ./servoControl '; document.onkeydown =checkKeyDown; document.onkeyup =checkKeyUp; função checkKeyDown (e) {moveWheels (e.keyCode); moveServo (e.keyCode);} função checkKeyUp (e) {stopWheels (e.keyCode); stopServo (e.keyCode);}
Para a base de código completa, verifique meu repositório github acima.
Bibliotecas de sortware
- express.js - para aprimorar nosso aplicativo Nodejs
- johnny-five - para usar a API de controle Arduino Javascript
- socket.io- para usar web sockets para estabelecer comunicação entre back-end e front-end
- susy - para criar o layout e design responsivo
- google material design - para usar elementos materiais
- gulpJS - para automatização de tarefas
- BabelJS - para transpilar EcmaScript 6
- Browserify - para suporte de módulo
Últimas palavras
Sou um iniciante neste mundo IoT e este é meu primeiro projeto. Não quero dizer que usei as soluções ideais, mas espero que você possa encontrar algumas informações úteis neste guia.
Código
Github
https://github.com/dominikfilkus/arduino-spybot-V2Esquemas
arduino-spybot.fzzProcesso de manufatura