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.

 

Exibições: 12671

Comentar

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)

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço