Olá galera,
Estava fazendo alguns testes aqui com o meu modulo bluetooth, servo e alguns ledizinhos, com base nos videos deste professor;
https://www.youtube.com/watch?v=hWUSloIi6gg
https://www.youtube.com/watch?v=R6o1UlC-ztg
https://www.youtube.com/watch?v=IwnofqvGKow
E alterei algumas coisinhas pra testar também o servo e a transferência do módulo bluetooth para um dispositivo, que no meu caso foi meu tablet, mas pode ser qualquer cel com android.
O programa usado foi o S2 bluetooth e pode ser baixado na market free.
O modulo que usei é este: http://www.dealextreme.com/p/wireless-bluetooth-rs232-ttl-transceiv...
Quase tudo que é necessário para saber está nos videos acima. As minhas pequenas implementações estão no esboço do programa abaixo e no esquema.
Quando digitamos 1, 2 ou 3 acendemos os leds. Quando digitamos A, B, C apagamos os mesmos. Quando digitamos de 4 a 9 e inclusive o 0 mudamos o motor de posição de acordo com o programa e quando apertamos o botao ligado a porta 2 acendemos o led da placa ligado ao pino 13 e enviamos uma série de dados atraves do bluetooth. No dispositivo podemos ver esses dados sendo recebidos.
#include <Servo.h> // Inclue a biblioteca do servo
Servo myservo; // Cria um objeto do servo para controlar ele
int pos = 0; // Variavel que armazena a posição do motor
const int botao=2; // Botao do teste ligado ao pino 2
const int led=13; // Led do teste ligado ao pino 13
int EstatusBotao = 0; // Variavel para armazenar o estatos do botao
void setup() // Função para configuração
{
myservo.attach(9); // Inclui o pino 9 ao myservo
pinMode (10,OUTPUT); // Atribui como saida o pino 10
pinMode (12,OUTPUT); // Atribui como saida o pino 12
pinMode (11,OUTPUT); // Atribui como saida o pino 11
pinMode(botao,INPUT); // Atribui como entrada o pino 02
pinMode(led,OUTPUT); // Atribui como saida o pino 13
Serial.begin(9600); // Inicia a comunicação serial, utilizada pelo modulo bluetooth
}
void loop()
{
EstatusBotao = digitalRead (botao); // Atribui o valor de botao a variavel EstatusBotao
char c = Serial.read(); // Cria uma variavel chamada c para armazenar o que entra pela serial
if (EstatusBotao == HIGH) // Testa o estatus do botao
{
digitalWrite (led, HIGH); // Liga o led acoplado a placa
Serial.write ('F'); // Envia F pela serial
delay(15); // Delay para comunicação
Serial.write ('A');
delay(15);
Serial.write ('M');
delay(15);
Serial.write ('A');
delay(15);
Serial.write (' ');
delay(15);
}
else // Se a condição anterior não for verdadeira
{
digitalWrite (led, LOW); // Apaga o LED
}
if (c == '1') digitalWrite (10, HIGH); // Testa se C comtem 1 e liga o led da saida 10
if (c == '2') digitalWrite (12, HIGH); // Testa se C comtem 2 e liga o led da saida 12
if (c == '3') digitalWrite (11, HIGH); // Testa se C comtem 3 e liga o led da saida 11
if (c == 'A') digitalWrite (10, LOW); // Testa se C contem A e desliga o led da saida 10
if (c == 'B') digitalWrite (12, LOW); // Testa se C contem B e desliga o led da saida 12
if (c == 'C') digitalWrite (11, LOW); // Testa se C contem C e desliga o led da saida 11
delay(30);
switch (c) // Aqui, também é testado os valores de c
{
case 51: myservo.write (75); break; // Quando digitado 3, move o motor para 75°
case 52: myservo.write (15); break; // Quando digitado 4, move o motor para 15°
case 53: myservo.write (30); break; // Quando digitado 5, move o motor para 30°
case 54: myservo.write (45); break; // Quando digitado 6, move o motor para 45°
case 55: myservo.write (60); break; // Quando digitado 7, move o motor para 60°
case 56: myservo.write (90); break; // Quando digitado 8, move o motor para 90°
case 57: myservo.write (115); break; // Quando digitado 9, move o motor para 115°
case 48: myservo.write (180); break; // Quando digitado 0, move o motor para 180°
}
}
E aqui um videozinho que fiz quando tetei o meu.
https://www.youtube.com/watch?v=GBPM7YGsYoM
Abraço a todos.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)