標(biāo)題:
使用ardiuno檢測16位旋轉(zhuǎn)撥碼開關(guān)方法(搖桿操作)
[打印本頁]
作者:
produce
時(shí)間:
2024-6-7 16:02
標(biāo)題:
使用ardiuno檢測16位旋轉(zhuǎn)撥碼開關(guān)方法(搖桿操作)
使用搖桿操作1602顯示屏檢測16位旋轉(zhuǎn)撥碼盤指數(shù)是否正常
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
LiquidCrystal_I2C lcd(0x3F,16,2);
int type = 0 ;
void setup() {
// 初始化串口通信
Serial.begin(9600);
lcd.init();
lcd.backlight();
pinMode(2,INPUT_PULLUP);
pinMode(3,INPUT_PULLUP);
pinMode(4,INPUT_PULLUP);
pinMode(5,INPUT_PULLUP);
pinMode(6,INPUT_PULLUP);
pinMode(7,OUTPUT);
}
void loop() {
// 讀取X軸和Y軸的模擬值
int xValue = analogRead(A0);
int yValue = analogRead(A1);
bool value_in=digitalRead(2);
bool value8=digitalRead(3);
bool value2=digitalRead(4);
bool value1=digitalRead(5);
bool value4=digitalRead(6);
int level=0;
char* i[] ={"rest 1/4","6 digital 2/4","7 digital 3/4","8 digital 4/4"} ;
int t = value_in;
lcd.setCursor(0,0); //設(shè)置顯示指針
lcd.print("bomapan ceshi");
if(yValue>900)
{
type--;
if(type<0)
{
type = 0;
}
delay(100);
}
if(yValue<20)
{
type++;
if(type>3)
{
type = 3;
}
delay(100);
}
lcd.setCursor(0,1); //設(shè)置顯示指針
lcd.print(i[type]);
if(type==2 && value_in==0 && level==0 && t==0)
{
if(value1==0 && value2==0 && value4==0 && value8==1)
{
lcd.setCursor(13,1);
lcd.print("yes");
if(value_in!=t)
{
level = 1;
t=value_in;
}
}
else
{
lcd.setCursor(13,1); //設(shè)置顯示指針
lcd.print(" no");
}
}
if(type==3 && value_in==0 && level==0 && t==0)
{
if(value1==1 && value2==1 && value4==1 && value8==0)
{
lcd.setCursor(13,1);
lcd.print("yes");
if(value_in!=t)
{
level = 1;
t=value_in;
}
}
else
{
lcd.setCursor(13,1); //設(shè)置顯示指針
lcd.print(" no");
}
}
if(type==1 && value_in==0 && level==0 && t==0)
{
if(value1==1 && value2==0 && value4==0 && value8==1)
{
lcd.setCursor(13,1);
lcd.print("yes");
if(value_in!=t)
{
level = 1;
t=value_in;
}
}
else
{
lcd.setCursor(13,1); //設(shè)置顯示指針
lcd.print(" no");
}
}
if(type==0 && value_in==0)
{
t=0;
level=0;
}
delay(200);
}
復(fù)制代碼
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1