AppInventor ile Arduino kontrolü
Arkadaşlar merhaba, bu uygulamamızda daha önce temellerini attığımız AppInventor kullanımını bir üst boyuta taşıyacağız ve Arduino ile haberleştireceğiz.
Uygulamamızda 3 adet ledi telefonumuza bluetooth ile bağlayarak kontrol edeceğiz. Bu projemizdeki 3 adet led daha sonra sizin projelerinizde 3 adet röle olup çeşitli şeyleri kontrol etmeye yarayabilir.
Uygulamamızda kullanacağımız malzemeler;
- Arduino Uno (Tercihe bağlı klon veya orijinal kullanabilirsiniz.)
- HC-06 Bluetooth Modülü
- 3 adet LED(renkleri size kalmış),
- 3 adet 220ohm direnç
Kullanacağımız araç-gereçler;
- Jumper Kablo
- 12V Şerit LED
- Breadboard
- Arduino UNO kablosu,
- Android bulunan bir cep telefonu veya tablet
Uygulamamız Arduino ve AppInventor olmak üzere iki bölümden oluşmaktadır.
Arduino Kısmı
Arduino kısmında devremiz aşağıdaki şekilde olmalı.
Devremizi kurduktan sonra sırada Arduino kodumuzu yazmak var. Kodu yazdıktan sonra uygulamamızı yapmaya geçeceğiz ve esas önemli olan kısım orası.
Arduino kodumuzdan kısaca bahsetmek gerekirse, Önce 3 adet ledimizi tanımlıyoruz. Daha sonra setup kısmında seri iletişimi başlatıp ledlerimizi çıkışolacak şekilde ayarlıyoruz. loop kısmında ise if komutu ile serialden gelen veri olup olmadığnıı kontrol ediyoruz. Eğer gelen verdi varsa bir değişkene bu veriyi kaydedip karşılaştırmaya başlıyoruz. Kırmızı ledi yakmak için telefondan 1 ifadesi gelirken kapatmak için 2 geliyor. Yeşil led için 3 ve 4 iken mavi led için 5 ve 6 aynı işlemi görüyor. En son karşılaştırma sonucunu yaptıktan sonra 100 milisaniye bekleyip tekrar kod başa dönüyor.
int KirmiziLed = 7; int YesilLed = 6; int MaviLed = 5; void setup() { Serial.begin(9600); pinMode(KirmiziLed,OUTPUT); pinMode(YesilLed,OUTPUT); pinMode(MaviLed,OUTPUT); } void loop() { if(Serial.available()>0){ char GelenVeri = Serial.read(); delay(100); if(GelenVeri = '1'){ digitalWrite(KirmiziLed,HIGH); } if(GelenVeri = '2'){ digitalWrite(KirmiziLed,LOW); } if(GelenVeri = '3'){ digitalWrite(YesilLed,HIGH); } if(GelenVeri = '4'){ digitalWrite(YesilLed,LOW); } if(GelenVeri = '5'){ digitalWrite(MaviLed,HIGH); } if(GelenVeri = '6'){ digitalWrite(MaviLed,LOW); } delay(100); } }
Arduino kodumuz bu şekilde. Sıra geldi asıl konumuz olan AppInventor koduna. Daha önce hiç AppInventor kullanmadıysanız sizi buraya alabiliriz.
AppInventor Kısmı
AppInventor kısmında önce kullanacağımız uygulamanın tasarımını gerçekleştiriyoruz. Bunun için bir adet LastPicker , Butonların düzenli gözükmesi için TableArrangement , 3 renk için 6 buton, ve 4 lable ile Bluetooth haberleşmesi için BluetoothClient elemanları aşağıdaki gibi konumlandırılmalıdır.
Elemanları üstteki gibi yerleştirdikten sonra block kısmına geliyoruz. Block kısmı da aşağıdaki şekilde olmalıdır.
Burada LastPicker elemanı bluetooth isim ve adreslerini listelemesi için kullanılmıştır. Bluetooth bağlandıktan sonra Label4 elemanı yani en alttaki label, Bluetooth Bağlantı şeklinde değişmektedir.
Telefon ile Arduino’yu bağlama işlemi bu kadar. Bundan sonraki bloklar butonlara basıldığında yollanacak değerler ile ilgili. Onlar için de aşağıdaki blokları kullanıyoruz.
Bu bloklar ile uygulamamız tamamlanmış oluyor. Uygulamamızı telefona apk olarak indirerek ya da QR okuyucu kullanıp indirerek kullanabiliriz.