圣源电子制作

 找回密码
 立即注册
查看: 7441|回复: 0
打印 上一主题 下一主题

Ardunio 入门教程-实验九 模拟交通信号灯

[复制链接]
跳转到指定楼层
楼主
发表于 2012-5-13 16:00:01 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
Ardunio 入门教程-实验九 模拟交通信号灯

实验用到的元件

实验用到的元件,红‘绿’黄 LED各一个 ,3个470欧姆的电阻,1个10K欧姆电阻,1个轻触,6根杜邦线,一块实验板。

原理图



连接图


  3个LED自由闪烁  当 按住轻触开关 停止闪烁。

实验演示视频:


代码:
  1. // Project 5

  2. int redPin = 2;
  3. int yellowPin = 3;
  4. int greenPin = 4;
  5. int buttonPin = 5;

  6. int state = 0;

  7. void setup()                    
  8. {
  9.   pinMode(redPin, OUTPUT);   
  10.   pinMode(yellowPin, OUTPUT);   
  11.   pinMode(greenPin, OUTPUT);     
  12.   pinMode(buttonPin, INPUT);
  13. }

  14. void loop()                    
  15. {
  16.   if (digitalRead(buttonPin))
  17.   {
  18.     if (state == 0)
  19.     {
  20.       setLights(HIGH, LOW, LOW);
  21.       state = 1;
  22.     }
  23.     else if (state == 1)
  24.     {
  25.       setLights(HIGH, HIGH, LOW);
  26.       state = 2;
  27.     }
  28.     else if (state == 2)
  29.     {
  30.       setLights(LOW, LOW, HIGH);
  31.       state = 3;
  32.     }
  33.     else if (state == 3)
  34.     {
  35.       setLights(LOW, HIGH, LOW);
  36.       state = 0;
  37.     }
  38.     delay(1000);
  39.   }
  40. }

  41. void setLights(int red, int yellow, int green)
  42. {
  43.   digitalWrite(redPin, red);
  44.   digitalWrite(yellowPin, yellow);
  45.   digitalWrite(greenPin, green);
  46. }  
  47.   
复制代码
回复

使用道具 举报

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

本版积分规则

QQ|手机版|联系我们|闽公网安备 35012102000020号|闽ICP备11020110号-1|圣源电子

GMT+8, 2024-11-23 17:46 , Processed in 0.045166 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表