Bu uygulamamızda daha önce nasıl kullanacağımızı öğrendiğimiz butonu kullanacağız. Butona her basıldığında ilk başta tanımlayacağımız değişkenin değerini bir arttıracağız. Böylece butona kaç kere basıldığını sayacağız. Aynı zamanda butona basıldığında, butona kaç kere basıldığını bilgisayara da göndereceğiz.

Bu uygulamayı yapmak için ihtiyacınız olan malzemeler:

  • 1 x Arduino
  • 1 x Buton
  • 1 x 10K ohm direnç
  • 1 x breadboard

const int buton = 6; /* Butonun bağlı olduğu pin */
int sayac = 0; /* butona basılma sayısını tutacak değişken */
int butonDurumu = 0; /* Butonun durumu */

void setup() {
 pinMode(buton, INPUT);
 Serial.begin(9600);
}

void loop() {
 butonDurumu = digitalRead(buton);
 if (butonDurumu == HIGH) {
   delay(10); /* dalgalanmalar için biraz bekleyelim */
   sayac ++; /* sayaç = sayaç + 1 yani sayaç değeri bir arttırıldı */
   Serial.print("Butona ");
   Serial.print(sayac); /* sayaç değerimizi ekrana yazdırıyoruz */
   Serial.println(". defa basildi.");
   while(butonDurumu == HIGH){ /* Butona basili olduğu surece bekle */
     butonDurumu = digitalRead(buton); /* Butonun durumunu kontrol et */
   }
   delay(10); /* dalgalanmalar için biraz bekleyelim */
 }
}

Şu ana kadar yaptığımız uygulamalarda Arduino’dan bilgisayara veri yolladık. Şimdi de bilgisayardan Arduino’ya veri yollayalım. Bilgisayardan veri yollamak için Serial Monitor penceresindeki metin kutusunu kullanacağız.

Aşağıda yazdığımız kodlar, bilgisayardan Arduino’ya yolladığımız mesajları okuyacak ve okuduğu mesajları aynı şekilde bilgisayara geri yollayacaktır.

char gelenVeri = 0; /* gelen verinin kaydedileceği değişken */
void setup() {
   Serial.begin(9600); /* haberleşmeyi başlatalım */
}
void loop() {
   if (Serial.available() > 0) { /* bilgisayardan veri gelmesini bekliyoruz */
   gelenVeri = Serial.read(); /* bilgisayardan gelen karakteri oku */
   Serial.print("gelen veri: ");
   Serial.println(gelenVeri); /* bilgisayardan gelen veriyi bilgisayara geri yolluyoruz */
   }
}

 

Shares:

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir