Automação no Parque, 14/02/2015
Ontem, sabadão de Carnaval, não é que em vez de se entregar aos folguedos momescos a turma resolveu aparecer no Parque? Abaixo algumas imagens do que rolou por lá:
Um dos projetos mais legais que estão rolando desde o sábado passado é o do Carlos e do Alex Porto, que estão estudando transmissão de dados via rádio digital.
Usando um SDR (Software Defined Radio) a dupla testa alguns transmissores que a gente às vezes usa em nossos projetos.
Como receptor eles usam uma dessas antenas de TV digital para PC, desse tipo aí ao lado.
Essas antenas se prestam a algumas brincadeiras bem legais, porque podem ser usadas em frequências de rádio FM da banda comercial, bem como em outras como por exemplo a usada pela aviação. Pode-se ouvir as conversas de pilotos e também captar a telemetria dos aviões, por exemplo.
Esse foi o modelo de transmissor que usamos para fazer a brincadeira abaixo.
E que tal transmitir música gerada com o Arduino pelo rádio? Usando um sketch Arduino que eu fiz um tempão atrás, que toca a famosa trilha nerd Imperial March, transmitimos a música do Arduino ao PC e ela tocou no auto-falante deste último.
Abaixo, o scketch com o trecho da música. Vc pode ouvi-la simplesmente conectando o seu Arduino a um buzzer ou pequeno auto-falante no pino 8:
// biblioteca que define as frequências das notas musicais
#include <Piches.h>
#define buzzer 8 // pino do positivo buzzer/autofalante.
// toca uma determinada nota (pitch), com uma determinada duração (duration)
void playPich(int pich, int duration)
{
tone(buzzer, pich);
delay(duration);
noTone(buzzer);
}
void ImperialMarch()
{
int ritym = 500;
playPich(NOTE_A3, ritym);
playPich(NOTE_A3, ritym);
playPich(NOTE_A3, ritym);
playPich(NOTE_F3, ritym * 3 / 4);
playPich(NOTE_C4, ritym * 1 / 4);
playPich(NOTE_A3, ritym);
playPich(NOTE_F3, ritym * 3 / 4);
playPich(NOTE_C4, ritym * 1 / 4);
playPich(NOTE_A3, ritym * 2);
playPich(NOTE_E4, ritym);
playPich(NOTE_E4, ritym);
playPich(NOTE_E4, ritym);
playPich(NOTE_F4, ritym * 3 / 4);
playPich(NOTE_C4, ritym * 1 / 4);
playPich(NOTE_GS3, ritym);
playPich(NOTE_F3, ritym * 3 / 4);
playPich(NOTE_C4, ritym * 1 / 4);
playPich(NOTE_A3, ritym * 2);
delay(500);
}
void setup()
{
pinMode(buzzer,OUTPUT);
}
void loop()
{
ImperialMarch();
}
Abaixo, imagem do Arduino Mega acoplado ao radinho.
Eu fiquei preparando o meu Edson para uso, instalando o Linux nele etc, mas isso é assunto para outro post.
Comentários
Postar um comentário