#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int LED[]={32,25};
int key[]={4,5,15};
int sp=33;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(sp, OUTPUT);
for(int i=0;i<3;i++)
{
pinMode(key[i], INPUT_PULLUP);
}
for(int i=0;i<2;i++)
{
pinMode(LED[i], OUTPUT);
digitalWrite(LED[i], LOW);
}
}
void loop()
{
lcd.init();//lcd初始化
lcd.backlight();//lcd背景灯亮
key_led();
}
void key_led()
{
//左转
if(digitalRead(key[0])==LOW)
{
/*delay(10);
while(digitalRead(key[0])==LOW);
delay(10);*/
lcd.setCursor(0,0);
lcd.print("L");
digitalWrite(LED[0], HIGH);
delay(500);
digitalWrite(LED[0], LOW);
delay(500);
}
//右转
if(digitalRead(key[1])==LOW)
{
/*delay(10);
while(digitalRead(key[1])==LOW);
delay(10);*/
lcd.setCursor(0,0);
lcd.print("R");
digitalWrite(LED[1], HIGH);
delay(500);
digitalWrite(LED[1], LOW);
delay(500);
}
//双闪
if(digitalRead(key[2])==LOW)
{
/*delay(10);
while(digitalRead(key[2])==LOW)
delay(10);*/
lcd.setCursor(0,0);
lcd.print("W");
for(int i=0;i<2;i++)
{
digitalWrite(LED[i], HIGH);
}
delay(500);
for(int i=0;i<2;i++)
{
digitalWrite(LED[i], LOW);
}
delay(500);
for(int i=0;i<10;i++)
{
digitalWrite(sp, HIGH);
delayMicroseconds(261.60);
digitalWrite(sp,LOW);
delayMicroseconds(261.60);
}
}
}