Documente Academic
Documente Profesional
Documente Cultură
Ol garagista no tutorial de hoje mostraremos como utilizar os Mini RF Shields utilizando o Garagino
e como exemplo iremos controlar a distncia a posio do LED em uma matriz 8x8 , por intermdio
de chaves do tipo tac switch.
Material Utilizado
2x Kit Garagino Rev 1
4x Chave Tactil
8x Resistor 330 (Acionamento do LEDs)
4x Resistor 10K (Pull-down das chaves tteis)
2x Protoboard
1x Mini RF Transmitter Shield 315MHz
1x Mini RF Receiver Shield 315MHz
2x LM7805
2x Suporte de bateria
2x capacitores eletrolticos 10uf 50v
2x capacitores cermicos 100nf (104)
Alguns Jumpers (Circuito)
2x Baterias 9V
1. Mini RF Transmitter Shield 315MHz
Ele uma timas opo para transmisso de dados sem fio em seu Garagino.
No necessita solda e j acompanha antena.
Voc pode utiliza-lo em conjunto com a biblioteca Virtual Wire.
Veja mais informaes no nosso tutorial sobre RF LINK clicando aqui.
2. Mini RF Receiver Shield 315MHz
Caractersticas
Com o Mini RF Receiver Shield voc ter disponvel um receptor 315MHz para receber informaes
dos mdulos transmissores RF ou do Mini RF Transmitter Shield (de mesma frequncia).
Ele uma timas opo para recepo de dados sem fio em seu Garagino.
No necessita solda e j acompanha antena.
Voc pode utiliza-la em conjunto com a biblioteca Virtual Wire.
Veja mais informaes no nosso tutorial sobre RF LINK clicando aqui.
3. Sketch Mini RF Transmitter Shield 315MHz
vw_set_ptt_inverted(true);
vw_setup(2000);
vw_set_tx_pin(3);//Configura o pino 3 como tx
//===================================================
}
void loop()
{
if(digitalRead(0)==0)// se estiver pressionado
{
dado="D";//Armazena o dado pr determinado
vw_send((uint8_t *)dado, strlen(dado)); //Envia a varivel dado
vw_wait_tx(); //Aguarda o fim de transmisso
delay(100); //Aguarda um tempo para a prxima leitura
}
//Faz a leitura das tac switches e compara se esto em nvel baixo
if(digitalRead(1)==0)
{
dado="E";
vw_send((uint8_t *)dado, strlen(dado)); //Envia a varivel dado
vw_wait_tx(); //Aguarda o fim de transmisso
delay(100);
}
if(digitalRead(2)==0)
{
dado="B";
vw_send((uint8_t *)dado, strlen(dado)); //Envia a varivel dado
vw_wait_tx(); //Aguarda o fim de transmisso
delay(100);
}
if(digitalRead(4)==0)
{
dado="C";
vw_send((uint8_t *)dado, strlen(dado)); //Envia a varivel dado
vw_wait_tx(); //Aguarda o fim de transmisso
delay(100);
}
}
vw_set_ptt_inverted(true);
vw_setup(2000);
vw_set_rx_pin(2);//Configura o pino 2 garagino como rx
vw_rx_start();
//=================================================
pinMode(0, INPUT); //Configura o pino com entrada
pinMode(1, INPUT);
pinMode(2, INPUT);
pinMode(3, OUTPUT); //Configura o pino como sada
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
pinMode(14, OUTPUT);
pinMode(15, OUTPUT);
pinMode(16, OUTPUT);
pinMode(17, OUTPUT);
pinMode(18, OUTPUT);
pinMode(19, OUTPUT);
//Coloca a matriz em nivel baixo
for(i=4;i<=11;i++)
{
digitalWrite(i, LOW);
}
for(i=12;i<=19;i++)
{
digitalWrite(i, HIGH);
}
//Indica a posio onde o led sera iniciado.
digitalWrite(4,1);
digitalWrite(12,0);
}
void loop()
{
char cod;//Cria uma variavel para armazenar o dado recebido.
uint8_t buf[VW_MAX_MESSAGE_LEN]; //Recebe os dados e armazena na varivel buf
uint8_t buflen = VW_MAX_MESSAGE_LEN; //Armazena na varivel buflen o tamanho do dado
recebido
if(vw_get_message(buf, &buflen)) //Pega a mensagem que foi recebida
{
cod=buf[0];//Converte a varivel em Char
matriz(cod); //Realiza a chamada da funo
}
}
//Funo responsavel pela identificao dos dados
void matriz(char letra)
{
switch(letra)
{
//Verifica se o caracter recebido foi o 'D'
case'D':
if(x<11)//Se verdadeiro o led se movera para Direita
{
digitalWrite(x,0);
x++;
digitalWrite(x,1);
delay(200);//Aguarda um tempo at a prxima leitura
}
break;
case'E':
if(x>4)//Se verdadeiro o led se movera para Esquerda
{
digitalWrite(x,0);
x--;
digitalWrite(x,1);
delay(200);//Aguarda um tempo at a prxima leitura
}
break;
case'B':
if(y<19)//Se verdadeiro o led se movera para Baixo
{
digitalWrite(y,1);
y++;
digitalWrite(y,0);
delay(200);//Aguarda um tempo at a prxima leitura
}
break;
case'C':
if(y>12)//Se verdadeiro o led se movera para Cima
{
digitalWrite(y,1);
y--;
digitalWrite(y,0);
delay(200);//Aguarda um tempo at a prxima leitura
}
}
}
5. Circuito do Mini RF Transmitter Shield 315MHz
Aps realizar as ligaes no esquea de acoplar o Mini RF Transmitter Shield 315MHz:
'
Figura 3 - Circuito do Mini RF Transmitter Shield 315MHz
Registre-se
ou acesse
Or sign in with:
Publicidade
Convide um amigo para o Lab!
Teensy 2.0
Por: R$ 95,90
Ou em at 18x de R$ 6,39
Temp&Humi Sensor
Por: 25,00
Ou em at 05x de R$ 5,30
Estao de Solda
Temperatura Ajustvel - 50W
Por: R$ 204,00
Ou em at 18x de R$ 13,60
2014 Criado por Marcelo Rodrigues.
Badges | Relatar um incidente | Termos de servio
Entrar no bate-papo