Pinoo ile Bluetooth Kontrollü Gece Lambası
Projenin Amacı: Pinoo Kontrol Kartını kullanarak bluetooth modülü ve ledler ile bluetooth kontrollü gece lambası sistemi oluşturmak.
Süre: 2 ders
Yaş Grubu: 7 yaş ve üzeri
Pinoo Seti: Maker set ve tam set
Kazanımları:
- Pinoo kontrol kartını kodlamayı öğrenir
- Bluetooth modülünü kodlamayı öğrenir.
- Led modülü kodlamayı öğrenir.
- Algoritma kurma becerisi gelişir.
- Kodlama becerisi gelişir.
Kullanılması Gereken Malzemeler: Android işletim sistemine sahip bir cep telefonu, mblock 3 programı, Pinoo kontrol kartı, bluetooh modülü, 3 adet farklı renklerde led modül, bağlantı kabloları.
Tasarım için Gereken Malzemeler: Üç adet tuvalet kağıdı rulosu,Yeşil elişi kağıdı,Renkli karton,Makas,Maket bıçağı,Silikon tabancası
Proje Yapılışı:
- Ruloların dış kısmını el işi kağıdı ile kaplıyoruz.
- Herhangi bir rulonun alt kısmına kullanacağımız kablo için küçük bir pencere kesiyoruz.
- Tüm rulolara ışığın rulo içerisinden daha güçlü gözükebilmesi için minik pencereler açıyoruz.Biz burada maket bıçağından faydalanarak pencerelerimizi oluşturduk.
- Zeminin üzerine rulolarımızı sabitliyoruz.Burada önemli olan sağ ve sola gelecek olan ruloları hafif eğimli şekilde yapıştırmamız gerektiği.
- Zemin ile rulolar arasında bulunan boşluklardan kabloları geçirip ledlerimizi bağlıyoruz.
- Ruloların üstünü kapatıp süslüyoruz.
- Bağlantılarımız yapalım.Ledlerimiz için 1.2 ve 3 numaralı(mor renkli)girişlere bağlantılarımızı gerçekleştiriyoruz. Bluetooth modülümüzü ise Pinoo kartımız üzerinde( 1 numaralı girişin önündeki) bulunan uygun girişe direkt olarak bağlayabiliriz.
-
Bağlantılarımızı tamamladık şimdi kodlama kısmına geçelim.Bunun için mblock-3 uygulamasını kullanacağız.
- Pinoo Kontrol Kartımızı bağlantı kablosu yardımıyla bilgisayara bağlayalım ve Mblock3 uygulamasına giriş yapalım. Daha sonra Pinoo Kontrol Kartımızı bilgisayar ile tanıştıralım. Bunun için öncelikle Bağlan sekmesinden seri port seçeneğine tıklıyoruz. Daha sonra COM6'yı seçiyoruz. (Bilgisayara ve porta göre rakam farklılık gösterebilir.)
- Seri port bağlantısını yaptıktan sonra kartlar sekmesinden kullanacağımız kartı seçelim. Biz Arduino’nun Nano modeli ile çalışıyoruz.
- Pinoo uzantısını bilgisayarımıza ekleyebilmek için uzantılar sekmesinden uzantıları yönet seçeneğine tıklıyoruz. Açılan pencerede arama motoruna “Pinoo” yazıyoruz ve çıkan sonuca indir dememiz yeterli. Bilgisayarımıza yüklendi.
-
Uzantılar sekmesine tekrar dönüyoruz. Burada Pinoo seçeneğine tıklıyoruz. Pinoo uzantısı ile kodlarımızı yazacağız.
- Kodlama kısmında; Bluetooth modülü kendine özgü olan kod bloklarını yalnızca arduino karta yüklemesi durumunda çalıştırabildiği için kodlarımıza robotlar sekmesindeki Pinoo program bloğu ile başlıyoruz.
-
Bluetooth modülü ve telefonumuz arasındaki iletişimi 0 ve 1 verileri ile sağlayacağız. Bu yüzden RX-Tx karşında yazan rakamları silip yerine RX için 0 TX için 1 yazıyoruz.
- Ledlerimizi kontrol edebilmemiz için kullanılabilecek bir bluetooth bağlantısının olup olmadığını denetlememiz gerekmektedir. Bunun için kontrol sekmesinden eğer bloğu alıyoruz ve içerisine robotlar sekmesinden Pinoo BT Bağlantı Kuruldu Mu? bloğunu yerleştiriyoruz.
- 0 ve 1 verileri üzerinden haberleşme işlemi gerçekleştireceğimiz için sayısal veriler üzerinde çalışacağız. Aldığımız veya gönderdiğimiz bu sayısal veriyi okuyabilmek için robotlar sekmesinden Pinoo BT'den Gelen Sayısal Veriyi Oku kod bloğunu alıyoruz.
-
Bluetooth'tan gelen sayısal veriye (0-1) göre işlemler yapabilmemiz için bize hangi verinin geldiğini bilmemiz gerekiyor. Eğer gelen sayısal veri 1'e eşit ise ifadesini yazmak için kontrol sekmesinden eğer bloğunu ve işlemler sekmesinden eşitlik bloğunu alıyoruz. Son olarak robotlar sekmesinden sayı veri bloğunu alıp karşısına 1 yazarak kodu tamamlıyoruz.
- Eğer gelen veri 1'e eşit ise 1,2 ve 3'üncü pindeki ledler yansın istiyoruz. Robotlar sekmesinden led durumu ile ilgili kod bloğunu alıyoruz. Pin numarasını üç led için güncelleyip LED yüksek durumuna getiriyoruz.
- Aynı işlemi bu kez de sayı veri=0 ifadesi için yapıyoruz.
- Eğer gelen veri 0'a eşit ise 1,2 ve 3'üncü pindeki ledler bu kez sönsün istiyoruz. Robotlar sekmesinden led durumu ile ilgili kod bloğunu alıyoruz. Pin numarasını üç led için güncelleyip LED düşük durumuna getiriyoruz.
- Tüm işlemlerimizin bir kez değil sürekli olarak yapılmasını istediğimiz için bağlantı değerlerimizin olduğu blok hariç diğer tüm kod bloklarını kontrol sekmesindeki sürekli tekrarla kod bloğunun içerisine alıyoruz.
-
Projemizin çalışmasında herhangi bir problem olup olmadığını anlamak için kodlarımızı Arduino içerisine yüklememiz gerekiyor. Bunun için Pinoo programı kod bloğuna sağ tıklayarak Arduino’ya yükle seçeneğine tıklıyoruz.
Bu aşamada bluetooth modülünü kart üzerinden çıkartıyoruz.
- Kodların karta yüklenmesini bekliyoruz. Yükleme tamamlandıktan sonra pencereyi kapatıyoruz .
- Bluetooth modülümüzü Pinoo kartın üzerine tekrar takıyoruz. Android cep telefonuna Google Play Store'dan Arduino Bluetooth Controller uygulamasını indiriyoruz.
-
Telefonunun bluetooth özelliğini etkinleştirip uygulamayı açıyoruz. Availables devices bölümünde çıkan bilinmeyen cihaz ile telefonu eşliyoruz. Eşleme işlemi gerçekleştiğinde Connect to a device bölümünde adı HC-06/05 ismi ile gözükecektir. Bluetooth modülünün üstündeki ışık daha seyrek şekilde yanıp sönmeye başlayacaktır.
Karşımıza çıkan ekrandan switch mode'u seçiyoruz.
- Açılan ekrandan sağ üst köşede olan ayarlar ikonuna tıklıyoruz.Yeşil işarete 1 kırmızıya 0 yazıyoruz ve tamam/ok butonuna tıklıyoruz..Bunlar sayısal verilerimiz.
- Geri tuşuna basarak ana ekrana dönüyoruz. Açma kapama tuşuna yavaş aralıklar ile basarak gece lambamızı yakıp söndürüyoruz.
- Herhangi bir problem yoksa güç kablomuzu bilgisayardan çıkartıyoruz. Pinoo Kontrol kartımıza 9v pil ve pil şapkası yardımıyla güç veriyoruz. Pil girişinin hemen yanında bulunan açma kapama tuşunu da on konumuna getiriyoruz.
ARDUINO IDE KODLARI:
int data; // bluetoothtan gelen veriyi alır // led pinleri int led1 = 2; int led2 = 3; int led3 = 4; void setup() { // led pinleri çıkış pinidir pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); Serial.begin(9600); //Seri iletişimi başlatır } void loop() { if (Serial.available()) // Eğer Bluetooth bağlantısı varsa kodaları çalıştırır { int data = Serial.read(); delay(100); if (data == '1') // eger data 1 se ledler yanar digitalWrite(led1, HIGH); digitalWrite(led2, HIGH); digitalWrite(led3, HIGH); if (data == '0') // eeger data 0 sa ledler söner digitalWrite(led1, LOW); digitalWrite(led2, LOW); digitalWrite(led3, LOW); } }