Índice:
- Etapa 1: Etapa 1: componentes
- Etapa 2: Etapa 2: conectar o servo motor
- Etapa 3: Etapa 3: um pouco de compreensão
- Etapa 4: Etapa 4: adicionar código para testar o servo motor
- Etapa 5: Etapa 5: Preparação para a comunicação
- Etapa 6: Etapa 6: Testar a comunicação
- Etapa 7: Etapa 7: Adicionar os comandos
- Etapa 8: Etapa 8: conectar o dispositivo às cortinas (não necessário)
Vídeo: Motor servo de rotação contínua (CRS) com controle de telegrama: 8 etapas
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Neste instrutível, ensinarei como controlar um CRS via telegrama. Para este instrutível, você precisará de algumas coisas. Eu estarei trabalhando em um NodeMCU 1.0 (Módulo ESP-12E). Isso pode funcionar em outros cabos Arduino, você só precisa encontrar as unidades adequadas para ele.
O seguinte era o ambiente de configuração para o Módulo ESP-12E:
- Windows 10
- Arduino IE 1.8.7 (Windows Store 1.8.15.0)
Um guia sobre como instalar os drivers e arquivos principais para o Módulo ESP-12E pode ser encontrado aqui:
Depois de fazer isso. Estamos prontos para começar!
Etapa 1: Etapa 1: componentes
Para este tutorial, você precisará de alguns componentes:
- Módulo ESP12-E (ESP8266)
- Servo motor de rotação contínua (este é o que eu usei)
- Cabo Micro USB
- Uma rede Wifi
- App Telegram
- Um Botfather Bot (não se preocupe, vamos chegar lá)
Etapa 2: Etapa 2: conectar o servo motor
Siga este esquema para conectar o servo motor.
- Preto: GND (Terra)
- Vermelho: 3,3 V ou 5 V (alimentação)
- Amarelo ou branco: saída digital (sinal)
Então, se você está usando o mesmo servo motor que usei e tem uma placa arduino com saída de tensão mais alta (5 V máx.), Você pode colocar o cabo de alimentação lá. Significa apenas que o servo motor produzirá mais torque. De qualquer forma, 3,3 V ou 5 V são adequados.
Etapa 3: Etapa 3: um pouco de compreensão
Antes de começarmos a testar o código e ver se funciona, há algo que você precisa entender sobre este servo motor. Como não é um servo motor convencional, que gira em ângulos específicos, o código que você precisa usar é um pouco diferente.
Não recomendo usar o servo com torque total, pois gera muito calor e pode consumir muito da vida útil do produto. Tente permanecer na área de [60, 120].
void loop {
myservo.write (90); // isso significa nenhum movimento, o servo motor está parado delay (1000); myservo.write (0); // isso significa velocidade total do movimento no sentido anti-horário delay (1000); myservo.write (180); // isso significa velocidade total do movimento no sentido horário delay (1000); }
Etapa 4: Etapa 4: adicionar código para testar o servo motor
#incluir
Servo myservo; void setup () {myservo.attach (D5); // conecte o servo no pino D5)} void loop () {myservo.write (85); // gira o motor no sentido anti-horário em baixa velocidade delay (1000); myservo.write (120); atraso (1000); myservo.write (90); atraso (5000); }
Etapa 5: Etapa 5: Preparação para a comunicação
Para poder se comunicar com seu Arduino, você precisará consertar algumas coisas. Eles são muito fáceis. Vamos dividir essas tarefas em duas pequenas seções.
O bot
- Instale o Telegram no seu celular.
- Faça uma conta no Telegram.
- Pesquise o usuário 'Botfather'.
- Faça um novo bot usando os comandos que ele mostra (salve a chave que ele lhe dá).
As tarefas do Arduino
- Abra o Arduino IE.
- Vá para o 'Gerenciador de Biblioteca'.
- Adicione a biblioteca 'Universal Telegrambot'.
-
Adicione a biblioteca 'ArduinoJson'.
- Não adicione o beta
- Adicione a versão 5.x mais recente que existe.
Etapa 6: Etapa 6: Testar a comunicação
Estamos quase lá.
- Abra 'echobot' da biblioteca universaltelegrambot> esp8266.
- Altere as credenciais do wi-fi para corresponder à sua rede no local em que você está.
- Mude o BOTtoken que o Botfather lhe deu.
- Adicione esta linha de código no loop for que está em `void loop ();`
Serial.println (bot.messages .text);
Agora estamos prontos para testar.
Faça upload deste código para o seu Arduino. Verifique no monitor serial se seu NodeMCU está se conectando à sua rede wi-fi. Depois de ver que ele está conectado, envie uma mensagem para o seu bot. Ele deve enviar exatamente a mesma mensagem de volta.
Etapa 7: Etapa 7: Adicionar os comandos
Então funcionou! Temos uma conexão entre os dispositivos. A próxima etapa é somar as coisas. Então, vamos adicionar comandos ao código echobot existente. Pode ser uma boa ideia colocar o próximo código em vez do último código que eu dei a você. Então, vamos evitar que tenhamos um bot que se comporta como um papagaio.
Este próximo trecho de código precisa estar no loop for que efetua loops por meio de novas mensagens. Dependendo de como você posiciona o servo motor, você pode querer trocar os comandos 'Abrir' e 'Fechar'. Faça o upload para o seu esp8266 e verifique se funciona.
// o comando que você quer
if (bot.messages .text == "Abrir") {
// A resposta que seu bot dará a você bot.sendMessage (bot.messages .chat_id, "Estou abrindo as cortinas para você.");
// o que a placa arduino fará
myservo.write (80); // servo motor gira no sentido anti-horário para abrir as cortinas
}
if (bot.messages .text == "Stop") {// A resposta que seu bot lhe dará bot.sendMessage (bot.messages .chat_id, "Parando as cortinas."); // o que a placa arduino fará myservo.write (90); // servo motor para de girar}
if (bot.messages .text == "Close") {// A resposta que seu bot dará a você bot.sendMessage (bot.messages .chat_id, "Estou fechando as cortinas para você."); // o que a placa arduino fará myservo.write (80); // servo motor gira no sentido horário para fechar as cortinas}
Etapa 8: Etapa 8: conectar o dispositivo às cortinas (não necessário)
Yeeeey, você terminou!
As instruções eram sobre como conectar um Telegrambot ao Arduino para controlá-lo à distância. Mas fiz essa configuração especial para ter uma maneira de abrir minhas cortinas no meu estúdio sem ter que abri-las fisicamente. Então, se você quiser fazer o mesmo que eu, o último passo é conectar nosso pequeno dispositivo às suas cortinas e voila.