Pinoo ile Atış Poligonu
Projenin Amacı: Pinoo kontrol kartı ile servo motor ve LDR modüllünü kullanarak bir atış poligonu projesi yapmak.
Süre: 2 ders
Yaş Grubu: 7 yaş ve üzeri
Pinoo Seti: Temel Set, icat set, maker set ve tam set.
Kazanımları:
- Pinoo kontrol kartını kodlamayı öğrenir.
- Servo motoru kullanmayı öğrenir.
- Ldr modülünü kullanmayı öğrenir.
- Algoritma kurma becerisi gelişir.
- Kodlama becerisi gelişir.
Kullanılması Gereken Malzemeler: Mblock 3 programı, pinoo kontrol kartı, 2 adet ldr modülü, 2 adet servo motor modülü.
Tasarım için Gereken Malzemeler: Renkli karton, dil çubuğu, kutu, küçük el feneri, mukavva, maket bıçağı, silikon tabancası ve silikon.
Proje Yapılışı:
Projemiz için ilk önce kutu tasarımı yapmak ile başlayalım.
Kutuyu silikon tabanca kullanarak renkli kartonlar ile kaplayalım.
Mukavva parçalarını yuvarlak olacak şekilde kesiyoruz.
Mukavva parçalarını yuvarlak olacak şekilde kesiyoruz.
Üzerine hedefi belli etmek için yuvarlaklar çiziyoruz.
Maket bıçağını kullanarak orta noktalarını ldr modülü geçecek şekilde deliyoruz. Ldr modüllerini hedef noktasına yerleştirip silikonluyoruz.
Dil çubuklarını keserek oluşturduğumuz hedeflere yapıştırıyoruz.
Kutumuzun üzerine “Atış Poligonu” yazısını yazıyoruz.
Kutunun üst kısmına servo motorları aynı yöne bakacak şekilde yapıştırıyoruz.
(Bu kısımda isterseniz hızlıca pinoo kartı takarak servo motorları 90 derece açı yapıp çıkartabilirsiniz. Daha kolay yapıştırırsınız)
Dil çubuklarını servo motorların uç kısmına yapıştırıyoruz.
Ldr sensörlerinin kablolarını takıp birbirine çarpmamaları için kutunun arka kısmına silikonluyoruz.
Servo motorlarının da kablolarını da takıyoruz.
Elektronik parçaların yerleşmiş hali.
Pinoo uzantısı ekleme:
Kodlama kısmı:
İki ldr değerlerini ekranda gösterelim. Küçük el fenerini tuttuğumuzda okuduğu değer ve çektiğimizde okuduğu değerleri not alalım.
Not: 2 ldr ışık tuttuğumuzda farklı değerler okuyabilir. Örneğin bende ışıkta Pinoo7:820 gibi bir değer Pinoo8:760 gibi bir değer okudu. Bizde bu değerleri baz alacağız.
İlk ldr değeri için şartımızı oluşturalım. Eğer 800 den büyük bir değer okuyorsa servo motor sol tarafa doğru gidecek yani 180 derece olacak. Sonra da 1 saniye bekleyip tekrar dik konuma gelecek yani 90 derece olacak. Değilse de 90 derecede kalacak.
İkinci ldr içinde şartımızı yazıyoruz eğer şart doğruysa da bu sefer servo motor sağ tarafa gidecek yani 0 derece olacak. Sonra da 1 saniye bekleyip tekrar dik konuma gelecek yani 90 derece olacak. Değilse de 90 derecede kalacak.
Kodlarımızı pinoo kontrol kartına yüklemek için olay başlangıcımızı “Pinoo Program” komutu yapıyoruz ve ekranda ldr değerini ekranda göstermek için kullandığımız kodu siliyoruz.
“Pinoo Program” komutu üzerine sağ tıklıyoruz ve açılan pencerede “Arduino’ya Yükle” seçeneğini seçiyoruz.
Açılan sayfada kırmızı ile seçili olan “Arduino’ya Yükle” butonuna tıklıyoruz.
“Yükleme Bitti” yazısı geldikten sonra “Kapat” butonuna tıklıyoruz. Yükleme bittikten sonra pil yuvası takılır ve proje çalıştırılır.
Projenin Çalışma Hali:
9V pili takarak deniyoruz.
Herhangi bir ldr’ye ışık tutulana kadar servolar dik konumda kalır. Ldr ışık algıladığında ilgili servo yatay konuma geçecektir.
ARDUINO IDE KODLARI:
#include <Servo.h> // servo kütüphanesini ekledik // servo nesnelerine isim verdik Servo servo1; Servo servo2; // ldrleri A0 ve A1 pinlerine atadık int ldr1 = A0; int ldr2 = A1; // ldrlernden gelen degerleri ldr degerlerine atadık int ldr1_deger; int ldr2_deger; void setup() { // servo motorları 2. ve 3. pinlere atadık servo1.attach(2); servo2.attach(3); } void loop() { // ldr degerlerini analog okutma yaptık ldr1_deger = analogRead(ldr1); ldr2_deger = analogRead(ldr2); if (ldr1_deger > 800) { // eger ldr1_deger 800den byükse servo2.write(180); delay(1000); servo2.write(90); } else if (ldr1_deger < 800) { // eger ldr1_deger 800den küçükse servo2.write(90); } else if (ldr2_deger > 750) { // eger ldr2_deger 750den byükse servo1.write(0); delay(1000); servo1.write(90); } else if (ldr2_deger < 750) { // eger ldr1_deger 750den küçükse servo1.write(90); } }