目的

使用哪吒A36合1Arduino套装制作一个噪音提醒装置。
9_1x.png

购买链接

哪吒A36合1Arduino套装

所需材料

1_1x.png
搭建图下载:
三合一噪音提示器.pdf

硬件连接图

将OLED显示屏安装在哪吒A主控盒的IIC端口。
OLED显示屏IIC端口_.png

编写程序

准备编程环境

编程环境准备步骤:请参考:编程环境准备及示例
下载并导入主控盒的库文件和依赖库文件后,还需要导入OLED显示屏的库文件:PlanetXOLED-main.zip
和OLED库的依赖库文件:Adafruit_SSD1306-master.zipAdafruit-GFX-Library-master.zipAdafruit_BusIO-master.zip

示例程序:

  1. // Language ArduinoC
  2. #include <PlanetXOLED.h>
  3. #include <NezhaA.h>
  4. NezhaA nezhaA; //创建一个NezhaA类的实例
  5. PlanetXOLED display; //创建一个PlanetXOLED类的实例
  6. int sound_level; //创建变量sound_level用于记录噪音传感器的返回值
  7. void setup() {
  8. nezhaA.begin();
  9. display.begin(); // 初始化OLED显示屏
  10. display.setTextSize(1); // Normal 1:1 pixel scale
  11. display.setTextColor(SSD1306_WHITE); // Draw white text
  12. }
  13. void loop() {
  14. sound_level = (nezhaA.getNoiseSensor()); // 将噪音传感器的返回值存入变量sound_level中
  15. display.clearDisplay(); // Clear the buffer
  16. display.setCursor(0, 0); // Start at top-left corner
  17. display.println(sound_level); // 设置屏幕显示变量sound_level的值
  18. display.display(); // 刷新显示
  19. if (sound_level < 90 || sound_level == 90) { // 判断变量sound_level的值是否小于或等于90
  20. nezhaA.showRGB(40, 243, 46); // 设置RGB灯显示绿色
  21. }
  22. if (sound_level > 90) { // 判断变量sound_level的值是否大于90
  23. nezhaA.showRGB(243, 40, 40); // 设置RGB灯显示红色
  24. }
  25. delay(2000);
  26. }

结果

通过OLED显示屏显示当前环境噪音值,当噪音小于或者等于90的时候,RGB灯亮绿色灯光,当噪音大于90的时候,RGB灯亮红色灯光。