#include <LiquidCrystal.h>
uint8_t openState = 0;
uint8_t openState2 = 0;
uint8_t cycle_index = 0;
uint8_t for_dis = 5;
uint8_t bk_dis = 6;
uint8_t left_angle = 10;
uint8_t right_angle = 12;
uint8_t light;
uint8_t music;
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
void choose_mode()
{
if(digitalRead(2) == 1)//选项一
{ //检测按键是否按下
delay(100); //延时去抖动
if(digitalRead(2) == 1){
openState++;
}
while(!digitalRead(2) == 0){;}
}
if(digitalRead(5) == 1)//选项二
{ //检测按键是否按下
delay(100); //延时去抖动
if(digitalRead(5) == 1){
openState2++;
}
while(!digitalRead(3) == 0){;}
}
if(openState==1)
{
if(digitalRead(3) == 1)
{ //检测按键是否按下
delay(100); //延时去抖动
if(digitalRead(3) == 1){
cycle_index++;
}
while(!digitalRead(3) == 0){;}
}
if(digitalRead(4) == 1)
{ //检测按键是否按下
delay(100); //延时去抖动
if(digitalRead(4) == 1){
cycle_index--;
}
while(!digitalRead(3) == 0){;}
}
}
if(openState==2)
{
if(digitalRead(3) == 1)
{ //检测按键是否按下
delay(100); //延时去抖动
if(digitalRead(3) == 1){
for_dis++;
}
while(!digitalRead(3) == 0){;}
}
if(digitalRead(4) == 1)
{ //检测按键是否按下
delay(100); //延时去抖动
if(digitalRead(4) == 1){
for_dis--;
}
while(!digitalRead(3) == 0){;}
}
}
if(openState==3)
{
if(digitalRead(3) == 1)
{ //检测按键是否按下
delay(100); //延时去抖动
if(digitalRead(3) == 1){
bk_dis++;
}
while(!digitalRead(3) == 0){;}
}
if(digitalRead(4) == 1)
{ //检测按键是否按下
delay(100); //延时去抖动
if(digitalRead(4) == 1){
bk_dis--;
}
while(!digitalRead(3) == 0){;}
}
}
if(openState==4)
{
if(digitalRead(3) == 1)
{ //检测按键是否按下
delay(100); //延时去抖动
if(digitalRead(3) == 1){
left_angle++;
}
while(!digitalRead(3) == 0){;}
}
if(digitalRead(4) == 1)
{ //检测按键是否按下
delay(100); //延时去抖动
if(digitalRead(4) == 1){
left_angle--;
}
while(!digitalRead(3) == 0){;}
}
}
if(openState==5)
{
if(digitalRead(3) == 1)
{ //检测按键是否按下
delay(100); //延时去抖动
if(digitalRead(3) == 1)
{
right_angle++;
}
while(!digitalRead(3) == 0){;}
}
if(digitalRead(4) == 1)
{ //检测按键是否按下
delay(100); //延时去抖动
if(digitalRead(4) == 1)
{
right_angle--;
}
while(!digitalRead(3) == 0){;}
}
}
}
void setup() {
lcd.begin(16,2);
lcd.print("Hello World!");
pinMode(2,INPUT);
pinMode(3,INPUT);
pinMode(4,INPUT);
pinMode(5,INPUT);
pinMode(6,INPUT);
}
void loop() {
choose_mode();
lcd.clear();
switch(openState)
{
case 1:
lcd.print("cycle_index:" + String(cycle_index));
delay(500);
break;
case 2:
lcd.print("for_dis:" + String(for_dis));
delay(500);
break;
case 3:
lcd.print("bk_dis:" + String(bk_dis));
delay(500);
break;
case 4:
lcd.print("left_angle:" + String(left_angle));
delay(500);
break;
case 5:
lcd.print("right_angle:" + String(right_angle));
delay(500);
break;
case 6:
lcd.print("light");
delay(500);
break;
case 7:
lcd.print("music");
delay(500);
break;
}
if(openState == 8) openState = 1;
lcd.clear();
switch(openState2)
{
case 1:
lcd.print("sanjiaoxing");
delay(500);
break;
case 2:
lcd.print("zhengfangxing");
delay(500);
break;
}
if(openState2 == 8) openState2 = 1;
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
lcd:VSS
lcd:VDD
lcd:V0
lcd:RS
lcd:RW
lcd:E
lcd:D0
lcd:D1
lcd:D2
lcd:D3
lcd:D4
lcd:D5
lcd:D6
lcd:D7
lcd:A
lcd:K
r1:1
r1:2
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
r2:1
r2:2
rgb1:VDD
rgb1:DOUT
rgb1:VSS
rgb1:DIN
btn2:1.l
btn2:2.l
btn2:1.r
btn2:2.r
btn3:1.l
btn3:2.l
btn3:1.r
btn3:2.r
btn4:1.l
btn4:2.l
btn4:1.r
btn4:2.r
btn5:1.l
btn5:2.l
btn5:1.r
btn5:2.r
r3:1
r3:2
r4:1
r4:2
r5:1
r5:2
r6:1
r6:2