Akıllı Beşik

Projenin Amacı: Pinoo Kontrol Kartı ile buton ve servo motor modülü kullanarak Akıllı Beşik projesi yapmak.

Süre: 2 ders

Yaş Grubu: 7 yaş+

Pinoo Seti: İcat set, maker set ve tam set.

 Kazanımları:

  • Pinoo Kontrol Kartını kodlamayı öğrenir.

  • Servo motor modülünü kullanmayı öğrenir.

  • Buton modülünü kullanmayı öğrenir.

  • Algoritma kurma becerisi gelişir.

  • Kodlama becerisi gelişir.

  • Tasarım becerileri gelişir.

  • 3D yazıcı ve tasarımları hakkında fikir edinir.

 

Kullanılması Gereken Malzemeler: Mblock 3 programı, Pinoo Kontrol Kartı, Buton Modülü, Servo Motor Modülü, Kablolar

 

 

Tasarım için Gereken Malzemeler: Eva yada elişi kağıdı,  tahta plakalar yada mukavva , silikon tabancası ve silikon, 3d yazıcı çıktısı beşik (beşiği atık malzemelerden de tasarlayabilirsiniz)


 

 

Proje Yapılışı:

 

  1. Projemize ilk önce zemin yapmakla başlıyoruz. 4 adet ahşap parçasını silikon makinesi yardımıyla birleştiriyoruz. Mukavva da kullanılabilir.

 

  1. Zemini oluşturduktan sonra seçtiğimiz bir renk eva yada el işi kağıdı ile zemini kaplıyoruz. Fazlalık kısımlar kesilebilir  yada içe doğru katlanabilir.

 

  1. Daha sonra zeminin üst kısmına 3D yazıcıdan çıktı aldığımız beşiği silikon makinesi yardımıyla sabitliyoruz.

( Beşiğimizin yan tarafında bulunan çıkıntı şeklindeki çubuğa  servo motoru sabitleyeceğiz. Farklı beşik tasarımlarıyla bu proje yapılmak istenirse servo motor direkt olarak  beşiğe de sabitlenebilir.)

 

 

  1. Servo motoru beşiğimizde bulunan çubuğa silikon makinesi yardımıyla yapıştırıyoruz.

 

  1. Servo motorun, çubuğun boyuna ulaşması için altına dil çubuğu yada mukavva parçası ile yükselti yapıyoruz. Beşikte ki çubuk ve servo motor bir bütün halinde hareket edecek.Bu sayede beşik sallanacak. Servo motoru Pinoo Kontrol kartında ki uygun renkteki girişlerden herhangi birine bağlayabiliriz. 1 numaralı girişe bağladık.

 

  1. Buton modülünün bağlantısını Pinoo Kontrol Kartında ki uygun renkteki girişlere yapıyoruz. 3 nolu girişe bağladık.  Butona bastığımız zaman beşik çalışmaya başlayacak. Butonu zeminde herhangi bir yere sabitliyoruz.

 

  1. Tasarımımızı ve bağlantılarımızı tamamladık şimdi kodlama kısmına geçelim. Bunun için Mblock 3 uygulamasını kullanacağız.

 

 

  1. 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 com4’ü  seçiyoruz. (Bilgisayara ve porta göre  rakam farklılık gösterebilir.)

 

 

  1. 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.

 

 

  1. Kartımızı seçtikten sonra Uzantılar sekmesinden Pinoo seçeneğine tıklıyoruz. Pinoo uzantısı ile kodlarımızı yazacağız.

 

 

  1. Seçimlerimizi yaptıktan sonra son olarak Bağlan seçeneğinden Aygıt Yazılım Güncellemesi yaparak bağlantı işlemlerimizi tamamlıyoruz.

 

 

 

  1. Güncelleme bittikten sonra kodlama aşamasına geçiyoruz. Öncelikle Olaylar menüsünden Yeşil Bayrağa tıklandığında kodunu alıyoruz.

 

 

  1. Daha sonra buton modülümüzün değerini okutuyoruz. Bunun için öncelikle Görünüm menüsünden Merhaba De kodunu alıyoruz.

 

 

  1. Robotlar menüsünden Buton Modülünün değerini okuyacak olan kodu alarak merhaba de kodunun içine yerleştiriyoruz. Buton Modülünün bağlı olduğu girişi seçiyoruz.

 

 

 

  1. Buton modülünün değişen değerini sürekli görmek için kodlarımızı Sürekli Tekrarla kodunun içine yerleştiriyoruz. Daha sonra yeşil bayrağa tıklayarak pandamızın gösterdiği değere bakıyoruz .

( Butona bastığımızda 1 basmadığımızda ise 0 olacak şekilde  değerler farklılık gösterecektir.) 

 

 

 

  1. Buton değerimiz 1’i gösterdiğinde beşiğimiz sallanacak ve 0’ı gösterdiğinde ise sabit kalacak. Bunun için kontrol menüsünden eğer ise değilse kodundan yararlanacağız.

 

  1. Kontrol menüsünden eğer ise değilse kodunu aldıktan sonra içerisine İşlemler menüsünden eşitlik kodunu yerleştiriyoruz.

 

  1. Buton modülünün değeri 1’e eşit ise beşiğimiz çalışacak. Değilse duracak.

 

 

  1. Buton modülünün değeri 1’e eşit ise beşiğimizin 2 defa sallanmasını istiyoruz. Bunun için Kontrol menüsünden 2 defa tekrarla kodunu alıyoruz.

 

  1. Servo motorumuzun açısını 90 dereceden (orta nokta) başlatıyoruz.

 

  1. Daha sonra servo motorun kademeli olarak beşiği sağa doğru sallaması için açılarını 1'er saniye aralıklarla arttırıyoruz.

 

  1. Daha sonra Servo motorun sola doğru sallanması için gerekli kodları yazıyoruz.

 

  1. Daha sonra buton modülüne basmadığımızda beşiğimizin durması için Kontrol Bloğundan aldığımız eğer ise değilse kodunun değilse  kısmına gerekli kodu yazıyoruz.

 

  1. Beşiğimizin kodlarını tamamladık. Projemizi bilgisayardan bağımsız bir güç kaynağı ile çalıştırmak için kodlarımızı kartımıza yükleyeceğiz. Bunun için öncelikle Görünüm menüsünden eklediğimiz kodları ve başlangıçta aldığımız Yeşil Bayrağa tıklandığında olayını çöpe atıyoruz.

 

 

  1. Başlangıç için Robotlar menüsünden Pinoo Programı kodunu alıyoruz.

 

 

  1. Pinoo Programı koduna sağ tıklayarak kodlarımızı Arduino’ya yüklüyoruz.

 

 

  1. Kodların yüklenmesini bekliyoruz. Yükleme bittikten sonra pencereyi kapatarak Pinoo Kartımızın bağlantı kablosunu bilgisayardan çıkartıyoruz.

 

 

  1. Son olarak 9v pil ve Pil şapkası yardımıyla Pinoo kartımıza güç vererek projemizin çalışmasını sağlıyoruz.

 

 

 

 ARDUINO IDE KODLARI:

#include <Servo.h> // servo kütüphanesini ekledik Servo servo; // servo nesnensine isim verdik int buton = 4; // butonu 4. pine ekledik int butondurumu; // butondurumu adında değişken atadık void setup() {  servo.attach(2); // servoyu 2.pine atadık  pinMode(buton, INPUT); // buton giriş pinidir } void loop() {  butondurumu = digitalRead(buton); // butondan deger okuyoruz  if (butondurumu == HIGH) { // eger butona basılınca    // servo sırasıyla 9,120,150,120,90,60 konumlarına gelsin    servo.write(90);    delay(1000);    servo.write(120);    delay(1000);    servo.write(150);    delay(1000);    servo.write(120);    delay(1000);    servo.write(90);    delay(1000);    servo.write(60);    delay(1000);  } else { // aksi taktirde    // servo 90 konumuna gelsin    servo.write(90);  } }