Alarme de campainha piezo Arduino com LDR (resistor dependente de luz)/fotorresistor

Este é um tutorial simples sobre arduino, ldr (resistor dependente de luz) / sensor fotorresistor e campainha piezoelétrica. O nível de som de saída da campainha piezo varia de acordo com o Arduino, dependendo da intensidade da luz emitida no sensor LDR/luz. Um led também desaparecerá pelo Arduino dependendo da intensidade da luz lançada no fotorresistor. O projeto DIY é igual ao projeto de eletrônica básica que criamos em nossa aula de eletrônica “Sensor de luz”usando componentes passivos (Resistores, Transistores, LDR, Led, Buzzer). A diferença é que em nosso projeto DIY usaremos um microcontrolador dedicado (Arduino uno) para controlar o nível de som da campainha e o desbotamento do LED dependendo do valor do sensor de luz LDR.

Buzzer Arduino led e LDR

Buzzer Arduino led e LDR

Campainha piezoelétrica

A campainha Piezo é um pequeno componente eletrônico. Ele emite um tom quando a tensão é fornecida através de seus pinos de alimentação. Normalmente a campainha piezoelétrica opera em 5 volts, mas versões de 12 volts também estão disponíveis. O tom/som produzido pela campainha piezoelétrica depende da potência que lhe é fornecida. Se a potência estiver baixa, o tom de saída será baixo e se a potência estiver alta, o tom/som será alto. Uma campainha piezoelétrica de 5 volts pode emitir um tom de 3 volts. O tom de saída aumenta se aumentarmos a tensão de 3 e o tom máximo que obteremos será de 5 volts. A campainha piezo tem dois pinos. Vcc ao qual fornecemos tensão +ve e Gnd que conectamos ao aterramento da fonte de alimentação.

LDR (resistor dependente de luz)/Fotorresistor

LDR é um resistor especial. A resistência do LDR varia quando a luz é lançada sobre ele. Sua resistência aumenta e diminui dependendo da intensidade da luz lançada sobre ele. Normalmente possui alta resistência e quando exposto à luz sua resistência diminui. Esta característica única do LDR nos faz utilizá-lo em circuitos automáticos de ativação/desativação de iluminação pública. É usado como interruptor de luz autônomo. A intensidade e o brilho da luz podem ser controlados usando LDR.
Em nosso projeto também vamos medir a intensidade da luz com ldr (resistor dependente de luz). Agora, como vamos medi-lo? Veja o diagrama abaixo.

LDR Arduino medindo intensidade de luz

LDR Arduino medindo intensidade de luz
Um circuito divisor de tensão é mostrado acima. Lembre-se de que LDR é um resistor. quando não há luz acesa no LDR, muito pouca corrente fluirá através do circuito. O resistor de 100 k estará em potencial 0. Não haverá tensão no resistor de 100 k. Agora, quando uma fonte de luz é aproximada do LDR. Sua resistência começará a diminuir e a corrente começará a fluir pelo circuito. A tensão começa a aparecer no resistor de 100 k. Quanto maior a intensidade da luz lançada no LDR, mais tensão aparece no resistor de 100 k. Quando a quantidade de luz lançada no sensor LDR aumenta o valor limite, a resistência LDR torna-se quase 0.
A tensão que aparece no resistor de 100 k é lida pelos pinos analógicos do Arduino e traduzida para uso posterior (controlando a campainha do Arduino e o mecanismo de fade do LED).

Diagrama do circuito do projeto

Arduino dois pinos digitais e um pino analógico são usados ​​no projeto. Dois pinos digitais do Arduino são cuidadosamente selecionados. Eu escolho os pinos digitais do Arduino (~ 11 e ~ 6) que podem emitir um sinal pwm. Espero que vocês conheçam a técnica PWM (modulação por largura de pulso). Caso contrário, apenas para este tutorial, use-o (pwm) como uma forma de gerar um sinal variável em pinos digitais. Do sinal variável, quero dizer tensão de saída entre 0-5 volts. Pode ser 0,5, 1, 1,2, 3,5, 4,1 volts, qualquer tensão entre 0-5 volts.
Uma perna da campainha do Arduino está conectada ao pino 11 do Arduino e a outra é puxada para cima. A perna positiva do LED está conectada ao pino nº 6 do Arduino e a outra extremidade é puxada para cima. 5 volts fornecidos à campainha e ao led podem ser provenientes do pino 5v do arduino. O resistor de 220 ohms em série com a campainha e o led é usado para fins de limitação de corrente.
O ponto médio do circuito divisor de tensão do resistor LDR e 10 k está conectado ao canal analógico 0 do arduino uno. A entrada Ldr de 5 volts também pode ser fornecida com o trilho de saída de 5 volts do Arduino. O diagrama do circuito do projeto é fornecido abaixo.

Alarme sonoro Arduino com resistor dependente de luz (LDR)/fotorresistor

Alarme sonoro Arduino com resistor dependente de luz (LDR)/fotorresistor
Chegando à parte do código do projeto. O código é escrito em arduino ide e é gratuito para todos. Você pode usá-lo e modificá-lo de acordo com suas necessidades. No código primeiro defini as variáveis ​​para o canal analógico 0 do arduino como sensorpino arduino da campainha (pino arduino # 11) como Buz e pino arduino led (pino arduinp # 6) como Liderado. Na função setup eu declarei o Buz e Liderado pinos como saída. Uma vez que eles estão emitindo tensão ou sinal Pwm (modulado por largura de pulso) para campainha e atenuação do LED.
Na função de configuração, a porta serial do Arduino também é inicializada com uma taxa de transmissão de 9600. A porta serial do Arduino é inicializada para ver a medição de tensão pelo canal analógico 0 ao qual a saída LDR está conectada. Serial.begin(9600) instrução está inicializando a porta serial do Arduino.

Na função de loop, primeiro estou lendo o valor da intensidade da luz LDR. A declaração int senValue=analogRead(sensor) está lendo a tensão de saída do LDR no resistor de 10 k. O valor lido é armazenado em senValor variável.

  • Arduino é um dispositivo tolerante a 5 volts. Seus pinos gpio podem gerar sinal TTL de 5 volts. Da mesma forma, seus pinos gpio podem ser expostos ao sinal TTL de 5 v como entrada. Maior que 5 v pode destruir o pino gpio. Portanto, a tensão de entrada nos pinos do Arduino deve permanecer entre 0-5 volts. Forneci 5 volts ao LDR tendo em mente a restrição acima.
  • O canal analógico do Arduino também pode ler no máximo 5 volts. Arduino ADC (canal analógico para digital) tem largura de 10 bits ou resolução de 10 bits. Significa que pode gerar valores de até 1024. 1024 representa 5 volts. 512 representa 2,5 volts e vice-versa.
  • Portanto, se a tensão no resistor de 10 k for 2 volts, o canal analógico 0 do arduino irá lê-lo e nos fornecer um valor inteiro de 410. ((410/1024)*5v = 2v).

A mesma estratégia acima é aplicada no código. Quando a tensão no resistor de 10 k aumenta 1,5 volts (valor ADC 310), a campainha e o led são ativados e acionados com a mesma tensão que aparece no resistor de 10 k. A instrução if no código está verificando 1,5 volts ou valor inteiro 310 pelo ADC. A campainha e o LED funcionarão apenas em tensões superiores a 1,5 volts.

  • Ao contrário do arduino ADC, o arduino pwm fornece resolução de 8 bits. Então em analogWrite(*, senValue/4) função no código estou dividindo o senValor por 4 para trazer o senValor em resolução de 8 bits 0-255. Espero que faça sentido para você.

Projetos mais avançados envolvendo Buzzer e microcontrolador. Clique nos botões abaixo para visitar os projetos. O código-fonte e o diagrama de circuito de cada projeto são gratuitos.

Sistema de segurança residencial com Arduino

Alarme de segurança WiFi com nodemcu

Baixe o código do projeto. A pasta contém o arquivo de projeto arduino ide .ino. Por favor, forneça-nos seu feedback sobre o projeto. Escreva seus comentários abaixo na seção de comentários.
Código/Arquivos

contenido relacionado

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.