2024-10-6 11:09:42 [显示全部楼层]
374浏览
查看: 374|回复: 0

[项目] Arduino智能硬件项目:智能红绿灯

[复制链接]
本帖最后由 SimpleChen 于 2024-10-7 12:11 编辑

所需器材:(将文字拷贝至创客商城即可找到,文末附有网页)
  • DFRduino UNO R3(含USB线|传感器扩展板)*1
  • Gravity: 数字食人鱼红色LED发光模块(Arduino兼容)*2
  • Gravity: 数字食人鱼黄色LED发光模块(Arduino兼容)*2
  • Gravity: 数字食人鱼绿色LED发光模块(Arduino兼容)*2
  • Gravity: 数字大按钮模块 黄色*1
  • Gravity: 数字蜂鸣器模块(Arduino兼容)*1

接线图:(为了使图片更加简洁,本图舍去了VCC和GND线的连接,并且本图中所有连线相交处均不连接,接线图在文末)

上传模式ArduinoC代码:(Mind+程序在文末)
  1. /*!
  2. * MindPlus
  3. * uno
  4. *
  5. */
  6. // 动态变量
  7. volatile float mind_n_switchValue;
  8. // 函数声明
  9. void DF_alarm();
  10. // 主程序开始
  11. void setup() {
  12. }
  13. void loop() {
  14.         mind_n_switchValue = digitalRead(2);
  15.         if ((mind_n_switchValue==1)) {
  16.                 digitalWrite(6, HIGH);
  17.                 digitalWrite(5, LOW);
  18.                 digitalWrite(4, LOW);
  19.                 digitalWrite(11, LOW);
  20.                 digitalWrite(9, HIGH);
  21.         }
  22.         else {
  23.                 digitalWrite(6, LOW);
  24.                 digitalWrite(5, HIGH);
  25.                 delay(1000);
  26.                 digitalWrite(5, LOW);
  27.                 digitalWrite(4, HIGH);
  28.                 digitalWrite(9, LOW);
  29.                 digitalWrite(11, HIGH);
  30.                 delay(5000);
  31.                 for (int index = 0; index < 10; index++) {
  32.                         digitalWrite(11, HIGH);
  33.                         DF_alarm();
  34.                         digitalWrite(11, LOW);
  35.                         DF_alarm();
  36.                 }
  37.         }
  38. }
  39. // 自定义函数
  40. void DF_alarm() {
  41.         for (int index = 0; index < 50; index++) {
  42.                 digitalWrite(12, HIGH);
  43.                 delay(1);
  44.                 digitalWrite(12, LOW);
  45.                 delay(1);
  46.         }
  47. }
复制代码


Python模式代码:(Mind+程序在文末)
  1. #  -*- coding: UTF-8 -*-
  2. # MindPlus
  3. # Python
  4. import time
  5. from pinpong.board import Pin
  6. from pinpong.board import Board
  7. # 自定义函数
  8. def alarm():
  9.     for i in range(1, 50, 1):
  10.         buzzerPin.write_digital(1)
  11.         time.sleep(0.001)
  12.         buzzerPin.write_digital(0)
  13.         time.sleep(0.001)
  14. Board("uno").begin()
  15. global greenLedPin1
  16. greenLedPin1 = 6
  17. global yellowLedPin1
  18. yellowLedPin1 = 5
  19. global redLedPin1
  20. redLedPin1 = 4
  21. global greenLedPin2
  22. greenLedPin2 = 11
  23. global redLedPin2
  24. redLedPin2 = 9
  25. global switchPin
  26. switchPin = 2
  27. global buzzerPin
  28. buzzerPin = 12
  29. global switchValue
  30. switchValue = 0
  31. greenLedPin1 = Pin(greenLedPin1, Pin.OUT)
  32. yellowLedPin1 = Pin(yellowLedPin1, Pin.OUT)
  33. redLedPin1 = Pin(redLedPin1, Pin.OUT)
  34. greenLedPin2 = Pin(greenLedPin2, Pin.OUT)
  35. redLedPin2 = Pin(redLedPin2, Pin.OUT)
  36. buzzerPin = Pin(buzzerPin, Pin.OUT)
  37. switchPin = Pin(switchPin, Pin.IN)
  38. while True:
  39.     switchValue = switchPin.read_digital()
  40.     if (switchValue == 1):
  41.         greenLedPin1.write_digital(1)
  42.         yellowLedPin1.write_digital(0)
  43.         redLedPin1.write_digital(0)
  44.         greenLedPin2.write_digital(0)
  45.         redLedPin2.write_digital(1)
  46.     else:
  47.         greenLedPin1.write_digital(0)
  48.         yellowLedPin1.write_digital(1)
  49.         time.sleep(1)
  50.         yellowLedPin1.write_digital(0)
  51.         redLedPin1.write_digital(1)
  52.         redLedPin2.write_digital(0)
  53.         greenLedPin2.write_digital(1)
  54.         time.sleep(5)
  55.         for i in range(1, 10, 1):
  56.             greenLedPin2.write_digital(1)
  57.             alarm()
  58.             greenLedPin2.write_digital(0)
  59.             alarm()
复制代码

运行效果:
上传程序后,主路的绿色LED灯和人行道的红色LED灯亮,当按键按下后,主路绿灯灭,黄灯亮,延时一段时间后,主路红灯亮,人行道红灯灭,绿灯亮,再延时一段时间,人行道绿灯闪烁,蜂鸣器发声,然后恢复到主路通行状态绿灯亮。










DFRduino UNO R3(含USB线_传感器扩展板)-套餐组合-DFRobot创客商城.zip

2.99 MB, 下载次数: 15

Gravity_数字食人鱼红色LED发光模块(Arduino兼容)-LED模块 -DFRobot创客商城.zip.zip

3.51 MB, 下载次数: 10

Gravity_ 数字食人鱼黄色LED发光模块(Arduino兼容)-DFRobot创客商城.zip

1.78 MB, 下载次数: 17

Gravity_数字食人鱼绿色LED发光模块(Arduino兼容)-LED模块 -DFRobot创客商城.zip.zip

2.78 MB, 下载次数: 10

Gravity_数字蜂鸣器模块(Arduino兼容)-传感器模组-DFRobot创客商城.zip

3.57 MB, 下载次数: 12

Gravity_数字大按钮模块黄色-传感器模组-DFRobot创客商城.zip

3.2 MB, 下载次数: 12

接线图 程序.zip

2.31 MB, 下载次数: 14

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail