Postagem em destaque

Controle PID de Potência em Corrente Alternada - Arduino e TRIAC - Parte I

Este post é o primeiro de uma série de seis que escrevi tratando de controle de potência e PID (controle proporcional, integral e derivativo...

domingo, 15 de fevereiro de 2015

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.

E aqui o resultado. Vídeo by Alex Porto, que também escreveu sobre o assunto em seu blog.



Eu fiquei preparando o meu Edson para uso, instalando o Linux nele etc, mas isso é assunto para outro post.