2014-1-7 18:48:20 [显示全部楼层]
222148浏览
楼主: Jane

[入门教程] Arduino教程 03 互动交通信号灯「DFR0100」

  [复制链接]

刘睿鹏  高级技师

发表于 2024-7-3 20:53:12

这是入门套件的器材吗?
回复

使用道具 举报

186105107987244  学徒

发表于 2025-5-1 18:47:10

微型舵机不能调角度呀,SG90就不行是不是~
回复

使用道具 举报

186105107987244  学徒

发表于 2025-5-1 18:48:18

还是2014年的教程,11年了...
回复

使用道具 举报

B5oi0T0lyJ7m  学徒

发表于 4 天前

根据本章内容做的,每行都写了备注,有问题请指教,.

  1. // 项目 - 交通信号灯  
  2. int carRed = 13;    // 汽车红灯引脚  
  3. int carYellow = 12; // 汽车黄灯引脚  
  4. int carGreen = 8;  // 汽车绿灯引脚  
  5. int button = 2;     // 按钮引脚  
  6. int pedRed = 7;     // 行人红灯引脚  
  7. int pedGreen = 4;   // 行人绿灯引脚  
  8. int crossTime = 5000; // 允许行人通过的时间(毫秒)  
  9. unsigned long changeTime; // 按钮按下后的时间  
  10.   
  11. void setup() {  
  12.     pinMode(carRed, OUTPUT);  //灯光设置为输出
  13.     pinMode(carYellow, OUTPUT);  //灯光设置为输出
  14.     pinMode(carGreen, OUTPUT);  //灯光设置为输出
  15.     pinMode(pedRed, OUTPUT);  //灯光设置为输出
  16.     pinMode(pedGreen, OUTPUT);  //灯光设置为输出
  17.     pinMode(button, INPUT); // 按钮设置为输入模式  
  18.   
  19.     // 初始状态设置  
  20.     digitalWrite(carRed, HIGH); // 车行红灯亮  
  21.     digitalWrite(pedGreen, HIGH);   // 人行绿灯亮
  22. }  
  23.   
  24. void loop() {  
  25.     int state = digitalRead(button);  //state状态=digitaLRead函数 读取状态(botton按钮)
  26.     // 检测按钮状态及时间间隔  
  27.     if (state == HIGH && (millis() - changeTime) > 5000) {    //if判断(state状态==高电平HIGH 与&& (系统运行时间millis() 减- 按钮按下去的时间chuangeTime) 小于> 5秒 5000
  28.         // 调用变灯函数  
  29.         changeLights();  
  30.     }  
  31. }  
  32.   
  33. void changeLights() {          //这里其实我目前还不是很理解.前面那个调用变灯函数和这里的关系.
  34. //给初始化的行人绿灯闪烁
  35.   for (int x = 0; x < 3; x++) {        //循环指令
  36.         digitalWrite(pedGreen, HIGH);  //打开行人绿灯
  37.         delay(400);                    //等待0.4秒
  38.         digitalWrite(pedGreen, LOW);   //关闭行人绿灯
  39.         delay(400);                    //等待0.4秒
  40.     }                                  //循环3次结束
  41.         digitalWrite(pedGreen,LOW);    //关闭行人绿灯
  42.         delay(500);                    //等待0.5秒
  43.         digitalWrite(pedRed,HIGH);     //开启行人红灯
  44.         delay(1000);                   //等待1秒,显得自然
  45.       for (int i = 0; i < 3; i++){     //循环指令
  46.         digitalWrite(carRed,LOW);      //关闭车辆红灯
  47.         delay(400);                    //等待0.4秒
  48.         digitalWrite(carRed,HIGH);     //打开车辆红灯
  49.         delay(400);                    //等待0.4秒
  50.       }                                //循环3次结束
  51.       digitalWrite(carRed,LOW);        //关闭车辆红灯
  52.       delay(500);                      //等待0.5秒
  53.       digitalWrite(carYellow,HIGH);    //打开车辆黄灯
  54.       delay(1000);                     //等待1秒
  55.       for (int o = 0; o < 3; o++){     //循环指令
  56.         digitalWrite(carYellow,LOW);   //车辆黄灯关闭
  57.         delay(400);                    //等待0.4秒
  58.         digitalWrite(carYellow,HIGH);  //车辆黄灯打开
  59.         delay(400);                    //等待0.4秒
  60.       }                                //循环3次结束
  61.       digitalWrite(carYellow,LOW);     //车辆黄灯关闭
  62.       delay(500);                      //等待0.5秒
  63.       digitalWrite(carGreen,HIGH);     //打开车辆绿灯
  64.       delay(10000);                     //等待10秒
  65.       for (int y = 0; y < 3; y++){     //循环指令
  66.       digitalWrite(carGreen,LOW);      //关闭车辆绿灯
  67.       delay(400);                      //等待0.4秒
  68.       digitalWrite(carGreen,HIGH);     //打开车辆绿灯
  69.       delay(400);                      //等待0.4秒
  70.       }                                //循环3次结束
  71.       digitalWrite(carGreen,LOW);      //关闭车辆绿灯
  72.       digitalWrite(pedRed,LOW);        //关闭行人红灯
  73.       delay(500);                      //等待0.5秒
  74.       digitalWrite(carRed,HIGH);       //打开车辆红灯,回到初始状态
  75.       digitalWrite(pedGreen,HIGH);     //打开行人绿灯.回到初始状态
  76.       
  77.     // 更新changeTime  
  78.     changeTime = millis();  
  79. }
复制代码


回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail