2015-11-17 11:02:59 [显示全部楼层]
8840浏览
查看: 8840|回复: 7

[讨论] 交通信号灯学习

[复制链接]
交通信号灯学习图1
包装盒及配件质量看起来都不错
交通信号灯学习图2


代码
  1. // 汽车灯
  2. int carRed = 12;
  3. int carYellow = 10;
  4. int carGreen = 8;
  5. // 开关
  6. int button = 7;
  7. unsigned long changeTime; // 按钮按下后的时间
  8. // 行人灯
  9. int pedRed = 1;
  10. int pedGreen = 3;
  11. int crossTime = 5000; // 行人通过时间
  12. // 等待变灯时间
  13. int waitTime = 5000;
  14. void setup() {
  15.   setOutput(1);
  16.   setOutput(3);
  17.   setOutput(8);
  18.   setOutput(10);
  19.   setOutput(12);
  20.   // 设置按钮为输入
  21.   pinMode(button, INPUT);
  22.   // 初始状态
  23.   // 汽车
  24.   digitalWrite(carGreen, HIGH);  // 绿灯亮
  25.   // 行人
  26.   digitalWrite(pedRed, HIGH);    // 红灯亮
  27. }
  28. // 设置指定针脚输出
  29. void setOutput(int pin) {
  30.   pinMode(pin, OUTPUT);
  31. }
  32. // 改变信息号灯
  33. void changeLights() {
  34.   // 汽车
  35.   digitalWrite(carGreen, LOW);  // 绿灯灭
  36.   digitalWrite(carYellow, HIGH); // 黄灯亮
  37.   delay(2000);
  38.   digitalWrite(carYellow, LOW); // 黄灯灭
  39.   digitalWrite(carRed, HIGH);   // 红灯亮
  40.   delay(1000);
  41.   // 行人
  42.   digitalWrite(pedRed, LOW);    // 红灯灭
  43.   digitalWrite(pedGreen, HIGH); // 绿灯亮
  44.   // 等待行人通过
  45.   delay(crossTime);
  46.   // 闪烁
  47.   pedLightFlash();
  48.   digitalWrite(pedRed, HIGH); // 红灯亮
  49.   delay(500);
  50.   // 汽车
  51.   digitalWrite(carRed, LOW);    // 红灯灭
  52.   digitalWrite(carYellow, HIGH); // 黄灯亮
  53.   delay(1000);
  54.   digitalWrite(carYellow, LOW); // 黄灯灭
  55.   digitalWrite(carGreen, HIGH); // 绿灯亮
  56.   changeTime = millis();        // 记录上一次灯变化的时间
  57. }
  58. // 行人灯闪烁
  59. void pedLightFlash() {
  60.   for (int i = 0; i < 10; i++) {
  61.     digitalWrite(pedGreen, HIGH);
  62.     delay(250);
  63.     digitalWrite(pedGreen, LOW);
  64.     delay(250);
  65.   }
  66. }
  67. void loop() {
  68.   int state = digitalRead(button);
  69.   if (state == HIGH && (millis() - changeTime) > waitTime) {
  70.     changeLights();
  71.   }
  72. }
复制代码
第一次接线,开关忘记接电阻了,信号灯自动切换,加上电阻就好了,还是不够细心。
产品及文档都不错。继续学习。


何处不江南  初级技匠

发表于 2015-11-17 11:15:06

不错不错
回复

使用道具 举报

Juice  高级技师

发表于 2015-11-17 11:40:17

哈哈哈~~~我也是从点灯开始入门的  不过现在依旧是入门阶段
回复

使用道具 举报

dsweiliang  初级技神

发表于 2015-11-17 13:55:49

开始入门咯~
回复

使用道具 举报

丄帝De咗臂  高级技匠

发表于 2015-11-18 07:37:20

又有入门的了
回复

使用道具 举报

venjiang  学徒
 楼主|

发表于 2015-11-18 09:34:30

有多少坚持玩的?
回复

使用道具 举报

luna  初级技神

发表于 2015-11-18 17:12:04


我玩了2遍好像,基本的硬件理论掌握了,才是硬件玩家的开始哦~~就可以造自己喜欢的应用了,可以看看这里,有什么激发灵感的~https://mc.dfrobot.com.cn/portal.php?mod=topic&topicid=1
回复

使用道具 举报

Geemi  初级技匠

发表于 2016-1-11 14:42:14

路过………………
回复

使用道具 举报

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

本版积分规则

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

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
关于楼主

楼主的其它帖子

上海智位机器人股份有限公司 沪ICP备09038501号-4

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

mail