实验一:交通灯实验
来自丢石头百科
Arduino
实验现象
- 绿灯亮5秒,绿灯熄灭,黄灯循环闪烁3次,红灯亮5秒,依次循环。
电路连接
参考程序
int red = 2; //定义数字2接口 int yellow = 3; //定义数字3接口 int green = 4; //定义数字4接口 void setup() { pinMode(red,OUTPUT); //定义红色小灯接口为输出接口 pinMode(yellow,OUTPUT); //定义黄色小灯接口为输出接口 pinMode(green,OUTPUT); //定义绿色小灯接口为输出接口 } void loop() { digitalWrite(green,HIGH); //点亮 绿灯 delay(5000); //延时5秒 digitalWrite(green,LOW); //熄灭 绿灯 for(int i=0;i<3;i++) //黄灯交替闪烁三次 { delay(500); //延时0.5 秒 digitalWrite(yellow,HIGH); //点亮 黄灯 delay(500); //延时0.5 秒 digitalWrite(yellow,LOW); //熄灭 黄灯 } delay(500); //延时0.5 秒 digitalWrite(red,HIGH); //点亮 红灯 delay(5000); //延时5 秒 digitalWrite(red,LOW); //熄灭 红灯 }
树莓派
电路连接
程序运行
Python
- 安装gpiozero库
- 可以使下面命令来安装该库
sudo apt update sudo apt install python3-gpiozero
- 其它树莓派上的系统可以使下面命令来安装该库:
sudo pip3 install gpiozero
- 运行以下语句可以查看树莓派GPIO口定义
pinout
- 下载树莓派参考例程,将文件解压后拷贝放在用户名目录下,运行
cd raspberrypi/1/python_gpiozero python led.py
- 此时可看见树莓派在正确运行交通灯程序,若想退出,按ctrl+C即可
- 指令说明:gpiozero.TrafficLights(red, amber, green, _options)
- 主要参数:
- red:红色LED连接的GPIO引脚
- amber:琥珀色LED连接的GPIO引脚
- Green:绿色LED连接的GPIO引脚
- pwm:
- 如果为True,则构造PWMLED实例来表示每个LED。
- 如果为False(默认值),则构造常规LED实例。
- Initial_value:
- 如果为False(默认值),则所有LED初始状态为关闭。
- 如果为“None”,则所有LED初始状态不稳定。
- 如果为True,则所有LED初始状态为关闭打开。
- 更多指令请查看gpiozero文档