亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

声音传感器激活 LED,带有用于声级数据的 LCD!

组件和用品

Arduino UNO
× 1
无焊面包板全尺寸
× 1
9V 电池(通用)
可选。
× 1
9V to Barrel Jack Connector
可选。
× 1
公/公跳线
× 1
公/母跳线
× 1
Adafruit 标准 LCD - 16x2 蓝底白字
我用的是 i2c 背包。
× 1
声音传感器模块 KY-038
× 1
5 毫米 LED:黄色
× 2
5 毫米 LED:绿色
× 4
5 毫米 LED:红色
× 2
5 毫米 LED:白色
× 4
SparkFun 5 毫米 LED:蓝色
× 4
电阻 100 ohm
对于白色和蓝色 LED。
× 8
电阻 220 ohm
对于红色和黄色 LED。
× 4
电阻 330 ohm
对于绿色 LED。
× 4

应用和在线服务

Arduino IDE

关于这个项目

该项目是关于监测扬声器正在释放、产生或输出(?)的声级数据。

啊啊……这是好奇心和无聊的产物。

我使用 [KY-038] 麦克风声音传感器模块来拾取我然后从串行监视器收集的值,传输到电子表格,按升序排列,然后选择比其他值更重复出现的值,或者只是我选择的值喜欢。

我从最低范围到中高范围挑选了一些变量。

最低值范围的变量将激活黄色 LED,中值变量将激活绿色 LED,高值变量将激活红色 LED。

当声音传感器达到或检测到某个 sensorValue 时,LED 将被激活或打开。

我还提供了一个可选的 LCD 来实时查看数值,只是为了好玩。

我基本上只是升级了这段代码

从这里添加了一些代码

还有这里

LCD 代码来自我之前的项目

和用户名 MAS3 的评论在这里

我遇到了一个问题,显示在 LCD 上的数据有一些来自过去 sensorValue 的剩余数字。比如,当前值应该是 619,这是串行监视器上的值,但它变成了 6194,因为过去的值是 1234。

在此处下载 .cpp 和 .h 文件。

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

要关注的社交媒体链接(我的意思是,如果您愿意):

Facebook - https://fb.me/HeathenHacks

推特 - https://twitter.com/HeathenHacks

Instagram - https://instagr.am/HeathenHacks

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

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

代码

  • SoundSensorLEDwData
SoundSensorLEDwDataArduino
我在代码上添加了注释以进行一些解释。我希望我知道我在做什么。 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 255LiquidCrystal8574.h"#define LCD_ADDRESS 0x27#def面包板上的灯泡 + Arduino 上的连接位置。// LED1 是面包板上的 LED 灯泡 1,3 是 Arduino 上的数字 PWM 3。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 soundSensor=2; // Arduino 上的数字引脚 2 是连接声音传感器“DO”的地方。int sensorValue =analogRead(A0); //这是声音传感器的“AO”连接的地方。boolean LEDStatus=false;void setup() { Serial.begin(9600); LCDi2C.begin(LCD_COLUMNS, LCD_ROWS, LCD_ADDRESS, BACKLIGHT); //这些是我们之前定义的。 pinMode(声音传感器,输入); //因为我们的声音传感器是一个输入设备。 pinMode(LED1,输出); pinMode(LED2,输出); pinMode(LED3,输出); pinMode(LED4,输出); pinMode(LED5,输出); pinMode(LED6,输出); pinMode(LED7,输出); pinMode(LED8,输出); pinMode(传感器值,输出); //sensorValue 被声明为输出,因为它将被打印在 LCD 和串行监视器上。}void loop() { int sensorValue=analogRead(sensorValue); int SensorData=digitalRead(soundSensor); if(SensorData=1){ if(LEDStatus==false){ LEDStatus=true; Serial.println(sensorValue); //这将打印在串行监视器上,以确保 LCD 上的数据相同。 LCDi2C.setCursor(0,0); //这是为了在添加sensorValue数据时使文本不会向上滚动并消失然后再次重新出现。 LCDi2C.print("声级数据:"); //将出现并保留在 LCD 第一行的文本。 LCDi2C.setCursor(0,1); //这是为了在添加sensorValue数据时使文本不会向上滚动并消失然后再次重新出现。 LCDi2C.print(sensorValue); // 将出现在 LCD 上的数据。 LCDi2C.print(" "); // 这是为了防止过去值中的额外数字出现在当前值上。比如过去的值是1234,那么现在应该是619,结果显示为6194。 } if(sensorValue>=750) { // sensorValue 大于等于XX。 XX 数字是从串行监视器上的最新数据中收集的。将其复制并粘贴到电子表格上,然后从最低到半最高音量级别排列。数字写入(LED8,高); // 如果您希望每个 LED 灯泡通过根据传感器值数据显示或点亮相应的 LED 灯泡来充当传感器,则可以使用来自每个 LED 灯泡的传感器的不同值。 } // 就像黄色 LED 灯泡会在传感器接收到低音量声音时点亮。最小音量级别,当音量级别正常时绿色 LED 灯泡亮起,当音量达到大声音量阈值时红色 LED 灯泡亮起。 else{ // 或者,如果您希望所有 LED 同时做出反应,您可以向所有 LED 添加相同的值。 LED状态=假; // 您还可以使用传感器值让 LED 跳舞。例如,随机重新排列传感器值。或者让 2 个 LED 以相同的值作出反应,而其他 LED 以其他值作出反应。数字写入(LED8,低); } if(sensorValue>=735) { digitalWrite(LED7,HIGH); } else{ LEDStatus=false;数字写入(LED7,低); } if(sensorValue>=725) { digitalWrite(LED6,HIGH); } else{ LEDStatus=false;数字写入(LED6,低); } if(sensorValue>=720) { digitalWrite(LED5,HIGH); } else{ LEDStatus=false;数字写入(LED5,低); } if(sensorValue>=715) { digitalWrite(LED4,HIGH); } else{ LEDStatus=false;数字写入(LED4,低); } if(sensorValue>=700) { digitalWrite(LED3,HIGH); } else{ LEDStatus=false;数字写入(LED3,低); } if(sensorValue>=675) { digitalWrite(LED2,HIGH); } else{ LEDStatus=false;数字写入(LED2,低); } if(sensorValue>=650) { digitalWrite(LED1,HIGH); } else{ LEDStatus=false;数字写入(LED1,低); } } else{ LEDStatus=false; //不确定我为什么添加这个。哈哈。数字写入(LED1,低);数字写入(LED2,低);数字写入(LED3,低);数字写入(LED4,低);数字写入(LED5,低);数字写入(LED6,低);数字写入(LED7,低);数字写入(LED8,低); } } 

示意图

只需按照电线从头到尾。

制造工艺

  1. 传感器融合算法使用汽车模型的原始数据
  2. Würth:具有预设功能的 3 轴加速度传感器
  3. 传感器数据与 Raspberry Pi 微处理器的集成
  4. 带 RPi 的线跟踪传感器
  5. 带有 RPi 的环境传感器 API
  6. 带有 Arduino 的用于飞行模拟器的 LCD 面板
  7. 将视觉数据与物联网集成的潜力
  8. 成功的传感器信息应用的六大要素
  9. Arch Systems 与 Flex 合作进行制造数据转换
  10. 具有皮肤可比特性的机器人软触觉传感器
  11. 国际空间站的 WiFi RSSI 传感器跟踪器
  12. 用于下一代基于 LED 的数据通信的材料