سلام دوستان من یک کلید pushbotun رو به اردینو uno وصل کردم و یک پتانسیومتر رو هم به پایه A0 اردینو وصل کردم میخوام تو سریال مانیتور همینطور که اطلاعات پتانسیومترو میخونه وقتی کلید برای بار اول فشار دادم تو سریال مانیتور کلمه start بنویسه و دوباره همون کلیدرو فشار بدم بنویسه end ..از برنامه debounce مثال ها استفاده کردم ولی درست عمل نمیکنه یعنی بدون اینکه کلیدو بزنی کلمه start و end رو پشت سر هم مینویسه یا کلیدو فشار میدی اصلا عمل نمیکنه ..مقاومت پول اپ هم برا کلید گذاشتم ..برنامه رو در زیر میزارم یه نگاه بکنید ممنون میشم کمکم کنید
const int buttonpin=2;
int i=0;
int buttonstate;
int lastButtonstate = LOW;
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 50;
void setup() {
Serial.begin(9600);
pinMode(buttonpin,INPUT);
}
void loop() {
int reading = digitalRead(buttonpin);
int sensorValue = analogRead(A0);
if (reading != lastButtonstate) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
if (reading != buttonstate) {
buttonstate = reading;
if (buttonstate== HIGH){
i=i+1;}
if (i=1){Serial.println("start***start***start***star t***start***start***start***start***");}
if (i=2){i=0;
Serial.println("end***end***end***end***end***end* **end***end***end***end***end***end***");
}}}
Serial.println(sensorValue);
delay(200);
lastButtonstate = reading;
}
const int buttonpin=2;
int i=0;
int buttonstate;
int lastButtonstate = LOW;
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 50;
void setup() {
Serial.begin(9600);
pinMode(buttonpin,INPUT);
}
void loop() {
int reading = digitalRead(buttonpin);
int sensorValue = analogRead(A0);
if (reading != lastButtonstate) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
if (reading != buttonstate) {
buttonstate = reading;
if (buttonstate== HIGH){
i=i+1;}
if (i=1){Serial.println("start***start***start***star t***start***start***start***start***");}
if (i=2){i=0;
Serial.println("end***end***end***end***end***end* **end***end***end***end***end***end***");
}}}
Serial.println(sensorValue);
delay(200);
lastButtonstate = reading;
}
دیدگاه