Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

LEDs ativados por sensor de som com LCD para dados de nível de som!

Componentes e suprimentos

Arduino UNO
× 1
Placa de ensaio sem solda em tamanho real
× 1
Bateria de 9 V (genérica)
Opcional.
× 1
9V para conector Barrel Jack
Opcional.
× 1
Jumper Macho / Macho
× 1
Cabos de jumper masculino / feminino
× 1
Adafruit LCD padrão - 16x2 branco em azul
Usei aquele com uma mochila i2c.
× 1
Módulo Sensor de Som KY-038
× 1
LED de 5 mm:amarelo
× 2
LED de 5 mm:Verde
× 4
LED de 5 mm:Vermelho
× 2
LED de 5 mm:branco
× 4
SparkFun LED de 5 mm:azul
× 4
Resistor 100 ohm
Para os LEDs branco e azul.
× 8
Resistor 220 ohm
Para os LEDs vermelho e amarelo.
× 4
Resistor 330 ohm
Para os LEDs verdes.
× 4

Aplicativos e serviços online

Arduino IDE

Sobre este projeto


Este projeto visa monitorar os dados de nível de som que estão sendo liberados, produzidos ou emitidos (?) Pelos alto-falantes.

Aaah ... isso é um produto da curiosidade e do tédio.

Usei um módulo sensor de som de microfone [KY-038] para captar os valores que então reuni do Monitor Serial, transferi para uma planilha, organizados em ordem crescente e depois escolhi os valores que ocorrem mais repetidamente do que outros ou apenas os que eu Como.

Eu escolhi uma série de variáveis ​​da faixa mais baixa até a faixa média e alta.

As variáveis ​​de menor faixa de valores ativarão os LEDs amarelos, as médias ativarão os verdes e as altas ativarão os vermelhos.

Os LEDs serão ativados ou ligados quando determinado sensorValue for atingido ou detectado pelo sensor de som.

Também incluí um LCD opcional para visualizar os valores em tempo real apenas por diversão.

Basicamente, acabei de atualizar este código

Adicionados alguns códigos a partir daqui

E aqui

Os códigos LCD são do meu projeto anterior

E o comentário do nome de usuário MAS3 aqui

Encontrei um problema em que os dados que aparecem no LCD têm alguns dígitos restantes do sensorValue anterior. Por exemplo, quando o valor atual deveria ser 619 que é o que está no Monitor Serial, mas se torna 6194, porque o valor anterior era 1234.

Baixe os arquivos .cpp e .h aqui.

*************************************************** ****************************

Links de mídia social a seguir (quer dizer, se você quiser):

Facebook - https://fb.me/HeathenHacks

Twitter - https://twitter.com/HeathenHacks

Instagram - https://instagr.am/HeathenHacks

*************************************************** ****************************

https://drive.google.com/file/d/15NRocdFjr-DG7Hu2zyyvSvRz7bcncvU7/




Código

  • SoundSensorLEDwData
SoundSensorLEDwData Arduino
Eu adicionei comentários sobre o código para alguma explicação. Espero saber o que estou fazendo. lol.
 #include "Arduino.h" #include "LiquidCrystal_PCF8574.h" #define LCD_ADDRESS 0x27 # define LCD_ROWS 2 # define LCD_COLUMNS 16 # define SCROLL_DELAY 150 # define BACKLIGHT 255LiquidCrystal_PCF8574 0 x 27 # define LCD_ROWS 2 # define LCD_COLUMNS 16 # define SCROLL_DELAY 150 # define BACKLIGHT 255LiquidCrystal_PCF8574 e posição do LCDi2C; // bulbo no breadboard + Onde está conectado no Arduino.// LED1 é o LED Bulb 1 no breadboard e 3 é Digital PWM 3 no Arduino.int LED1 =3; int LED2 =4; int LED3 =5; int LED4 =6; int LED5 =7; int LED6 =8; int LED7 =9; int LED8 =10; int LEDsensor =2; // Pino digital 2 no Arduino é onde o "DO" do sensor de som está conectado.int sensorValue =analogRead (A0); // É aqui que o "AO" do Sensor de som está conectado.boolean LEDStatus =false; void setup () {Serial.begin (9600); LCDi2C.begin (LCD_COLUMNS, LCD_ROWS, LCD_ADDRESS, BACKLIGHT); // Estes são os que definimos anteriormente. pinMode (soundSensor, INPUT); // Porque nosso sensor de som é um dispositivo de entrada. pinMode (LED1, SAÍDA); pinMode (LED2, SAÍDA); pinMode (LED3, SAÍDA); pinMode (LED4, SAÍDA); pinMode (LED5, SAÍDA); pinMode (LED6, SAÍDA); pinMode (LED7, SAÍDA); pinMode (LED8, SAÍDA); pinMode (sensorValue, OUTPUT); // sensorValue é declarado como uma saída porque será impresso no LCD e no monitor serial.} void loop () {int sensorValue =analogRead (sensorValue); int SensorData =digitalRead (soundSensor); if (SensorData =1) {if (LEDStatus ==false) {LEDStatus =true; Serial.println (sensorValue); // Isso será impresso no Monitor Serial apenas para garantir que os dados no LCD sejam os mesmos. LCDi2C.setCursor (0,0); // Isso faz com que o texto não role para cima e desapareça e reapareça novamente quando os dados sensorValue estiverem sendo adicionados. LCDi2C.print ("SoundLevel Data:"); // O texto que aparecerá e permanecerá na Linha 1 do LCD. LCDi2C.setCursor (0,1); // Isso faz com que o texto não role para cima e desapareça e reapareça novamente quando os dados sensorValue estiverem sendo adicionados. LCDi2C.print (sensorValue); // Os dados que irão aparecer no LCD. LCDi2C.print (""); // Isso evita que um dígito extra do valor anterior apareça no valor atual. Por exemplo, quando o valor anterior é 1234, a corrente deve ser 619, mas aparece como 6194.} if (sensorValue> =750) {// sensorValue maior ou igual a XX. Os números XX são coletados a partir dos dados mais recentes no Monitor Serial. Copiei e colei em uma planilha e, a seguir, organizei do nível de volume de som mais baixo para o semiaior. digitalWrite (LED8, ALTO); // Você pode usar os diferentes valores do sensor em cada lâmpada LED se quiser que ele atue como um sensor exibindo ou acendendo as lâmpadas LED correspondentes de acordo com os dados dos valores do sensor. } // Como as lâmpadas LED amarelas acenderão quando o sensor captar um som de baixo volume, também conhecido como. Nível mínimo de volume, as lâmpadas LED verdes acendem quando o nível de volume está OK e as lâmpadas LED vermelhas acendem quando o volume atinge o limite de volume alto. else {// Alternativamente, você pode simplesmente adicionar o mesmo valor a todos os LEDs se quiser que todos eles reajam ao mesmo tempo. LEDStatus =falso; // Você também pode brincar com os valores do sensor para fazer os LEDs dançarem. Reorganizar os valores do sensor aleatoriamente, por exemplo. Ou fazer 2 LEDs reagirem com o mesmo valor e outros LEDs reagirem a outros valores. digitalWrite (LED8, BAIXO); } if (sensorValue> =735) {digitalWrite (LED7, HIGH); } else {LEDStatus =false; digitalWrite (LED7, BAIXO); } if (sensorValue> =725) {digitalWrite (LED6, HIGH); } else {LEDStatus =false; digitalWrite (LED6, BAIXO); } if (sensorValue> =720) {digitalWrite (LED5, HIGH); } else {LEDStatus =false; digitalWrite (LED5, BAIXO); } if (sensorValue> =715) {digitalWrite (LED4, HIGH); } else {LEDStatus =false; digitalWrite (LED4, LOW); } if (sensorValue> =700) {digitalWrite (LED3, HIGH); } else {LEDStatus =false; digitalWrite (LED3, LOW); } if (sensorValue> =675) {digitalWrite (LED2, HIGH); } else {LEDStatus =false; digitalWrite (LED2, LOW); } if (sensorValue> =650) {digitalWrite (LED1, HIGH); } else {LEDStatus =false; digitalWrite (LED1, BAIXO); }} else {LEDStatus =false; // Não tenho certeza porque adicionei isso. Lol. digitalWrite (LED1, BAIXO); digitalWrite (LED2, LOW); digitalWrite (LED3, LOW); digitalWrite (LED4, LOW); digitalWrite (LED5, BAIXO); digitalWrite (LED6, BAIXO); digitalWrite (LED7, BAIXO); digitalWrite (LED8, BAIXO); }} 

Esquemas

Basta seguir os fios de ponta a ponta.

Processo de manufatura

  1. Würth:sensor de aceleração de 3 eixos com funcionalidades predefinidas
  2. A integração dos dados do sensor com o microprocessador Raspberry Pi
  3. Sensor de rastreamento de linha com RPi
  4. API do sensor ambiental com um RPi
  5. O potencial para integrar dados visuais com a IoT
  6. Seis fundamentos para aplicativos bem-sucedidos informados por sensores
  7. Arch Systems faz parceria com Flex para transformação de dados de manufatura
  8. Sensor tátil macio com características comparáveis ​​à pele para robôs
  9. Rastreador de sensor RSSI WiFi para a ISS
  10. Materiais para comunicações de dados baseadas em LED de última geração