İki butonlu sayıcıda algoritma hatası

Başlatan transistor, 21 Eylül 2024, 10:15:02

transistor

Merhaba arkadaşlar Arduino Uno ile C-CCS++ tabanlı programlamaya yeni başladım. Mehmet YALÇIN ASLAN'ın kitabını aldım çalışıyorum. iki buton ile tamsayı cinsinden sayıyı arttırıp eksiltmeye çalışıyorum ancak, arttırma konusunda sayı max seviyeye geldiği zaman 1'e dönmüyor. Eksiltme de problem yok.

#define buton0 A0
#define buton1 A1

int sayac = 0;

void setup() {
  Serial.begin(9600);
  pinMode(buton0, INPUT);
  pinMode(buton1, INPUT);
}
void loop() {
  if (digitalRead(buton0) == 1) {
    while (digitalRead(buton0) == 1) {
      delay(100);
    }
    sayac++;
    Serial.print("Sayı:");
    Serial.println(sayac);
  }
  if (digitalRead(buton1) == 1) {
    while (digitalRead(buton1) == 1) {
      delay(100);
    }
    sayac--;
    Serial.print("Sayı:");
    Serial.println(sayac);
  }

}

Pepe


mehmet

#2
Tanımladığınız değişkenin max değerini kaç olduğunu tahmin ediyorsunuz?

https://www.kodbloklari.com/c-dili-veri-tipleri-ve-degiskenler/

Mcu için küçük farklar olabilir.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
http://www.mehmetbilgi.net.tr
CC BY

Powered by EzPortal