NGS Müfredat
(32 Hafta)
Hafta Saat
(Dak.) Ders Konu İçerik Referans
1 90 Ev3 Mindstorms Tanıtım &
Temel Araba
Robot Nedir?
Sayfa 5-27 Algoritma Nedir?
Malzeme tanıtımı Temel araç yapımı EV3 arayüz tanıtımı Temel araç hareketleri
2 90 Ev3 Mindstorms Labirent &
Medium Motor
Labirent görevi
Sayfa 28-32 Medium motor kullanımı ve montajı
Brick display kullanımı Brick sound kullanımı Brick status light kullanımı
3 90 Ev3 Mindstorms Touch Sensör
Touch sensör tanıtımı ve montajı
Sayfa 33-37 Touch sensör ile wait anlatımı
Compare ve Change anlatımı Loop kullanımı
Touch sensörile 4 kutu görevi
4 90 Ev3 Mindstorms Ultrasonic Sensör
Ultrasonic sensör tanıtımı ve montajı
Sayfa 38-41 Ultrasonic sensör ile Wait anlatımı
Compare ve Change anlatımı Ultrasonic ile 4 kutu görevi Ultrasonic ile Medium motor görevi
5 90 Ev3 Mindstorms Colour Sensör
Colour sensör tanıtımı ve montajı
Sayfa 42-50 Colour sensör ile Wait ve Loop anlatımı
Masadan düşmeyen robot Hava aydınlanınca çalan saat Colour sensör ile Switch kullanımı Colour sensör ile çizgi takibi
6 90 Ev3 Mindstorms Gyro Sensör
Gyro sensör kullanımı ve montajı
Sayfa 51-54 Gyro sensör ile Wait anlatımı
Compare ve Change anlatımı
Gyro sensör ile açı ve geometrik şekil çizimi
7 90
Ev3 Mindstorms Model Core Set Proje : Colour Sourter 9.Hafta > Tasarım 10.Hafta > Kodlama
Lego Mindstorms > Building Instructions > Core Set Models > Colour Sourter Proje tamamlandıktan sonra öğrenci robot üzerindeki sensörleri kullanarak kendi
programlarını oluştururlar ve Colour Sourter çalışma prensibini öğrenirler.
8 90
9 90
Ev3 Mindstorms Model Core Set Proje : Gyro Boy 11.Hafta > Tasarım
12.Hafta > Kodlama
Lego Mindstorms > Building Instructions > Core Set Models > Gyro Boy Proje tamamlandıktan sonra öğrenci robot üzerindeki sensörleri kullanarak kendi
programlarını oluştururlar ve Gyro Boy çalışma prensibini öğrenirler.
10 90
11 90
Ev3 Mindstorms Model Core Set
Proje : Puppy 11.Hafta > Tasarım 12.Hafta > Kodlama
Lego Mindstorms > Building Instructions > Core Set Models > Puppy Proje tamamlandıktan sonra öğrenci robot üzerindeki sensörleri kullanarak kendi
programlarını oluştururlar ve Gyro Boy çalışma prensibini öğrenirler.
12 90
13 90 Arduino Arduino'ya giriş
Elektrik nedir?
Sayfa 55-68 Arduino sensör çeşitleri nelerdir?
Arduino IDE Arayüz Tanıtımı.
LED Yakma.
14 90 Arduino Arduino kullanımı
Polis siren devresi yapımı.
Sayfa 69-79 Karaşimşek ışığı yapımı.
Serial Bağlantısı kullanımı.
Potansiyometre’den değer okuma.
15 90 Arduino Arduino kullanımı
Potansiyometre ile LED Parlaklığı.
Sayfa 80-84 Buzzer kullanımı.
LM35 Isı sensörü kullanımı.
16 90 Arduino Arduino kullanımı
LDR Işık sensörü kullanımı.
Sayfa 85-90 Teremin (Elektronik enstrüman) yapımı.
Ultrasonik mesafe sensörü kullanımı
17 90 Arduino Arduino kullanımı
Park sensörü yapımı
Sayfa 91-97 Servo kullanımı.
Potansiyometre ile servo kontrolü.
18 90 Arduino Arduino kullanımı
LCD Ekran kullanımı.
Sayfa 98-107 LCD Ekrana Servo açı değerini yazma.
LCD Ekrana Ultrasonik ile uzaklık yazma 19 90 Arduino Arduino kullanımı Bluetooth ile haberleşme
Sayfa 108-115 Bluetooth ile LED kontrolü
20 90 Arduino Arduino kullanımı
DC Motor kullanımı
Sayfa 116-120 PIR Sensörü kullanımı
Ses Algılama sensörü kullanımı 21 90 Arduino Arduino kullanımı Ses şiddetine göre yanan lamba
Sayfa 121-122 Alkış ile yanan lamba
22 60 Micro:Bit Micro:bit'e giriş
Micro:Bit Nedir?
Sayfa 123-133
Micro:bit nasıl kodlanır?
Micro:bit Arayüz kullanımı Led Matrisi
Led Matriste Görüntü Gösterme
23 60 Micro:Bit Micro:bit kullanımı
Basit Animasyon
Sayfa 134-136
Göz Kırpma Değişken Kullanmak Değişken Tanımlama
24 60 Micro:Bit Micro:bit kullanımı
Kayan Metin
Sayfa 137-141
Düğmeler A&B Düğme Durumu Kontrolü Düğme Durumu Kontrolü / if Kodu
25 60 Micro:Bit Micro:bit kullanımı
Touchy Touchy
Sayfa 142-149
Bir LED devresi kuralım Accelerometer
Accelerometer ile Eğim Ölçme
26 60 Micro:Bit Micro:bit kullanımı
Shake
Sayfa 150-159
Sallayarak Rastgele Bir Rakam Oluşturma Radio ile haberleşme
Sayaç yapımı
27 60 Micro:Bit Micro:bit kullanımı
Skor Panosu
Sayfa 160-164
Pixel Olarak LED Yakma\Söndürme For Döngüsü
Piksel Led Animasyonu
28 60 Micro:Bit Micro:bit kullanımı İç İçe For Döngüsü
Sayfa 165-170
LED Parlaklığı Döngü İçinde Saydırma
29 90 3D Tasarım ve
Modelleme 3D Tasarım
3D Nedir?
Sayfa 171-176
2D ile 3D arasındaki fark nedir?
Tinkercad Hesabı Oluşturma Tinkercad arayüz ve menü tanıtımı Ev Tasarımı
Anahtarlık Tasarımı
30 90 3D Tasarım ve
Modelleme 3D Tasarım
Bardak Tasarımı
Sayfa 177-178
Stres Çarkı Tasarımı
31 90 3D Tasarım ve
Modelleme 3D Tasarım
2D - 3D Converter
Sayfa 179-182
STL dosyası kaydetme STL dosyası yükleme Özgün Tasarım
32 90 3D Tasarım ve
Modelleme 3D Printer Kullanımı
Filament Nedir?
Sayfa 183-197
Filament Değiştirme 3D Yazıcı tanıtımı 3D Yazıcı Arayüz tanıtımı Baskı Süreci Baskı alımı
LEGO MINDSTORMS Education EV3 Robotik Eğitimi
NGS (Next Generation Science)
Robot Nedir?
Robot
• Otonom veya önceden programlanmış görevleri yerine getirebilen elektro-mekanik bir cihazdır.
• Robotlar doğrudan bir operatörün kontrolünde çalışabildikleri gibi bağımsız olarak bir bilgisayar programının kontrolünde de çalışabilir.
• Robot deyince insan benzeri makineler akla gelse de
robotların çok azı insana benzer.
Lojistik Tıbbi Kişisel Üretim Güvenlik Uzay
Ulaşım
Algoritma Nedir?
• Algoritma, belli bir problemi çözmek veya belirli bir amaca ulaşmak için tasarlanan yoldur.
• Matematikte ve bilgisayar biliminde bir işi yapmak için tanımlanan, bir başlangıç durumundan
başladığında, açıkça belirlenmiş bir son durumunda
sonlanan, sonlu işlemler kümesidir.
EV3 Temel Set
853 Parça 541 Parça
EV3 Ekstra Parça Seti
Ev3 Temel Set Parça Tanıtımı
Ev3 Temel Set Parça Tanıtımı
Ev3 Temel Set Parça Tanıtımı
Ev3 Temel Set Parça Tanıtımı
Ev3 Brick (Tuğla) Tanıtımı
Yanıp Sönme Sabit
Kırmızı Brick Durum Işığı
Açılıyor, güncelleniyor, kapanıyor
Turuncu Brick Durum Işığı
Uyarı, hazır
Yeşil Brick Durum Işığı
Hazır
Meşgul Uyarı, çalışıyor Çalışan program
SensörPortları PC
Hoparlör
USB ve SD KartGirişleri MotorPortları
İki Motoru Karşılaştırma:
• Large Motor (Büyük Motor)
160–170 dev./dak. Hızla çalışır, 20 Ncm çalışma torkuna ve 40 Ncm stall (durma) torkuna
sahiptir (daha yavaş ama daha güçlüdür).
• Medium Motor (Orta Motor)
240–250 dev./dak. hızla çalışır, 8 Ncm çalışma torkuna ve 12 Ncm stall (durma) torkuna
sahiptir (daha hızlıdır ama gücü daha azdır).
• Her iki motor da otomatik ID destekler.
Ev3 Motorları
Ev3 Sensörleri
Touch Sensör Ultrasonik Sensör Color Sensör Gyro Sensör
Bir robot yapalım mı?
Ev3 nasıl programlanır?
Programlama Blokları
Hareket Blokları
Medium Motor Large Motor Move Steering Move Tank Display Sound Brick Status Light
Akış blokları
Play Wait Loop Switch Loop Interrupt
Brick bilgileri, yazılım güncelleştirmeleri, bağlantı tipi bilgisi
Kullanılabilir brickler, bağlantı tipleri, brick bağlantısı için kullanılır.
Donanım Alanı
Brick / Bilgi Sistemi
Portlara bağlı motor ve sensörler, motor ve sensörlerin değerleri görüntülenir.
Motor ve Sensör Sekmesi
Kullanılabilir Brick Sekmesi
çevirme.
100 ve -100 arasında bir
değer alır.
Direksiyon 2 motorun dönüş
hızı
Motorların tur, derece, zamana göre dönüşleri
zamana göre dönüşleri Tek motorun Tek motorun Motorların
dönüş hızı dönüş hızı tur, derece,
Motorları kapatır/durdurur.
Motorları çalıştırır/sürekli Motorları zamana göre çalıştırır.
Motorları dereceye göre çalıştırır.
Bir tur nasıl hesaplanır?
Move Steering /
Direksiyon Hareketleri Move Tank / Tank Hareketleri
GÖREV
Karşınızda bir duvar var,
• Duvara çarpmamanız gerekiyor,
• Aynı zamanda en yakın mesafede durmanız gerekiyor!
GÖREV
Bu sefer;
• Duvara çarpmanız gerekiyor,
• Aynı zamanda en HIZLI şekilde başladığınız noktaya geri
gelmeniz gerekiyor!
GÖREV
Eğitim robotunu,
• Move Steering kullanarak
• Kuru etrafında 90 derece dönüş ile döndürmeniz gerekiyor.
çevirme.
100 ve -100 arasında bir
değer alır.
dönüş hızı
Motorların tur, derece, zamana göre
dönüşleri
GÖREV
Eğitim robotunu,
• Move Tank kullanarak
• Başlangıç ve bitiş noktası belli olan labirentten çıkarmanız gerekiyor.
zamana göre dönüşleri Tek motorun Tek motorun Motorların
dönüş hızı dönüş hızı tur, derece,
Eklenti - Medium Motor
Eklentimizi taktıktan sonra EV3 Medium/Orta motorunu kullanarak,
• Belirlenen başlangıç noktasından hareket ederek herhangi bir noktaya
konulan pinpon topunu tekrar başlangıç noktasına geri getirmeniz gerekiyor.
GÖREV
Brick Display / Sound / Status Light
Brick Display Kullanımı
• Brick display, brick lcd ekranı üzerinde resim vb. görüntülemenizi sağlar. Bunun için EV3 kütüphanesindeki görselleri kullanabilirsiniz.
.
Sound Kullanımı
• Brick sound, EV3 yazılımını kullanarak brick üzerinden ses olaylarını
gerçekleştirmenizi sağlar. Bunun için EV3 kütüphanesindeki ses dosyalarını kullanabilirsiniz.
Status Light Kullanımı
• Brick status light, brick lcd ekranı üzerinde resim vb.
görüntülemenizi sağlar. Bunun için EV3 kütüphanesindeki ışıkları kullanabilirsiniz.
Eklenti – Touch (Dokunma) Sensörü
Touch Sensör
Basma (Pressed)
0
Serbest Bırakma (Released)
1
Çarpma/Basıp Çekme (Bumped)
2
• Touch Sensör, sensörün kırmızı düğmesine basıldığında, serbest bırakıldığında veya basıp çekme işlemi yapıldığında analog veri döndüren bir sensördür.
• Touch Sensör, aşağıda gösterilen 3 koşula göre programlanabilir.
• Kutu Görevinde amaç robotun kutu üzerine giderek Touch Sensörün kutuya dokunmasını sağlamak.
EV3 Kutu
GÖREV
Loop (Döngü) Kullanımı
• Loop adından da belli olduğu gibi sürekli tekrar etmesini istediğimiz işlemlerde kullanılır.
• Loop bitiş şartlarını sağ tarafta açılan pencereden seçebiliriz.
• Burada kullanacağımız sensörü seçtikten sonra sensörün şartını seçmeliyiz.
• Bu sayede Loop’un içine yazdığımız kod bloğu bu kısımda seçtiğimiz şart
gerçekleşene kadar devam edecektir.
• Programlama ile robotun kutuya çarptığında başladığı noktaya geri dönüp sağa/sola dönüp bir sonraki kutuya ilerlemesini sağlamak.
• Bu işlemi 4 kutu için tekrarlaması istenmektedir.
• Loop kullanabilirsiniz.
GÖREV
EV3 Kutu
EV3 Kutu EV3
Kutu
EV3 Kutu
Eklenti – Ultrasonik ( Ses) Sensör
A C
B
Mesafe Ölçümü Menzili
3-250 cm
Mesafe Ölçüm Hassasiyeti
±1 cm
Ultrasonik Sensör
• Ultrasonic sensör, ses dalgaları ile karşısına çıkan objeyi algılayıp, arasındaki mesafeyi ölçmeyi sağlayan EV3 sensörüdür.
• Ultrasonik sensör, “Wait/Bekleme” bloğu ile sol tarafta gösterilen resimdeki gibi kullanılır.
• Compare ile mesafedeki karşılaştırılır ve aracımız bu bloktan sonra eklenen bloğu çalıştırmak için “Wait / Bekleme” bloğunda belirlenen şartın gerçekleşmesini bekler.
Belirlenen mesafe
Karşılaştırma şartları
• Ultrasonik Sensör ile robotun kutuya 15cm mesafe algıladıktan sonra başladığı noktaya geri dönüp sağa/sola dönüp bir sonraki kutuya ilerlemesini sağlamak.
• Bu işlemi 4 kutu için tekrarlaması istenmektedir.
• Loop kullanabilirsiniz.
EV3 Kutu
EV3 Kutu
EV3 Kutu EV3
Kutu
GÖREV
Eklenti – Colour (Renk) Sensör
• Colour Sensor, sensör yüzeyindeki küçük pencereden giren ışık yoğunluğunu veya rengi tespit edebilen bir dijital sensördür.
• Colour Sensor (Renk Sensörü) örnekleme oranı 1 kHz'dir. Bu sensör üç farklı modda kullanılabilir:
Colour Sensör
Algılanan renk değerini tel ile ekrana ya da başka bir
bloğa iletebilirsiniz
Birden fazla renk seçilebilir
Colour Mode
GÖREV
• Robot Gitsin, Kırmızıyı görünce dursun.
• Robot Kırmızıyı görünce gitsin, siyahı görünce dursun.
Switch (Anahtar) Kullanımı
• Belirttiğiniz bir koşul doğru çıktığında veya çıkmadığında program ilerleyişi değişebilir.
Örnek olarak;
• Butona basılı ise : Motorlar çalışsın
• Butona basılı değil ise : Motorlar dursun
GÖREV
• Colour sensöre tanıttığımız rengi okuttuğumuz zaman, o sesin adını her gösterişimizde söyleyebilecek bir kod yazalım.
• İpucu : Switch
• Bu modda, renk sensörü, sensöre ortamdan (güneş ışığı veya fener ışığı gibi) gelen ışık gücünü ölçer.
• Sensör, 0 (çok karanlık) ile 100 (çok aydınlık) arası bir ölçek kullanır.
Belirlenen değer
Karşılaştırma Ölçütleri
Ambient Light (Ortam Işığı) Mode
• Bu modda renk sensörü kırmızı ışık yayar.
• Sensör, 0 (çok karanlık) ile 100 (çok aydınlık) arası bir ölçek kullanır.
Belirlenen değer
Karşılaştırma Ölçütleri
Reflected Light (Yansıyan Işık) Mode
GÖREV
• Bu görevde temel aracı, Color Sensorun Reflected Light Intensity fonksiyonunu kullanarak masadan yansıyan ışık farkı ile robotun masadan düşmemesini
sağlayacak şekilde programlayacaktır.
Masadan Düşmeyen Robot
Eklenti – Gyro Sensör
• EV3 gyro sensör robotun hareketini, hareket yönünü veya eğimini algılayabilir.
• Bu sensör sayesinde iki tekerlek üzerinde dengede duran robotlar oluşturabilirsiniz. +/-3 derecelik yanılma ayı ile
saniyede 440 derecelik açı değişimini büyük bir hassasiyet ile algılar. Yenileme hızı 1kHz’dir.
Gyro Sensör
• Gyro sensörü kullanarak robotunuzu istenilen bir açıya döndürebilirsiniz.
• Gyro sensör özellikle turnuvalardaki hassas dönüşlerde oldukça işe yarar.
Yukarıdaki kod bloğu ile eğer gyro sensörün verisi 90 dereceden küçük olursa, bir sonraki kod bloğu olan medium motoru 1 tur çalıştıracak.
Yukarıdaki kod bloğu ile eğer gyro sensorun verisi 90 dereceden büyük olursa, bir sonraki kod bloğu olan large motoru 5 saniye çalıştıracak.
Yukarıdaki kod bloğu ile eğer gyro sensorun verisi 10 derece artarsa, bir sonraki kod bloğu olan large motoru 4 tur çalıştıracak.
Yukarıdaki kod bloğu ile eğer gyro sensorun verisi 10 derece azalırsa, bir sonraki kod bloğu olan medium motoru 125 derece çalıştıracak.
Gyro Sensör
GÖREV
• Gyro Sensör kullanarak kare çiziniz.
• Gyro Sensör kullanarak dikdörtgen çiziniz.
• Gyro Sensör kullanarak üçgen çiziniz.
NGS (Next Generation Science)
Arduino
Arduino, elektronik ile ilgisi olan her insanın kolayca kullanabilmesi için geliştirilmiş açık kaynaklı bir mikrokontrolcü platformudur. Arduino kullanarak çeşitli sensörlerden gelen sinyalleri
okuyabilir, ışık yakıp söndürülebilir, motor çalıştırabilir; kısacası aklınıza gelebilecek tüm elektronik uygulamaları yapabilirsiniz.
Arduino çeşitleri şunlardır;
Arduino UNO Arduino MEGA Arduino Yun
Arduino Micro Arduino Pro Mini Arduino Lilypad
Arduino nedir?
Maddenin elektron, pozitron, proton gibi parçacıklarının hareketleriyle ortaya çıkan enerji türü.
Elektrik, elektrik yüklerinin akışına dayanan bir dizi fiziksel olaya verilen isimdir.
Elektronik komponentler nedir?
Direnç;
Ohm kanununa göre uçları arasında gerilim düşümüne sebep olan devre elemanıdır.
Üzerindeki bulunan renklere göre değerleri hesaplanır.
Kondansatör;
Elektrik yüklerini kısa süreliğine depo etmeye yarayan devre elemanlarıdır.
Diyot;
Diyot, yalnızca bir yönde akım geçiren devre elemanıdır.
Elektrik nedir?
Kısaca bir çeşit bağlantı kabloları diyebiliriz. Breadbord ve arduino arasında bağlantı kurmak için oldukça kullanışlıdır. Uçlarında erkek ve dişi girişlerin bulunmasına göre 3 çeşit jumper kablo bulunmaktadır.
Jumper kablo nedir?
LED nedir?
LED, Light Emitting Diode (Türkçesi ışık yayan diyot) sözcüklerinin baş harflerinden oluşan bir kısaltmadır.
İsminden de anlaşılacağı üzere LED, bir diyottur.
Bildiğimiz üzere diyot, akımın yalnızca bir yönden geçmesini sağlayan iki bacaklı yarı-iletken bir devre elemanıdır.
A n ot (+) K at ot (- )
Katot (-)
Not:
LED’in içine bakarak küçük olanın +
olduğunu öğrenebilirz.
Robot projemizde ışık, sıcaklık, mesafe gibi fiziksel büyüklükleri elektrik sinyallerine dönüştürmek ve bu bilgileri işleyecek karar mekanizmaları kurabilmek için sensörleri kullanırız.
LDR HC-SR04 LN35
PIR
Potansiyometre
Arduino sensör çeşitleri nelerdir?
SG90 Servo DC Motor 2-Axis Joystick
Düdük Ses Sensörü
Arduino sensör çeşitleri nelerdir?
Düğme
LCD Ekran IR Sensör ve kumanda
Breadboard nedir nasıl çalışır?
Breadboard üzerinde projenin prototiplendiği bir araçtır. Kurduğumuz devreleri birbirlerine lehimlemeden kolaylıkla test etmemizi sağlar.
Bu bölüme takılan pinler dikey olarak birbirlerine bağlıdır.
Bu bölüme takılan pinler yatay olarak birbirlerine bağlıdır.
“Kontrol et”
“Yükle”
“Yeni”
“Aç”
“Kaydet”
Kodu derler.
Kodu Arduino’ya yükler.
Kodu Kaydeder.
Kodu açar.
Yeni sayfa açar.
Arduino IDE Arayüz Tanıtımı
Arduino IDE Arayüz Tanıtımı
Kütüphane ekler.
Kullanacağımız kartı seçiyoruz.
Arduino bağlı olan portu seçiyoruz.
Arduino IDE Arayüz Tanıtımı
Arduino LED Bağlantısı
Bağlantı şeması
• Arduino üzerinde 13 ile 2 arasında istediğiniz pine ve GND yazan pinlere birer kablo takıyoruz.
• Ledimizi Breadbordun üzerine takıyoruz.
• Ledin + Bacağına bir tane direnç takıyoruz.
• GND’ye takılı olan kabloyu ledimizin – ucuna takıyoruz.
• Digital pine taktığımız kabloyu direncimizin ucuna takıyoruz.
Programlamaya Giriş
Yazılım iki ana bölümden oluşmaktadır bunlardan birincisi;
“Void setup” bu bölüm pinlerin hangi amaçla kullanılacağını söylediğiniz Bir nevi tanımlama aşamasıdır.
“Void loop” kısmında ise arduinonun sürekli tekrar etmesini istediğimiz eylemleri yazarız.
“Void Setup” un kapsamı açtığınız köşeli parantezi kapatana kadardır aynı şekil “Void Loop” içinde geçerlidir.
Arduino ile LED yakma
Void setup(){
pinMode(x,y);
} X = Çıkış/Çiriş vereceğimiz Pin’in numarası veya tanımlı olduğu isim.
Y = Giriş/Çıkış, Giriş için INPUT çıkış için OUTPUT
X = Digital olarak güç vereceğimiz Pin’in numarası veya tanımlı olduğu isim.
Y = Digital olarak güç vermek istersek HIGH gücü kesmek istersek LOW
Void loop(){
digitalWrite(x,y);
}
Polis siren devresi yapımı.
Bağlantı şeması
• Arduino üzerinde 13 ile 2 arasında istediğiniz pine ve GND yazan pinlere ikişer kablo takıyoruz.
• Ledlerimizi Breadbordun üzerine takıyoruz.
• Her iki LED’in + Bacağına bir tane direnç takıyoruz.
• GND’ye takılı olan kabloyu ledimizin – ucuna takıyoruz.
• Digital pine taktığımız kabloyu direncimizin ucuna takıyoruz.
Polis siren devresi yapımı
Polis sirenleri Mavi ve Kırmızı LED’in ikişer kere yanıp sönerek çalışır.
delay(x);
X = Bekleyeceği süre.
delay Beklemek için kullanılır parantez içine yazılan süre dolmadan bir sonraki satıra geçmez.
Karaşimşek ışığı yapımı.
Bağlantı şeması
• Arduino üzerinde 2 den 6 ya kadar ve GND yazan pinlere kablo takıyoruz.
• Ledlerimizi Breadbordun üzerine takıyoruz.
• Her LED’in + Bacağına bir tane direnç takıyoruz.
• GND’ye takılı olan kabloyu breadboard üzerinde – ye takıyoruz
• 2 den 6 ya kadar takılı olan kabloları ledlerin dirençlerine takıyoruz.
• Breadboard üzerindeki – pinlerine kablo takarak ledimizin – girişine takıyoruz.
Karaşimşek ışığı yapımı.
Voidsetup(){
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
}
Voidloop(){
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
delay(25);
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
delay(25);
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
delay(25);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
delay(25);
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
delay(25);}
2,3,4,5,6 pinlerine OUTPUT Yazarak çıkış veriyoruz.
Buraya kadar sadece LED’lerin
Sırasıyla sadece bir yöne doğru yanmasını Sağladık, animasyonun yarısını tamamladık.
Bir sonraki adım ise ledlerin ayın sırayla geriye dönüşü.
Void setup(){
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
}
Void loop(){
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
delay(25);
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
delay(25);
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
delay(25);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
delay(25);
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
delay(25);
digitalWrite(6, LOW);
digitalWrite(5, HIGH);
delay(25);
digitalWrite(5, LOW);
digitalWrite(4, HIGH);
delay(25);
digitalWrite(4, LOW);
digitalWrite(3, HIGH);
delay(25);
Karaşimşek ışığı yapımı.
Serial Bağlantısı kullanımı.
Arduino (0)RX ve (1)TX pinleri üzerinden bilgisayarla haberleşir.
Bu haberleşme sistemine Serial Communication adı verilir.
Arduinoyu programlarken Serial bağlantı oluşturmamız için Void setup ‘ın içerisinde Serial bağlantısını bağlatmamız gerekir.
Serial.begin(9600);
Begin Serial i başlatmak için kullanılan kod.
Baud rate değeri girilir.
Genelde 9600 olarak kullanılır Baud rate haberleşme hızını belirtmektedir.
Serial Port kullanımı.
Serial port kullanarak ekrana Jr.Robotics yazdırmak istiyoruz.
Bunun için
Serial.println("Jr.Robotics");
yazmamız gerek.
Sadece çift tırnak içerisine yazdığınız yazıları ekrana yazdırır.
Print : Yazı yazdırıldığında alt satıra geçmeden devam eder.
Println : Yazı yazdırıldığında alt satıra geçer ve oradan devam eder.
Seri Port Ekranı
Serial.begin(9600);
Kısmında ayarladığımız baud rate i seçiyoruz.
Serial Port kullanımı.
Serial.print ile okuduğumuz veriler burada gözükür.
Serial Port kullanımı.
Potansiyometre’den değer okuma.
• Potansiyometremizin 1. bacağını GND’ye,
• Potansiyometremizin 2. bacağını A0’a,
• Potansiyometremizin 3. bacağını 5v’a, bağlıyoruz.
İnt değer=0;
İnt tamsayı kümesidir, değer adında bir Değişken tanımlıyoruz ve bunun değerini 0 Olarak belirliyoruz.
analogRead(A0);
analogRead analog olarak okuma işlemini sağlar.
Parantez içine yazılan kısım Potansiyometremizin Bağlı olduğu pin numarasıdır.
Deger adlı değişkeni analogRead(A0); dan aldığımız değere eşitliyoruz
Potansiyometre’den değer okuma.
Potansiyometre ile LED parlaklığı ve Map komutu kullanımı
Bağlantı şeması
• Ledin – ucuna bir direnç takıyoruz.
• Ledin + ucunu 5~ nolu pine.
• Direncin diğer ucuna bir kablo takıp GND’ye.
• Potansiyometremizin 1. bacağını GND’ye.
• Potansiyometremizin 2. bacağını A0’a.
• Potansiyometremizin 3. bacağını 5v’a.
map(x,y,z,e,f);
X = değer
Y = Mevcut değerin Minimumu Z = Mevcut değerin Maksimumu E = Yeni değerin Minimumu
F = Yeni değerin Maksimumu
Map fonksiyonu bir değeri belirli bir aralığa sıkıştırır.
Potansiyometreler 0 ile 1023 değeri arasında çalışır.
Ledlerimiz ise 0 ve 255 değerleri arasında çalışır.
Potansiyometre ile kontrol etmek için Pot’un değerini Belirli bir aralığa sıkıştırmamız gerekir bunun için map Fonksiyonunu kullanırız.
Potansiyometre ile LED parlaklığı ve Map komutu
kullanımı
Buzzer kullanımı.
Bağlantı şeması
• Düdüğün + bacağını 5. Pine,
• Düdüğün – bacağını GND’ye takıyoruz.
LM35 Isı sensörü kullanımı.
Bağlantı şeması
• LM35 in 1. bacağını 5v’a,
• LM35 in 2. bacağını A0’a,
• LM35 in 3. bacağını GND’ye takıyoruz.
float Ondalık sayıları içerir.
Sıcaklık adında bir değişken tanımlıyoruz.
Sıcaklık değişkenini A0’dan aldığımız değere eşitliyoruz.
0.48828125 ifadesi [(5V*1000)/1024]10 Formülünden geliyor.
Bu formül üretici firma tarafından veriliyor.
LM35 Isı sensörü kullanımı.
LDR Işık sensörü kullanımı.
Bağlantı şeması
• LDR’nin 1. bacağını 5V’a,
• LDR’nin 2. bacağını A0’a,
• LDR’nin 2. bacağına 100Ohm direnç,
• Direncin bacağını GND’ye takıyoruz.
İnt değer=0;
İnt tamsayı kümesidir, değer adında bir Değişken tanımlıyoruz ve bunun değerini 0 Olarak belirliyoruz.
analogRead(A0);
analogRead analog olarak okuma işlemini sağlar.
Parantez içine yazılan kısım LDR’nin Bağlı olduğu pin numarasıdır.
Aldığımız değeri Serial porta yazdırıyoruz.
LDR Işık sensörü kullanımı.
Teremin (Elektronik enstrüman) yapımı.
Bağlantı şeması
• LDR’nin 1. bacağını 5V’a,
• LDR’nin 2. bacağını A0’a,
• LDR’nin 2. bacağına 100Ohm direnç,
• Direncin bacağını GND’ye,
• Düdüğün 1. bacağını ~10’a,
• Düdüğün 2. bacağını GND’ye
• Takıyoruz.
Deger Adlı değişkeni
LDR’den aldığımız değere eşitliyoruz
Nota isimli değer oluşturuyoruz.
LDR’den aldığımız değeri 4’e bölüp 200 ekliyoruz.
Tone komutu ile Düdüğümüze ses veriyoruz
Teremin (Elektronik enstrüman) yapımı.
Ultrasonik mesafe sensörü kullanımı
• Sensörün VCC pinini 5V’a,
• Sensörün Trig pinini 12’ye,
• Sensörün Echo pinini 11’e,
• Sensörün GND’ pinini GND’ye
takıyoruz.
Includekomutu kütüphane ekler.
NewPing.h Kütüphanesini dahil ediyoruz.
Definetanımlama komutudur.
TRIGGER_PIN ve ECHO_PIN in pinlerini tanımlıyoruz NewPingsonar(x,y,z);
X = Trig pini Y = Echo pini
Z = Maksiimum uzaklığı
.ping_cm() NewPing.h Kütüphnesiyle gelir, noktadan Önce yazılan değer sensörün tanımlanmış ismidir
}
Ultrasonik mesafe sensörü kullanımı
• Sensörün VCC pinini 5V’a,
• Sensörün Trig pinini 12’ye,
• Sensörün Echo pinini 11’e,
• Sensörün GND’ pinini GND’ye
• Düdüğün + ucunu 9’a
• Düdüğün – ucunu GND’ye takıyoruz.
Park sensörü yapımı
if(sonar.ping_cm() > 30 && sonar.ping_cm() < 50) { digitalWrite(buzzer, HIGH);
delay(50);
digitalWrite(buzzer, LOW);
delay(700);
}
İf bir sorgulama komutudur. Parantez içerisinde yazılan koşul Doğru olduğu takdirde { } içine yazılan kodlar çalışır.
Örneğin;
if (5 == 5 ) {
digitalWrite(buzzer, HIGH);
}
• a<b = A B’den küçük ise çalışır.
• a>b = A B’den büyük ise çalışır.
• a==b = A B’ye eşit ise çalışır.
• a<=b = A B’den küçük eşit ise çalışır.
• a>=b = A B’den büyük eşit ise çalışır.
• A>0 && B<5 = Her iki değer sağlanıyorsa çalışır
• A>0 || B<5 = İki koşuldan biri sağlanıyorsa çalışır
• !x < 0 = X değeri sıfırdan büyükse doğrudur ve şart sağlanır.
if (sonar.ping_cm() > 30 && sonar.ping_cm() < 50)
Eğer Sonar değeri 30’dan büyük 50’den küçük ise if çalışır.
Park sensörü yapımı
#include <NewPing.h>
#define TRIGGER_PIN 12
#define ECHO_PIN 11
#define MAX_DISTANCE 200 intbuzzer = 5;
NewPingsonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
voidsetup() {
Serial.begin(115200);
pinMode(buzzer, OUTPUT);
}
voidloop() { delay(50);
if(sonar.ping_cm() > 30 && sonar.ping_cm() < 50) { digitalWrite(buzzer, HIGH);
delay(50);
digitalWrite(buzzer, LOW);
delay(700);
}
if(sonar.ping_cm() > 10 && sonar.ping_cm() < 30) { digitalWrite(buzzer, HIGH);
delay(50);
digitalWrite(buzzer, LOW);
delay(500);
}
if(sonar.ping_cm() > 5 && sonar.ping_cm() < 10) { digitalWrite(buzzer, HIGH);
delay(50);
digitalWrite(buzzer, LOW);
delay(50);
}
if(sonar.ping_cm() > 2 && sonar.ping_cm() < 9) { digitalWrite(buzzer, HIGH);
delay(50);
digitalWrite(buzzer, LOW);
delay(50);
} }
Park sensörü yapımı
Bağlantı şeması
• Servonun Kahverengi pinini GND’ye,
• Servonun Kırmızı pinini 5V’a,
• Servonun Sarı pinini 9’a takıyoruz.
Servo açısal haraketler yapmamızı sağlayan bir motordur.
Servo motorlar içerisinde bulunan parçalar sayesinde normal bir motorun sahip olmadığı belirli bir açıya, konuma ve hıza sahip olmaktadır. Analog sinyallar ile Açısal olarak kontrol edilebilir.
Servo kullanımı.
Attach(9) servonun takılı olduğu pin
Servo kullanımı.
Servonun kütüphanesini ekliyoruz.
Servo servonun tanım kodudur.
Servo; = Ekrana tanımladığımız isim.
Servo.attach(9);
Servo.write(100);
Delay(1000);
Write(100) servonun yapmasını istediğiniz açı değeri
Delay(1000) bekleme miktarı (1 saniye)
Bağlantı şeması
• Servonun Kahverengi pinini GND’ye,
• Servonun Kırmızı pinini 5V’a,
• Servonun Sarı pinini 9’a takıyoruz.
• Potansiyometremizin 1. bacağını GND’ye.
• Potansiyometremizin 2. bacağını A0’a.
• Potansiyometremizin 3. bacağını 5v’a.
Potansiyometre ile servo kontrolü.
Deger adında bir değişken oluşturuyoruz.
A0 üzerinden aldığımız potansiyometrenin değerini değer adlı değişkene eşitliyoruz.
Pot’umuz 0 ile 1023 değeri arası çalışıyor fakat Servomuz 0 ile 180 derece arasında çalışıyor, Bunun için pot’un değerini 0 ile 180 e
sıkıştırmamız
Gerek. Map fonksiyonunu kullanalım.
Map ile sıkıştırılan değerimizi servonun açı değeri kısmına yazıyoruz.
Potansiyometre ile servo kontrolü.
LCD Ekran kullanımı.
LCD’ekran 16 Karakter 2 Satırdan oluşan bir ekrandır. 16 pinden oluşur fakat kullanacağımız I2C modülü ile 16 pin i 4 pine düşürerek kablo kalabalığından kurtuluyoruz.
GND VCC SDA SCL
I2C LCD Ekran bağlatıları.
• GND = GND
• VCC = 5V
• SDA = A4
• Echo = A5
LCD Ekran kullanımı.
LCD Ekran kullanımı.
LCD Ekranın kütüphanesini ekliyoruz.
LiquidCrystal_I2C_AvrI2C LCD Ekranın tanım kodudur.
Lcd = Ekrana tanımladığımız isim.
(x,y,z)
X = Ekranın kodu 0x27 veya 0x3f (Sadece deneyerek bulunabilir.) Y = Kaç karakter olduğu 16 veya 32.
Z = Kaç satır olduğu 2 veya 4.
Lcd.begin();
Lcd.clear();
Lcd.home();
Ekranı çalıştırır.
Ekranı temizler.
İmleci başa alır.
lcd.print("Jr.Robotics");
Çift tırnak içerisine yazılanlar ekrana yazdırılır
LCD Ekran kullanımı.
LCD Ekrana Servo açı değerini yazma.
I2C LCD Ekran bağlatıları.
• GND = GND
• VCC = 5V
• SDA = A4
• Echo = A5
Servo Bağlantıları.
• Kahverengi = GND
• Kırmızı = 5V
• Turuncu = 9
Potansiyometre Bağlantıları.
• 1. Bacak = 5v
• 2. Bacak = A0
• 3. Bacak = GND
LCD Ekrana Servo açı değerini yazma.
İnt değer=0; Değer adında bir değişken tanımlıyoruz.
Map Pot’un değerini servoya göre sıkıştırıyoruz.
Map ile sıkıştırılan değeri servoya yazıyoruz.
Lcd.setCursor(0 ,0); setCursor komutu ekran üzerindeki İmlecimizi belirlememize yarar
x.setCursor(y ,z);
X = Ekranın ismi,
Y = Hangi karakterden yazmaya başlayacağını belirtir.
Z = Ekranın satırı 1. satır için 0, 2. satır için 1 değeri yer alır.
LCD Ekrana Servo açı değerini yazma.
LCD Ekrana Ultrasonik ile uzaklık yazma
Ultrasonik Sensör Bağlantıları.
• VCC = 5V
• Trig = 12
• Echo = 11
• GND = GND
I2C LCD Ekran bağlatıları.
• GND = GND
• VCC = 5V
• SDA = A4
• Echo = A5
LCD Ekrana Ultrasonik ile uzaklık yazma
#include komutu ile Servo.h , NewPing.h ve LiquidCrystal_I2CAvrI2C.h
Kütüphanelerini ekliyoruz.
Ekranımızı tanımlıyoruz.
#define komutu TRIG, ECHO Ve DISTANCE Adlı tanımlamalar yapıyoruz
NewPing Sensörümüzü tanımlıyoruz ve ismini Sonar koyuyoruz.
Lcd.begin(); komutu ile LCD ekranımızı çalıştırıyoruz.
Lcd.print(sonar.ping_cm()); komutu ile LCD ekranımıza uzaklığımızı yazdırıyoruz.
LCD Ekrana Ultrasonik ile uzaklık yazma
Bluetooth modülü Arduino ile TX/RX protokolü ile birbirine bağlanır. RX
“Receive” yani almak, TX ise “Transmit” yani vermek kelimelerinden gelmektedir.
Bağlantıda önemli olan nokta ise Arduino’nun TX pini Bluetooth modülünün RX pinine bağlanmalı, Arduino’nun RX pini de Bluetooth modülünün TX pinine çapraz şekilde bağlanmalıdır.
Bluetooth ile haberleşme
Bluetooth Bağlantıları.
• VCC = 5V
• GND = GND
• TXD = 10
• RXD = 11
Bluetooth ile haberleşme
Bluetooth ile haberleşme
#include komutu ile SoftwareSerial.h Kütüphanesini ekliyoruz.
SoftwareSerial komutu ile bt_iletisim adında bağlantı oluşturuyoruz. Bu bağlantının hangi pinlerden olacağını yazıyoruz.
Bağlantıları başlatıyoruz
Bt_iletişim.available komutu bağlantının olup Olmadığını sorgular. Eğer bağlantı varsa koşul Sağlanır ve döngü çalışır.
Bluetooth ile haberleşme
Bluetooth haberleşme özelliği şuan sadece Android tablet/telefonlarda geçerli. Android tablet/telefon’umuza Arduino Bluetooth Controller Adlı uygulamaya indiriyoruz.
Bluetooth ile haberleşme
Bluetooth ile haberleşme
Bluetooth Bağlantıları.
• VCC = 5V
• GND = GND
• TXD = 10
• RXD = 11
LED Bağlantıları.
• + = 8
• - = GND
Bluetooth ile LED kontrolü
Eğer gelen veri 1’e eşit ise digitalWrite komutu ile LED Yanacaktır.
Eğer gelen veri 0’e eşit ise digitalWrite komutu ile LED Sönecektir.
Bluetooth ile LED kontrolü
DC Motor kullanımı
DC Motor kullanımı
PIR Bağlantıları.
• GND = GND
• DATA = 2
• VCC = 5v
LED Bağlantıları.
• GND = GND
• + = 13
PIR Sensörü kullanımı
Eğer pirPin adlı pinden Okunan değer HIGH ise LED’i Hıgh Konuma getirir
PIR Sensörü kullanımı
Sensör Bağlantıları.
• GND = GND
• OUT = A0
• VCC = 5v
LED Bağlantıları.
• GND = GND
• + = 13
Ses Algılama sensörü kullanımı
LED’in ve Sensörünü pinini tanımlıyoruz.
Sensörden gelen veriyi seviye adlı değişkene atıyoruz.
LED’in seviyesini Sensörden gelen veriye eşitliyoruz.
Ses şiddetine göre yanan lamba
Alkış ile yanan lamba
micro:bit Eğitimi
NGS (Next Generation Science)
Micro:bit nedir?
Micro:bit, üzerindeki elektronik donanımlar sayesinde programlamayı ve elektroniği çocuklara kolayca öğretmek için tasarlanmış kredi kartı boyutunda bir mikro kontrolcü kartıdır.
Kart üzerinde bulunan bileşenler:
Yeniden Başlat Düğmesi: micro:bit içersindeki kodu yeniden başlatmanızı sağlar.
Micro USB: micro:bit’i programlama veya güç vermek için kullanılır.
Bluetooth: micro:bit’in akıllı cihazlar, bilgisayar ya da başka bir micro:bit ile haberleşmesini sağlar.
Pusula Sensörü: Yön belirleme ve algılamada kullanılır.
Buton A-B: Etkileşimli projelerde kullanılır.
Ledler:Animasyon, metin, oyunlar ve daha fazlasını gösterebileceğiniz 25 adet LED içerir.
İvme Ölçer: 3 boyutta hareketin algılanmasını sağlar.
Kenar Konektörü: Harici sensörler, motor veya daha fazlasının micro:bit’ e bağlanmasını sağlar.
Pil Girişi: Pili micro:bit’ e bağlayarak, projelerin taşınabilir hale getirilmesini sağlar.
Micro:bit nasıl kodlanır?
Hem akıllı cihazlar ile hem de herhangi bir web tabanlı düzenleme araçları ile micro:bit’
i programlayabilirsiniz.
Web tabanlı düzenleme araçları MakeCode Editör, Python,Javascript , Scratch ve daha fazlası ile herhangi bir yazılım kurulumu gerektirmeden kolaylıkla programlayabilirsiniz.
Akıllı cihazlar ile programlama da kablo bağlantısı gerektirmez. Bluetooth özelliğiyle yazdığınız kodu micro:bit’e göndermenizi sağlar. Böylece ister evde, ister okulda, ister toplu taşıma aracında her an her yerde micro:bit’i programlayabilirsiniz!
Micro:bit Arayüz kullanımı
Sol tarafta bulunan panel içerisinde Micro:Bit’imizi programlarken Kullanacağımız bloklar gruplandırılmış haldedir.
Kullanacağımız uygun bloğu seçip ekranımıza sürüklüyoruz
Led Matrisi
Micro:bit yerleşik 5x5 led matrisine sahiptir.
Desen oluşturmak veya metni kaydırmak için birden fazla LED'i yakabilirsiniz.
Ayrı ayrı LED'leri aydınlatabilir ve matrisin genel parlaklığını ayarlayabilirsiniz.
Led Matrisi
Matris üzerindeki LED’leri söndürür.
Micro:Bit çalıştığında sadece bir kere çalışır.
Genelde değişkenleri tanımlamakta kullanılır.
Micro:Bit çalıştığı sürece çalışır.
Genelde kodlar burada kullanılır.
Led Matrisi
Bir sayı yazıldığında LED Matris üzerinde gösterir
LED Matris üzerinde yanmasını istediğiniz LED’leri seçin.
İçerisinde tanımlı olan simgeleri kolayca gösterebilirsiniz.
Ekrana yazı yazmamızı sağlar ve içine yazılan yazılar kayar şeklinde gözükür.
Led Matriste Görüntü Gösterme
Temel kısmından led’leri göster bloğundu ekranınıza sürükleyin.
Deseninizi çizmek için boş kutucuklara tıklayın.
Beyaz olan kutucuklar yanacak olan ledleri temsil eder.
Ekranın sağında bu
görüntüyü görebileceksiniz.
Kodu Micro:bit’e Yükleme
Oluşturduğumuz kodu kendi micro:bitimizde çalıştırabilmek için indir butonuna tıklamamız gerekir.
Bu sayede hex uzantılı derlenmiş dosyayı indirmiş oluruz.
Bilgisayarımıza bağlı olan Micro:Bit içerisine bu dosyayı taşıyarak çalıştırabiliriz. (micro PC'ye takıldığında bir sürücü olarak görünür)
Not: Eğer MakeCode for Micro:Bit uygulaması bilgisayarınıza yüklü olarak çalışıyorsanız, bu işleme gerek kalmadan dosya taşınır
Basit Animasyon
Bir dizi görüntü zincirleyerek, bir
animasyon oluşturabilirsiniz. İşte basit bir örnek.
Düşünerek biraz zaman geçirirseniz, muhtemelen
bundan daha iyisini yapabilirsiniz.
Göz Kırpma
Led’leri göster ile sembolik bir göz oluşturun
Duraklat ile iki görsel arasındaki süreyi belirleyelim
Basit Animasyon
Atan kalp animasyonu yapabilir misin?
Değişken Kullanmak
Her görüntü arasında Duraklat(ms) var. Bu programın belirlenen sürede durmasını sağlar.
Muhtemelen, animasyonunuzun her karesi arasında aynı uzunlukta bir duraklama olmasını istersiniz.
Değişkenler kısmından bir değişken oluşturup,bu değişkenin değerini bir kere belirleyip Kullandığınzda bütün süreleri tek seferde değiştirebilirsiniz.
Değişken Tanımlama
İstediğiniz kısımda kullanabilirsiniz
Kayan Metin
Temel kısmından dizgiyi göster i seçerek matris üzerinde metin görüntülemenizi sağlayar. Metin matris boyunca sağdan sola doğru kayar.
Düğmeler A&B
Micro:bit üzerinde 3 buton vardır.
Bunlardan biri panonun arkasındaki sıfırlama butonu. Micro:bit komut dosyalarını yeniden başlatmak için butona basın.
Diğer ikisi ise A ve B düğmeleridir ve program yazarken kullanılabilir.
Düğme Durumu Kontrolü
Girdi kısmından A’ Düğmesine basıldığında Bloğunu seçin.
Kutucuk içerisinde bulunan A harfini Değiştirerek istediğiniz düğmeyi kullanabilirsiniz
Düğme Durumu Kontrolü / if Kodu
A butonuna basınca gülücük, B butonuna basınca üzgün yüz, gösterecek bir kod yapabilir misin?
Önemli Bilgi !
Yazmış olduğun bloklu programların, javascript editör kısmında gerçek kod satırlarını inceleyebilirsin !
Touchy Touchy
Dokunma girişleri oluşturmak için 0, 1 ve 2 etiketli büyük pimler
kullanılabilir.
Bir Devre Kuralım
Bir LED devresi kuralım
Bir LED devresi kuralım
A Düğmesine basıldığında LED’imiz yansın B Düğmesine basıldığında LED’imiz sönsün
LED’imizin + bacağı Micro:Bit’imizin 0 pinine bağlı.
Micro:Bit’üzerindeki pinlere güç verebilmek için Gelişmiş içerisinden içerisniden Pinler’i seçiyoruz
Ardundan dijital yaz pin: bloğumuzu ekranımıza sürüklüyoruz Değer: yazan kısmı 1 yaptığımzda LED’imiz yanacaktır.
Değer: yazan kısmı 2 yaptığımızda LED’imiz sönecektir.
Bir LED devresi kuralım
Projelerimizde mantıksal döngüler kullanırız.
Bu mantıksal döngüleri kurabilmek için;
Mantık içerisinden eğer bloğunu seçin.
Mantık içerisinde yer alan Karşılaştırma ve Boolean
Bloklarını eğer içerisinde yer alan true kısmına sürüklediğinzde Koşulunuzu belirleyebilirsiniz.
Accelerometer
Micro:bit yerleşik bir ivmeölçer var. Bu, x, y ve z eksenleri boyunca panele uygulanan ivme miktarını algılar.
Accelerometer ile Eğim Ölçme
Girdi içinde yer alan pusula yönünü bize Micro:bit’in yaptığı açısal değerleri verir Bu değerleri kullanarak yönünü bulabiliriz.
Kendin Yap
Bir su terazisi yapabilirsiniz. Örnekte, eğimi bulmak için eşik değeri olarak 10 ° kullanılmıştır –
Bu eşik değerlerini daha uygun değerler kullanarak daha hassas hale getirebilirsiniz.
Shake
Bir önceki etkinlikte Accelerometer (ivme ölçer) kullanmıştık.
İvme ölçer sensörü sayesinde Micro:bit’in sallanmasını algılayabiliriz
Sallayarak Rastgele Bir Rakam Oluşturma
Girdi içerisinden Salla’ise yi seçerek sallandığını algılayabiliriz.
Matematik içerisinde yer alan rastgele değer seçimi kısmı ile sitediğiniz aralıkta Sayı oluşturabilirsiniz.
Kodlama Yapalım
Değişkenler kısmından rastgele adında bir değişken oluşturalım.
Değişkenler kısmında rastgele değişkenini 0 yap ı seçerek içerisinde,
Matematik kısmından rastgele değer seçimi ile 1 ile 10 arasında rastgele bir sayı oluşturalım.
Bu sayı 5’ten küçük ise üzgün, Değilse gülen surat oluşturalım
Kodlama Yapalım
Accelerometre sensörünü kullanılarak Taş, Kağıt, Makas Oyununu yapabilirsin!
Kodlama Yapalım
Accelerometer ile Micro:bit’in farklı konumlarına göre görevler tanımlayabiliriz.
Radio
Radyo kullanılarak başka mikro:bit blokları bir mikro arasında telsiz mesajları gönderebilir.
Ruh halimizi karşımızdakine bildiren bir radyo iletişimi yapalım.
Micro:bit üzerindeki A düğmesine basınca gülen surat; B düğmesine basınca üzün sürat mesajı iletelim.