//Created by cslg.
// 由cslg创建
// 引入LCD I2C库
#include <LiquidCrystal_I2C.h>
// 初始化LCD I2C对象,地址为0x27,16列2行
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
// 初始化LCD显示和背光
lcd.init(); // 初始化LCD
lcd.backlight(); // 打开LCD背光
// 设置LED引脚为输出模式
pinMode(2, OUTPUT); // 红色LED引脚
pinMode(3, OUTPUT); // 黄色LED引脚
pinMode(4, OUTPUT); // 绿色LED引脚
}
void loop() {
// 红色LED亮起,表示停止
lcd.setCursor(5, 0); // 设置光标到第1行第6列(列从0开始计数)
lcd.println("STOP!"); // 在LCD上显示"STOP!"
digitalWrite(2, HIGH); // 点亮红色LED
delay(11000); // 延迟11秒
digitalWrite(2, LOW); // 熄灭红色LED
lcd.clear(); // 清除LCD显示
// 黄色LED亮起,表示准备出发
lcd.setCursor(1, 0); // 设置光标到第1行第2列
lcd.println("Prepare to go!"); // 在LCD上显示"Prepare to go!"
digitalWrite(3, HIGH); // 点亮黄色LED
delay(1000); // 延迟1秒
digitalWrite(3, LOW); // 熄灭黄色LED
lcd.clear(); // 清除LCD显示
// 绿色LED亮起,表示可以出发
lcd.setCursor(6, 0); // 设置光标到第1行第7列
lcd.println("GO!"); // 在LCD上显示"GO!"
digitalWrite(4, HIGH); // 点亮绿色LED
delay(7000); // 延迟7秒
// 绿色LED闪烁三次
for (int i = 0; i < 3; i++) {
digitalWrite(4, LOW); // 熄灭绿色LED
delay(500); // 延迟0.5秒
digitalWrite(4, HIGH); // 点亮绿色LED
delay(500); // 延迟0.5秒
}
digitalWrite(4, LOW); // 最后熄灭绿色LED
lcd.clear(); // 清除LCD显示
// 黄色LED再次亮起,表示准备停止
lcd.setCursor(0, 0); // 设置光标到第1行第1列
lcd.println("Prepare to stop!"); // 在LCD上显示"Prepare to stop!"
digitalWrite(3, HIGH); // 点亮黄色LED
delay(1000); // 延迟1秒
digitalWrite(3, LOW); // 熄灭黄色LED
lcd.clear(); // 清除LCD显示
// 可以根据需要添加延迟或其他逻辑,以避免循环过快
}