#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;
}