Olá pessoal! No artigo de hoje faremos uso do terminal do app Dabble para comando de periféricos no Arduino. Vamos lá?
O módulo HM-10 nos possibilita usar comunicação sem fio através do Bluetooth, podendo ser usado com Arduino. Por exemplo, realizar a comunicação com um smartphone Android ou iOS.
Fizemos uso do aplicativo Dabble neste artigo aqui. Faremos a continuação com este mesmo app, com foco no seu terminal de comando. Através do terminal, faremos comandos relacionados à posição de um servo motor.
Materiais necessários
- 1 Arduino Nano (ou outro de sua preferência) com cabo USB
- 1 módulo BLE HM-10
- Jumpers rígidos (opcional)
- Jumpers macho-macho
- 1 protoboard 400 pontos ou maior
- 1 micro servo 9g
Montagem do circuito
Faremos o circuito conforme mostrado na figura abaixo:
Onde:
Arduino | HM-10 | Servo |
2 | RX | |
3 | TX | |
GND | GND | Fio marrom |
5V | Vcc | Fio vermelho |
Pino 9 | Fio laranja (ou amarelo) |
Código
Usaremos duas bibliotecas nativas na IDE Arduino, chamadas SoftwareSerial.h e Servo.h. Não é necessário realizar nenhum tipo de instalação.
/* Comando via terminal Dabble * Autoria: Gedeane Kenshima * Data: 18/11/2020 */ #include <SoftwareSerial.h> #include <Servo.h> Servo myservo; // cria objeto myservo SoftwareSerial dabble(3,2); // Pinos RX e TX void setup() { myservo.attach(9); // anexa o pino 9 ao pino de controle do servo dabble.begin(9600); // Inicia serial com 9600 bps (bits por segundo) } void loop() { // Verifica se objeto dabble está disponível if(dabble.available ()){ // Se sim, armazena a leitura da serial em caractere char caractere = (char) dabble.read(); // Se caractere for A if(caractere == 'A'){ myservo.write(0); // coloca o servo na posição 0 graus } // Se caractere for B else if(caractere == 'B'){ myservo.write(45); // coloca o servo na posição 45 graus } // Se caractere for C else if(caractere == 'C'){ myservo.write(90); // coloca o servo na posição 90 graus } // Se caractere for D else if(caractere == 'D'){ myservo.write(135); // coloca o servo na posição 135 graus } // Se caractere for E else if(caractere == 'E'){ myservo.write(180); // coloca o servo na posição 180 graus } } delay(100); // aguarda 100 ms } // Fim do sketch
O Arduino receberá os caracteres A, B, C, D ou E através do aplicativo. A cada caractere, o Arduino envia a posição para o onde o servo motor deve permanecer, valores entre 0 e 180º.
Realização dos comandos
Realize o pareamento do seu smartphone com o módulo BLE após a montagem do circuito. O pareamento é realizado através do ícone superior, com formato de duas tomadas conectadas.
Após o pareamento, clique na seção Terminal, ícone de fundo azul. Será aberta uma nova tela, com a mensagem “Type here…” na parte inferior. Nesta parte serão enviados os caracteres para comando do servo.
Digite caracteres A, B, C, D ou E, aperte enter ou no ícone enviar (A). A cada caractere enviado, o servo fará movimentos rápidos até a posição determinada pelo sketch.
Experimente enviar os caracteres de forma aleatória para ver a precisão dos movimentos do servo ao receber os comandos.
Gostou de conhecer o módulo BLE e o app Dabble? Além das possibilidades já existentes no app, você pode personalizar seu projeto com comandos específicos via terminal.
Se você tiver dúvidas, sugestões ou experiências para compartilhar, fique a vontade para deixar um comentário abaixo. E para não perder nenhum conteúdo como este, não deixe de nos seguir no Instagram.