Projecto Arduino de LED activado por som

Projecto Arduino de LED activado por som

No projecto LED activado por som, será construído um circuito Arduino básico, utilizando principalmente um módulo LED (díodo emissor de luz) de duas cores e um módulo de sensor de som com microfone. A premissa deste projecto é simples: quando o sensor de som detecta um som de estalo, o LED passa da cor verde para a cor vermelha durante dois segundos, voltando depois à cor verde original. Se o sensor de som não detetar um som de estalo, o LED permanecerá simplesmente verde. Tecnicamente, o som não precisa de ser um som de estalo, pois é apenas um exemplo de um som que pode fazer subir a leitura do sensor acima de um determinado valor limite, para depois accionar a mudança de cor do LED.

O módulo de sensor de som que é apresentado no projecto Sound-Activated LED é o HW-485 Microphone Sound Sensor Module e tem a capacidade de emitir sinais analógicos e digitais. No entanto, como este projecto utiliza a sinalização digital para alternar a cor do LED entre dois estados, será utilizada a saída digital do sensor. Isto significa que o sensor de som só pode enviar dois estados, dependendo do nível de entrada (som) que recebe: 1 (ligado) ou 0 (desligado). O sensor enviará um 1 para o Arduino se captar qualquer som que esteja acima do seu valor limite; caso contrário, será enviado um 0 para todos os sons que não ultrapassem o limite.

Para alterar este valor limite, pode rodar o potenciómetro trimmer que está montado directamente no módulo do sensor para modular a sensibilidade do sensor. Para este modelo específico (HW-485), rodar o potenciómetro no sentido dos ponteiros do relógio aumenta a sua sensibilidade, enquanto que rodar o potenciómetro no sentido contrário ao dos ponteiros do relógio diminui a sua sensibilidade. É importante notar que para o seu módulo sensor de som, dependendo do modelo, a direcção pode ser oposta. Se o LED não estiver a mudar de estado (cor) quando há um som alto por perto, terá de alterar a sensibilidade do sensor. 

Ao compreender os princípios fundamentais deste projecto Arduino, será certamente mais fácil incorporar e integrar alguns dos conceitos demonstrados neste circuito noutras aplicações. A base deste projecto assenta essencialmente no sensor de som que capta uma entrada (som) e actua como um interruptor para depois activar uma alteração no módulo LED, o dispositivo de saída. Com este conceito em mente, o dispositivo de saída pode ser facilmente substituído por um buzzer piezoeléctrico (para gerar ruído), um ecrã visual (LCD, OLED, TFT, etc.), um relé (ligado em linha com outros dispositivos externos), um transmissor sem fios, etc. Além disso, em PCBA para electrónica de consumoPara a criação de dispositivos electrónicos activados por voz ou mesmo de sistemas de domótica, é utilizado um tipo de circuito semelhante. Muitos destes circuitos podem, além disso, ser integrados numa placa de circuito impresso, tanto através de orifícios como através de PCBA de montagem em superfície, para reduzir a dimensão global do projecto. A transferência de um projecto como este de uma placa de ensaio para uma placa de circuito impresso pode ser realizada sem esforço. Para realizar este projecto de circuito em casa, precisamos de componentes de origem:

  • Arduino Nano (outras placas compatíveis com Arduino também funcionam)
  • Cabo USB (compatível com a placa Arduino)
  • Prancheta
  • Fios de ligação macho-macho (6)
  • Módulo de sensor de som com microfone HW-485
  • Módulo LED vermelho/verde de 2 cores HW-480 (cátodo comum)
  • Resistências de 220Ω (2)

Diagrama de cablagem do projecto electrónico LED de controlo de som

Dependendo da sua placa Arduino, pode ou não necessitar de uma placa de ensaio para a ligar. Neste exemplo, é utilizado um Arduino Nano, pelo que é necessária uma placa de ensaio, mas se estiver a utilizar um Arduino Uno, por exemplo, os fios de ligação em ponte podem ser ligados dos componentes na placa de ensaio directamente aos pinos da placa.

A cablagem para este projecto é bastante simples, uma vez que, para além dos módulos principais, não são necessários muitos componentes extra. No que diz respeito ao módulo de sensor de som, o módulo HW-485 que é apresentado neste projecto tem uma configuração de 4 pinos, com uma saída digital (DO) e uma saída analógica (AO). Se o seu módulo tiver esta mesma configuração de 4 pinos, utilize a saída digital (DO), mas se o seu módulo tiver uma configuração de 3 pinos, o pino de saída/sinal padrão funcionará. Relativamente ao módulo LED, a razão pela qual duas resistências de 220Ω estão ligadas em série com as duas saídas deste módulo é para evitar que os LEDs se queimem quando se aplica uma tensão de alimentação de +5 volts. Aqui está um diagrama de circuito da cablagem para este projecto de bricolage:

  • Módulo de sensor de som de microfone HW-485: Ligue o pino de saída digital (DO)/sinal a D7 na sua placa Arduino, o pino positivo (+) a +5v e o pino GND (G) a GND.
  • Módulo LED vermelho/verde de 2 cores HW-480: Insira uma resistência de 220Ω na placa de ensaio em série com o pino de saída do sinal do LED vermelho (R) e insira outra resistência de 220Ω em série com o pino de saída do sinal do LED verde (G). Ligar o pino de saída da cor vermelha (R) a D5 e o pino de saída da cor verde (G) a D6. Ligue o pino negativo (-) ao GND do seu Arduino.
  • Agora, pode ligar a sua placa Arduino ao computador através do cabo USB.

Código do projecto

int redPin = 5;

int greenPin = 6;

int sensorPin = 7;

boolean val = 0;

 

nulo configuração(){

 pinMode(redPin, OUTPUT);

 pinMode(greenPin, OUTPUT);

 pinMode(sensorPin, INPUT);

 Em série.começar(9600);

}

 

 nulo laço (){

 val = digitalLer(sensorPin);

 Em série.println(val);

 

 se (val == ALTO) {

   digitalWrite(greenPin, LOW);

   digitalWrite(redPin, ALTO);

   atraso(2000);

 }

 senão {

   digitalWrite(redPin, LOW);

   digitalWrite(greenPin, ALTO);

 }

}

Sobre o código

  • Este código simples é uma excelente apresentação de muitas das funções com que se poderá deparar novamente enquanto Programação de CI no IDE Arduino, que utiliza uma variante das linguagens de programação C++. Este código inclui números inteiros fundamentais, booleanos, funções úteis e instruções if.
  • O primeiro bloco de código define os três pinos digitais no Arduino que estão a ser utilizados pelo módulo de sensor de microfone e pelo módulo de LED. A variável redPin designa o pino D5 a ser utilizado para o sinal do LED vermelho, greenPin designa D6 e sensorPin designa D7 para utilização com o módulo do sensor de som. Além disso, um booleano chamado val é atribuído a 0 (baixo/falso/desligado). Um booleano é um tipo de dados específico que pode conter um valor verdadeiro ou falso (1 ou 0).
  • Passando à parte da configuração do vazio, cada um dos pinos que foram definidos anteriormente é agora definido aqui como entrada ou saída. Uma vez que o sensor de som está a captar dados de som e a enviá-los para o Arduino para processamento, é definido como uma entrada, enquanto o módulo LED está a receber dados do Arduino, pelo que os dois pinos LED são definidos como saídas. A taxa de transmissão da comunicação em série está definida para 9600 bauds para que os dados recolhidos pelo sensor possam ser lidos posteriormente no monitor de série.
  • Relativamente à parte do ciclo vazio, o booleano val é primeiro definido para o estado em que o sensor de som se encontra actualmente. Uma vez que o Arduino está a receber uma saída digital do sensor, a informação que este envia para o Arduino só pode ser verdadeira (1) ou falsa (0). Estes dados são depois impressos no monitor de série e podem ser muito úteis para calibrar a sensibilidade do sensor de som (definir o limiar de sons que o sensor pode detectar). 
  • De seguida, é introduzida uma instrução if que afirma essencialmente que, se o sensor de som detectar um estalido (quando o sensor de som envia um 1), o LED verde será desligado e o LED vermelho será ligado durante dois segundos antes de voltar ao seu estado predefinido (LED vermelho desligado e LED verde ligado). Isto demonstra a utilização da função pinMode() que, especificamente, pode ligar (HIGH) ou desligar (LOW) uma saída digital (por exemplo, um módulo LED), dependendo de determinados parâmetros dentro da instrução if, neste caso.

Próximas etapas

Este projecto LED activado por som da Tecnologia FS é um excelente projecto de introdução à utilização de vários dispositivos de entrada e saída, para além de várias funções fundamentais que são utilizadas no código Arduino para controlar a informação que é recebida e enviada de/para esses dispositivos. Consequentemente, este princípio pode ser aplicado a projectos muito maiores, em que a entrada digital de um sensor pode ser utilizada para accionar um circuito ou ligar/desligar um dispositivo de saída. Por exemplo, os sistemas de detecção de movimento incorporam normalmente sensores PIR (infravermelhos passivos) que, quando activados, accionam uma luz brilhante ou um alarme. Este é apenas um dos muitos exemplos deste sistema digital simples de entrada-saída que está incorporado em muitos aparelhos eléctricos e circuitos electrónicos actuais. Em termos das funções/expressões de código que foram apresentadas no código do Arduino, uma das funções mais importantes a recordar são as expressões if. Estas declarações são funções extremamente fundamentais e populares que podem ser vistas em quase todos os códigos, especialmente quando se trabalha com vários dispositivos que estão a comunicar entre si para fazer parte de uma rede/sistema maior. Com todos estes conceitos em mente, cabe-lhe agora a si aplicar e expandir os seus conhecimentos recém-adquiridos para criar o seu Placa PCBA DIY!

Blogue de projectos de electrónica DIY

Arduino UNO Interrupt Timer

Arduino UNO Interrupt Timer The Timer is a feature embedded in every microcontroller and has certain functions regarding the passage of time. The Timer function

Ler mais "