Wi-Servo:Servomotores controlados por navegador Wi-Fi
Componentes e suprimentos
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Aplicativos e serviços online
|
Sobre este projeto
Este projeto mostra como controlar alguns servomotores remotamente em uma rede Wi-Fi, usando um navegador de internet comum (Firefox, por exemplo). Isso pode ser usado em várias aplicações:brinquedos, robôs, drones, panorâmica / inclinação da câmera, etc.
Os motores foram acoplados a um Arduino Uno, que conecta a rede Wi-Fi por meio de um módulo ESP-8266. A interface de controle foi projetada com HTML e jQuery.
O tutorial de Miguel (http://allaboutee.com/2015/01/02/esp8266-arduino-led-control-from-webpage/), que mostra como ligar / desligar LEDs usando ESP-8266, serviu de inspiração para isso publicar.
A técnica aqui apresentada é utilizada em um dos meus projetos:"Robô da Alegria". Você pode encontrar mais sobre isso em um dos seguintes links:
https://hackaday.io/project/12873-rob-da-alegria-joy-robot
https://www.facebook.com/robodaalegria/
https://github.com/ferauche/RoboAlegria
Etapa 1:Eletrônicos
Para este projeto, você precisará dos seguintes componentes:
- Arduino Uno (comprar)
- ESP8266 (comprar)
- Protoshield (para uma versão mais compacta) ou um breadboard comum (comprar)
- resistor de 10 kohm (x3)
- Alguns fios de ligação
- servomotor SG90 (x2) (comprar)
- Um computador (para compilar e enviar o código Arduino)
Você não precisará de ferramentas específicas para a montagem deste projeto. Todos os componentes podem ser encontrados online em sua loja de comércio eletrônico favorita. O circuito é alimentado pela porta USB (conectada a um computador ou carregador de telefone comum), mas você também pode adicionar uma fonte de alimentação DC externa ou uma bateria conectada ao conector de alimentação do Arduino.
Etapa 2:montagem
Conecte todos os componentes de acordo com o esquema. Você precisará de alguns fios de jumper para conectar o módulo ESP-8266 e os servomotores. Você pode usar um proto-escudo (para um circuito mais compacto), uma placa de ensaio comum ou projetar seu próprio escudo Arduino.
Conecte o cabo USB à placa Arduino Uno e prossiga para a próxima etapa.
Etapa 3:código do Arduino
Instale o IDE Arduino mais recente. Neste projeto, a biblioteca servo.h foi usada para o controle dos servos. Para evitar conflito entre o módulo Wi-Fi e a porta USB do computador durante o upload do código,
softserial
biblioteca foi usada. Nenhuma biblioteca adicional foi necessária para comunicação com o módulo ESP-8266. Verifique a taxa de transmissão do seu ESP8266 e defina-a corretamente no código. Alguns servomotores começam a tremer e fazer ruídos estranhos quando sua posição está perto dos limites (0 e 180 graus). Para evitar isso, o ângulo foi limitado entre 10 e 170 graus tanto no código do Arduino quanto na interface de controle (posteriormente).
Infelizmente,
servo.h
biblioteca e softserial.h
biblioteca usa o mesmo temporizador do microcontrolador. Isso pode causar jitter nos servos sempre que o Arduino se comunica com o ESP-8266. Para evitar isso, os servos são desconectados do Arduino após cada comando. Você também pode conectar o módulo aos pinos seriais padrão. Neste caso, lembre-se de desconectar o módulo antes de cada upload. Baixe o código do Arduino (
wi-servo.ino
) e substitua XXXXX pelo SSID do roteador Wi-Fi e YYYYY pela senha do roteador. Conecte a placa Arduino à porta USB do seu computador e faça o upload do código. FASLU1KIR9EDSUP.ino
Etapa 4:Interface
Uma interface HTML foi projetada para o controle dos servomotores. Neste exemplo, dois servos foram usados, mas mais podem ser adicionados ao Arduino Uno (testei até quatro motores).
Um formulário de caixa de texto é usado para inserir o endereço IP do módulo ESP. Baixe
Wi-servo.html
e jquery.js
arquivos e salve-os na mesma pasta. FH67KRAIQSAB934.zip
Etapa 5:uso
Quando o Arduino for reiniciado, ele tentará conectar sua rede Wi-Fi automaticamente. Use o Serial Monitor para verificar se a conexão foi bem-sucedida e para obter qual IP foi atribuído ao ESP-8266 pelo roteador.
Abra o arquivo html em um navegador da Internet (Firefox).
Informe o endereço IP do seu ESP-8266 na caixa de texto e você estará pronto para começar. Selecione o ângulo desejado para cada servo usando os controles deslizantes. O navegador enviará automaticamente uma solicitação ao Arduino quando você soltar o botão do mouse e mover cada servo.
Código
Github
https://github.com/ferauche/RoboAlegriahttps://github.com/ferauche/RoboAlegriaEsquemas
Processo de manufatura
- Robô Raspberry Pi controlado por Bluetooth
- WebServerBlink usando Arduino Uno WiFi
- Carro RC controlado por joystick
- Calculadora UNO simples
- Braço robótico controlado por Nunchuk (com Arduino)
- Robô controlado por fala
- Persistência da visão
- Robô de piano controlado por Arduino:PiBot
- Luz controlada por toque usando Arduino
- Trackpad USB controlado por Arduino