Rehberler · 9 dk okuma

Robotik Kodlama Dersi: Blok Kodlamayla 8 Haftalık Arduino Planı

Robotik kodlama ders planı: 8 hafta, 40 dakikalık dersler, ücretsiz bloklu Arduino projeleri, 24 kişilik sınıfa malzeme listesi, örnek ders ve rubrik.

Robotik kodlama, bir kartın çevresini algılamasını, karar vermesini ve bir şeyi harekete geçirmesini sağlayan programları yazmaktır: buton ya da ışık sensörü algılar, Arduino karar verir, LED, buzzer ya da motor tepki verir. Sınıfta bu üçlüyü öğretmenin en rahat yolu blok kodlamayla başlamak, öğrenciler mantığı oturttukça aynı programın gerçek koduna geçmektir. Bu yazıda öğretmenler, robotik kulüpleri ve evde atölye yapan aileler için hazır bir robotik kodlama ders planı var: 8 hafta, haftada bir 40 dakikalık ders ve her hafta BlueGrays'teki ücretsiz bir bloklu projeyle.

Bu yazı Bloktan Koda serisinin 6. ve son bölümü. Bir önceki bölümde bloklarla sensör okumayı ve Pico'da MicroPython'a geçişi anlattık; seriye baştan başlamak istersen blok kodlama nedir yazısına dön.

Planın her haftasında bir hedef, bir ücretsiz BlueGrays projesi, o hafta tanışılan yeni blok ve gerçek kodda karşılığı var. Ardından 24 kişilik bir sınıf için malzeme listesi, dakika dakika örnek bir ders akışı, değerlendirme rubriği, hızlı ve yavaş gruplar için farklılaştırma önerileri, donanım yoksa simülatörle ders ve güvenlik notları geliyor. Plan Arduino Uno ile kurulu; isteğe bağlı bir haftada Raspberry Pi Pico ve MicroPython da var.

Robotik kodlama nedir, neden bloklarla başlanır?

Robotik kodlama eğitimi denince akla hemen robot araba gelir, ama robotun temelinde hep aynı üç iş vardır: algılamak, karar vermek, harekete geçmek. Butonu okumak algılamaktır, "buton basılıysa" diye sormak karar vermektir, LED'i yakmak ya da buzzer'ı öttürmek harekete geçmektir. Bir öğrenci bu üç adımı bir LED ve bir butonla kavradığında, aynı mantığı motorlara ve mesafe sensörüne taşımak yalnızca parça değiştirmekten ibarettir. Bu yüzden bu plan motorla değil, LED ve butonla başlar; son haftada HC-SR04 mesafe sensörüyle robotun "gözüne" geçer.

Neden bloklarla başlamalı? 10–14 yaş grubunda ilk derslerin en büyük düşmanı noktalı virgül, süslü parantez ve büyük-küçük harf hatalarıdır; öğrenci programın ne yaptığını değil, neden derlenmediğini düşünür. Bloklarda bu hatalar yoktur, dikkat doğrudan mantığa gider. Ama blokta kalmak da hedef değil: gerçek dünyada Arduino C++ ile, Pico MicroPython ile programlanır. BlueGrays'teki bloklar tam bu köprü için hazırlandı; her blok karta yüklenen gerçek kodun bir satırına birebir karşılık gelir. Öğrenci önce blokları okur, sonra aynı programın koduna bakar ve hangi bloğun hangi satır olduğunu eşleştirir. Bloklu projelerin tamamını ve nasıl çalıştığını blok kodlama sayfasında görebilirsin.

8 haftalık robotik kodlama ders planı

Her ders 40 dakika ve 2–3 kişilik gruplarla düşünüldü. Tablodaki bütün projeler BlueGrays'te blokları ve koduyla birlikte tamamen ücretsiz; öğrencilerin Premium'a ihtiyacı yok. Sıralama bilinçli: önce çıkış (LED), sonra zamanlama, değişken ve tekrar, ardından giriş (buton) ve koşul, durum tutma, analog sensör, dizi ve döngü, en sonda ses ve mesafe. Her hafta bir öncekinin üzerine tek bir yeni fikir ekler.

HaftaHedefÜcretsiz BlueGrays projesiYeni blok / kavramGerçek kodda
1Program nedir, dijital çıkışLed Yakmakurulum (bir kez çalışır), sürekli tekrarla, … numaralı pini ÇIKIŞ olarak ayarla, … numaralı pine YÜKSEK / DÜŞÜK yaz, … ms beklesetup(), loop(), pinMode(), digitalWrite(), delay()
2Komutların sırası ve zamanlama2 Adet Led Yakma, Trafik LambasıAynı blokları farklı pinlerle sıralamak, bekleme sürelerini değiştirmekSatır sırası; 2000 ms = 2 s
3Değişken ve sayılı tekrarPolis Çakargenel değişkenler (en başta), tanımla: tam sayı (int) delayTime = 60, … kez tekrarlaint delayTime = 60; for (int i = 0; i < 3; i++)
4Giriş ve koşulButon İle Led Yakma (Push)… numaralı pini GİRİŞ olarak ayarla, … numaralı pini oku, eğer … yap … değilse, = karşılaştırmapinMode(13, INPUT), digitalRead(), if / else, ==
5Durumu hatırlamak (aç-kapa)Buton İle Led Yakma (On Off)… değişkenine … ata, ≠ karşılaştırma, … değil, 50 ms bekleledState = !ledState; !=; buton sıçraması (debounce)
6Analog sensör ve eşikLdr İle Işık Şiddeti Okuma, Ldr İle Gece Lambasıanalog oku A0, seri portu 9600 baud ile başlat, seri porta yaz, < karşılaştırmaanalogRead(A0) 0–1023, Serial.begin(9600), Serial.println(), if (value < 50)
7Dizi ve döngüYürüyen Led, Hız Ayarlı Yürüyen Leddizi 2 3 4 5 6 7, i değişkeniyle say: 0 ile 5 arası, adım 1, ledPins dizisinden öğe iint ledPins[] = {2, 3, 4, 5, 6, 7}; for (int i = 0; i < 6; i++)
8Ses ve mesafe: robotun duyularıBuzzer Kullanımı, HC-SR04 Mesafe Ölçme (Serial Ekran)… numaralı pinde … Hz ses çal, … numaralı pinde sesi durdur, … µs bekle, … numaralı pinde YÜKSEK darbe süresi (µs), vetone(), noTone(), delayMicroseconds(10), pulseIn(), &&
İsteğe bağlıPico ve MicroPythonPico Harici LED Yakma (GP14)led adlı pin: GP LED_PIN, ÇIKIŞ; led pinini aç (on) / kapat (off); 0.5 saniye beklePin(14, Pin.OUT), led.on(), time.sleep(0.5), while True:
Trafik Lambası projesinin Türkçe blokları: kurulumda 2, 3 ve 4 numaralı pinler çıkış, sürekli tekrarla içinde YÜKSEK/DÜŞÜK yazma ve bekleme blokları
2. hafta: Trafik Lambası. Öğrenciler kırmızı 2000 ms, sarı 300 ms ve yeşil 2000 ms sürelerini bloklardan okuyup koddaki delay() satırlarıyla eşleştirir.

Planı uygularken her haftanın sonunda öğrencilerin tek bir değeri değiştirmesini kural hâline getir. 1. haftada Led Yakma projesindeki 100 ms bekleme 1000 ms olunca LED'in yavaşladığını görmek, "programı ben yönetiyorum" duygusunu ilk derste verir. 3. haftada Polis Çakar projesindeki delayTime değişkeni 60'tan 200'e çıkınca tek bir sayının altı bloğu birden etkilediğini görürler; değişkenin neden var olduğunu anlatmanın en kısa yolu budur. 6. haftada Ldr İle Gece Lambası projesindeki 50 eşiğini sınıfın ışığına göre ayarlamak, sensör değerinin ortama göre değiştiğini öğretir. 7. haftada Hız Ayarlı Yürüyen Led için gruplara birer 10 kΩ potansiyometre ver; LED'lerin hızını elle değiştirmek o haftanın en sevilen anı olur.

Sınıfında birkaç Raspberry Pi Pico varsa 8. haftadan sonra bir ders daha ekle: Raspberry Pi Pico Harici LED Yakma projesi 1. haftadaki LED yakmanın MicroPython hâlidir. Bloklar yine aynı mantığı gösterir ("led pinini aç (on)", "0.5 saniye bekle"), ama kod artık Python: Pin(14, Pin.OUT), led.on() ve time.sleep(0.5). Kodu Thonny'ye yapıştırıp çalıştırırsın. Aynı programı iki dilde görmek, öğrenciye "mantık aynı, yazım farklı" fikrini en net biçimde gösterir.

Malzeme listesi: 24 kişilik sınıf için

24 öğrenciyi 3'erli gruplara bölersen 8 grup çıkar; bir yedek setle 9 set hazırlaman yeterli. 2'li gruplar istersen sayıları 12 gruba göre artır. Lehim gereken hiçbir parça yok, hepsi breadboard'a takılır. Okulda tek tek parça almak yerine hazır bir başlangıç setinin içeriğini bu listeyle karşılaştırmak işini kolaylaştırır; hangi setin neyle geldiğini Arduino başlangıç seti yazısında ayrıntılı anlattık.

MalzemeGrup başınaSınıf için (8 grup + 1 yedek)Kullanıldığı hafta
Arduino Uno ya da uyumlu kart19Hepsi
USB kablo (Uno için USB A-B)19Hepsi
Breadboard (400 ya da 830 delik)19Hepsi
Erkek-erkek jumper kablo20yaklaşık 200Hepsi
5 mm LED (kırmızı, sarı, yeşil, mavi karışık)8yaklaşık 801–7
220 Ω direnç8yaklaşık 801–7
10 kΩ direnç2yaklaşık 254–6
Push buton (4 bacaklı)2yaklaşık 204–5
LDR (ışık sensörü)1106
Buzzer (frekans değiştirmek için pasif buzzer)1108
HC-SR04 ultrasonik mesafe sensörü1108
10 kΩ potansiyometre (isteğe bağlı)1107
Raspberry Pi Pico + micro USB kablo (isteğe bağlı)1birkaç adetPico haftası
Ders başlamadan dirençleri ayrı kutulara koy ve kutuların üstüne değerini yaz: 220 Ω (kırmızı-kırmızı-kahverengi) LED'ler için, 10 kΩ (kahverengi-siyah-turuncu) buton ve LDR için. İki direnç karışırsa LED ya çok sönük yanar ya da buton hiç çalışmaz, ve bunu bulmak bir dersin yarısını yer. Renk halkalarını direnç renk kodu hesaplayıcısıyla, LED'e uygun direnci de LED direnci hesaplayıcısıyla öğrencilerle birlikte kontrol edebilirsin.

Örnek ders akışı: 5. hafta, butonla aç-kapa

Aşağıdaki akış 40 dakikalık bir ders için ve her hafta aynı iskeleti kullanabilirsin: ısınma, blokları birlikte okuma, tahmin, devre, gerçek kod, bir değeri değiştirme, çıkış sorusu. Örnek olarak 5. haftanın projesi Buton İle Led Yakma (On Off) seçildi, çünkü "program bir şeyi hatırlayabilir" fikri robotik kodlamanın dönüm noktalarından biridir.

SüreAşamaNe yapılır?
0–5 dkIsınmaSoru: Işık düğmesine bir kez basınca lamba yanar, bir daha basınca söner. Düğme bunu nasıl hatırlıyor? Birkaç cevabı tahtaya yaz.
5–12 dkBlokları birlikte okumaProjeyi projeksiyonda aç, Bloklarla göster açık olsun. Bloklar yukarıdan aşağı sesli okunur; ledState ve lastButton değişkenlerinin ne tuttuğu konuşulur.
12–15 dkTahminHer grup kâğıda yazar: Butonu basılı tutarsam LED ne yapar? 50 ms bekle bloğu olmasaydı ne değişirdi?
15–25 dkDevreyi kurmaButon D13'e ve 10 kΩ ile GND'ye (pull-down), LED 220 Ω ile D7'ye. Roller: kurucu, kontrolcü, okuyucu.
25–32 dkGerçek kodu yüklemeAnahtar kapatılır, kod kopyalanıp Arduino IDE'ye yapıştırılır ve karta yüklenir. Tahminler denenir.
32–37 dkBir değeri değiştirmedelay(50) önce 0, sonra 300 yapılır; hızlı basışlarda LED'in davranışı gözlenir. İsteyen grup LED pinini hem kodda hem devrede değiştirir.
37–40 dkÇıkış sorusuTek soru, kâğıda: ledState = !ledState satırı ne yapar, bloklarda karşılığı hangisi?
Buton İle Led Yakma (On Off) projesinin Türkçe blokları: genel değişkenler, kurulum, sürekli tekrarla, iç içe eğer blokları, değil ve 50 ms bekle
Örnek dersin projeksiyon görüntüsü: dıştaki "eğer" butonun değişip değişmediğine, içteki "eğer" basılıp basılmadığına bakar; "ledState değil" bloğu LED'in durumunu tersine çevirir.
C++ (Arduino IDE)
1int ledState = 0;     // LED durumu: 0 = kapalı, 1 = açık / LED state: 0 = off, 1 = on
2int lastButton = 0;   // Önceki buton okuması / Previous button reading
3
4void setup() {
5  pinMode(13, INPUT);   // Buton girişi (harici pull-down) / Button input (external pull-down)
6  pinMode(7, OUTPUT);   // LED çıkışı / LED output
7}
8
9void loop() {
10  int button = digitalRead(13);   // Butonu oku / Read the button
11  if (button != lastButton) {     // Buton durumu değişti / Button state changed
12    if (button == 1) {            // Yalnız basış anında (LOW -> HIGH) / Only at the press (LOW -> HIGH)
13      ledState = !ledState;       // Durumu tersine çevir / Flip the state
14      digitalWrite(7, ledState);
15    }
16    delay(50);                    // Sıçramayı atlamak için kısa bekleme / Short wait to skip the bounce
17    lastButton = button;          // Bu okumayı sakla / Store this reading
18  }
19}
20

Bloklarla kodu yan yana koyduğunda eşleşme çok nettir: "genel değişkenler (en başta)" içindeki iki "tanımla: tam sayı (int)" bloğu kodun ilk iki satırıdır, "kurulum (bir kez çalışır)" setup(), "sürekli tekrarla" loop() olur. "button değişkenine 13 numaralı pini oku ata" bloğu int button = digitalRead(13) satırıdır, "≠" karşılaştırması !=, "ledState değil" ise !ledState. Tahmin aşamasında çoğu grup "butonu basılı tutarsam LED yanıp söner" der; denediklerinde LED'in yalnızca bir kez değiştiğini görürler, çünkü dıştaki "eğer" yalnızca buton durumu değiştiğinde çalışır. Yanlış tahminin düzeltildiği bu an dersin en öğretici dakikasıdır. delay(50) satırı 0 yapıldığında bazı basışlarda LED'in iki kez değiştiğini, yani hiç değişmemiş gibi göründüğünü görürler; bu, buton sıçramasını (bounce) anlatmak için mükemmel bir giriştir. Butonun neden 10 kΩ ile GND'ye bağlandığını merak eden gruplara buton bağlantısı yazısını gösterebilirsin.

BlueGrays'i sınıfta nasıl kullanırsın?

  • Projeyi aç: Öğrenciler kendi telefonlarında ya da tablette haftanın projesini açar. Proje listesindeki blok rozeti bloklu projeleri gösterir, filtreden yalnız bloklu projeleri listeleyebilirler. Her projede parça listesi ve devre şeması hazır.
  • Bloklarla göster: Kod bölümündeki bu anahtar açılınca kodun yerine aynı programın blokları gelir. Görsele dokununca tam ekran açılır; projeksiyonda sınıfla birlikte okumak için idealdir. Bloklar uygulamanın dilinde görünür.
  • Blokları anla: Bu sekme programı adım adım anlatır; her adımda yalnız o adımın blokları ve ne yaptığı görünür. Yavaş ilerleyen gruplar için birebir öğretmen yardımcısıdır.
  • Gerçek koda geç: Anahtar kapatılınca aynı programın kodu gelir. Öğrenci kodu kopyalayıp Arduino IDE'ye (Pico'da Thonny'ye) yapıştırır ve karta yükler.
  • Kod rehberi: digitalWrite, if/else, for gibi komutların örnekleri burada; her örnek bloklarla da var. Öğrenci bir komutu unuttuğunda sana sormadan önce buraya bakmayı alışkanlık edinir.
  • Günün soruları: Her gün A1'den C2'ye seviyelere göre 5 soru, haftalık sıralama ve rozetler var. Derslerin arasında günde birkaç dakikalık tekrar için öğrencilere önerebilirsin.
Beklentiyi baştan doğru kur: BlueGrays'te bloklar programı okumak ve anlamak içindir. Öğrenciler uygulamada kendi bloklarını dizip program yazamaz ve bloklar karta doğrudan yüklenmez; karta her zaman projenin gerçek kodu yüklenir. Öğrencilerin sıfırdan kendi blok programını kurmasını istediğin bir etkinlik planlıyorsan bunun için bilgisayarda blok sürükleyerek program yazılan araçları kullanabilirsin; bu yaklaşımı mBlock ile Arduino yazısında anlattık. İki yöntem birbirini güzel tamamlar.

Donanım yoksa: simülatörle robotik kodlama dersi

Setler henüz gelmediyse ya da uzaktan ders yapıyorsan Tinkercad Circuits ve Wokwi gibi tarayıcıda çalışan simülatörler iyi bir alternatif. İkisinde de Arduino Uno, breadboard, LED, direnç ve buton bulunur, sensör desteği de geniştir; devreyi ekranda kurup projenin gerçek kodunu yapıştırarak çalıştırabilirsin. Akış aynı kalır: bloklar BlueGrays'te okunur, kod simülatöre yapıştırılır, değer değiştirilip sonuç izlenir. Tinkercad'in kendi blok editörü de olduğu için bazı öğretmenler ilk haftaları tamamen orada geçirir. Yine de LED'in gerçekten yandığını görmek ve breadboard'da kablo takmak motivasyonu çok artırır; simülatörü donanımın yerine değil, öncesine koymak daha verimli olur. Kurulum ve ilk devre için Tinkercad ile Arduino simülasyonu ve Wokwi simülasyonu yazılarına bakabilirsin.

Değerlendirme: robotik kodlama rubriği

Robotik kodlama derslerinde ürün kadar süreç de önemlidir: LED'i yakan grup ile LED'i neden yanmadığını bulan grup aynı şeyi öğrenmiş olabilir. Aşağıdaki rubriği her ders tek bir ölçüte odaklanarak kullanmak işini kolaylaştırır; 8 haftanın sonunda her öğrencinin altı ölçütte de en az bir kez gözlemlenmiş olması yeterlidir. Çıkış soruları da bu tabloya veri sağlar.

Ölçüt1 – Başlıyor2 – Gelişiyor3 – Hazır
Devre kurmaYardımla kurar, bağlantı hataları sıkŞemaya bakarak kurar, bir-iki hatayı kendisi bulurŞemayı az kullanır, arkadaşının hatasını gösterir
Blokları okumaBlok adlarını okur, sırayı açıklayamazProgramın ne yaptığını genel olarak anlatırHer bloğun işini ve sıranın neden önemli olduğunu anlatır
Tahmin ve testTahmin yapmaz ya da denemezTahmin yapar, sonucu not ederTahmin tutmayınca nedenini bulur
Blok-kod eşleştirmeBlok ile kod satırını eşleştiremezPin, yaz ve bekle bloklarını kodda bulurif, for ve değişken satırlarını da eşleştirir
Değer değiştirmeDeğeri değiştirir, etkisini açıklayamazDeğiştirir ve etkisini anlatırDeğişikliğini önceden planlar, hatayı derleyici mesajından bulur
Takım çalışmasıRolünü sık bırakırRolünü yaparRolleri değiştirir, diğer gruplara yardım eder

Hızlı ve yavaş gruplar için farklılaştırma

  • Hızlı gruplar, ek görev: Trafik Lambası koduna dördüncü bir aşama ekle (örneğin kırmızıyla birlikte sarı) ya da sürelerini gerçek bir kavşağa göre yeniden hesapla. Kodu Arduino IDE'de kendileri değiştirir, blokları referans olarak kullanırlar.
  • Hızlı gruplar, birleştirme: 8. haftada HC-SR04 Mesafe Ölçme (Serial Ekran) ile Buzzer Kullanımı projelerini tek programda birleştirip mesafe 20 cm'nin altına inince buzzer öttüren bir park sensörü yazmayı dene. Bu, blok okumaktan kendi kodunu yazmaya geçişin ilk gerçek adımıdır.
  • Hızlı gruplar, platform değiştirme: Pico'su olan gruplar Pico Harici LED Yakma projesini açıp aynı programın MicroPython hâlini 1. haftanın C++ koduyla karşılaştırır.
  • Yavaş gruplar, hazır devre: Devreyi önceden kurulmuş olarak ver ya da devre şemasını büyük basılı olarak masaya koy. Bu gruplar zamanlarını blokları okumaya ve tahmine ayırır.
  • Yavaş gruplar, adım adım: Blokları anla sekmesiyle programı adım adım ilerlesinler ve her adımın sonunda bir cümleyle ne olduğunu söylesinler. Tek bir değeri değiştirmek o gün için yeterli hedeftir.
  • Karma eşleştirme: Her grupta en az bir "okuyucu" olsun; devre kurmada hızlı ama okumada yavaş öğrenciyle tersini aynı gruba koymak iki tarafı da ilerletir.

Bloktan metne geçiş: ne zaman, nasıl?

Geçiş için belirli bir hafta yoktur; doğru an, öğrencinin blokları görünce programın ne yapacağını önceden söyleyebildiği andır. Bu planda çoğu sınıf 4. ya da 5. haftada bu noktaya gelir. Yine de kodla tanışma ilk günden başlar: her derste gerçek kod karta yüklendiği için öğrenciler setup(), loop() ve digitalWrite() satırlarını 1. haftadan itibaren görür. Geçiş, "blokları görüp kodu yüklemek"ten "kodu okuyup gerekirse bloklara bakmak"a doğru yavaşça kayar. Aşağıdaki sıra bu kaymayı kolaylaştırır:

  1. Blokları ve kodu yan yana koy, her bloğun karşılığı olan satırı birlikte bul (1–3. haftalar).
  2. Blokları kapat, yalnız kodu oku ve programın ne yapacağını tahmin et; sonra Bloklarla göster ile kontrol et (4–5. haftalar).
  3. Değeri yalnız kodda değiştir: bekleme süresi, pin numarası, eşik değeri. Derleme hatası alırsan ilk satırı oku (5–6. haftalar).
  4. Kodda yeni bir satır yaz: Yürüyen Led dizisine bir LED daha ekleyip döngü sınırını 6'dan 7'ye çıkarmak gibi (7. hafta).
  5. İki projeyi birleştirip küçük bir kendi programını yaz; takıldığında Kod rehberindeki örneklere ve bloklara bak (8. hafta ve sonrası).

Güvenlik ipuçları

Bu plandaki her devre USB'nin 5 V'u ile çalışır; ek pil ya da adaptör gerekmez, prize bağlanan hiçbir şey kullanma. Devreyi değiştirmeden önce USB kablosunu çıkar. 5V pinini doğrudan GND'ye bağlamak kısa devre yapar: kart ısınır, bilgisayar USB portunu kapatabilir. LED'i her zaman 220 Ω dirençle bağla, pinleri doğrudan birbirine bağlama. Bir parça ısınıyorsa ya da yanık kokusu geliyorsa hemen USB'yi çek. Bacakları sivri parçalar ve jumper uçları küçük çocuklar için dikkat ister; dersin sonunda parçaları sayarak kutulara topla.

Bloktan Koda serisinin özeti

Seriyi burada tamamladık; sınıfta uygulamaya başlamadan önce mantığı bir kez daha tazelemek istersen blok kodlama nedir yazısıyla başa dönebilirsin. Plandaki bütün projelere BlueGrays uygulamasında devre şeması, parça listesi ve koduyla birlikte bakabilirsin; Bloklarla göster anahtarıyla aynı programın blok hâline, Blokları anla sekmesiyle de adım adım açıklamasına geçip dersi projeksiyondan rahatça yürütebilirsin.

Sıkça sorulan sorular

Robotik kodlama nedir?

Robotik kodlama, bir kartın sensörlerle çevresini algılamasını, karar vermesini ve LED, buzzer ya da motor gibi parçalarla tepki vermesini sağlayan programları yazmaktır. Okullarda genellikle Arduino gibi kartlar ve blok kodlamayla başlanır, sonra C++ ya da MicroPython gibi metin tabanlı dillere geçilir.

Robotik kodlama eğitimi kaç yaşında başlar?

Okumayı rahat söken 9–10 yaş ve üstü çocuklar bir yetişkinle birlikte başlayabilir. Bu yaşta blok kodlama ve lehim gerektirmeyen breadboard devreleri en uygun başlangıçtır. 12 yaş civarında çoğu öğrenci gerçek kodu okumaya hazır olur.

Blok kodlama ders planı nasıl hazırlanır?

Her derse tek bir yeni fikir koy ve sırayı çıkış, zamanlama, değişken, giriş, koşul, sensör, döngü diye kur. Her ders aynı iskeleti izlesin: ısınma, blokları birlikte okuma, tahmin, devre, gerçek kod, bir değeri değiştirme ve çıkış sorusu. Bu yazıdaki 8 haftalık plan bu yapıyla hazırlandı.

Robotik kodlama dersi için hangi malzemeler gerekir?

Her grup için bir Arduino Uno ya da uyumlu kart, USB kablo, breadboard, jumper kablolar, LED'ler, 220 Ω ve 10 kΩ dirençler, buton, LDR, buzzer ve HC-SR04 mesafe sensörü yeterlidir. 24 kişilik bir sınıfta 3'erli gruplarla 8 set ve bir yedek set hazırlaman önerilir.

Arduino olmadan robotik kodlama öğretilebilir mi?

Evet, Tinkercad Circuits ve Wokwi gibi tarayıcıda çalışan simülatörlerle devreyi ekranda kurup kodu çalıştırabilirsin. Yine de gerçek bir LED'i yakmak motivasyonu çok artırdığı için simülatörü donanıma hazırlık olarak kullanmak daha verimlidir.

Blok kodlamadan Arduino koduna ne zaman geçilmeli?

Öğrenci blokları görünce programın ne yapacağını önceden söyleyebiliyorsa geçiş zamanı gelmiştir; bu planda çoğu sınıf 4. ya da 5. haftada bu noktaya ulaşır. Önce bloklarla kodu yan yana okuyun, sonra değerleri yalnız kodda değiştirin, en sonda yeni satırlar yazın.

Tüm projeleri gör
Led Yakma
#1Başlangıç

Led Yakma

Elektroniğin ilk merhabası: tek bir LED'i yakıp söndürmek. Arduino LED'i çok kısa aralıklarla yakıp söndürür, ışık hızlı hızlı göz kırpar. Kartın bir ışığı nasıl yönettiğini en sade haliyle görür, son

4.6(188)
1127
Trafik Lambası
#3Başlangıç

Trafik Lambası

Her gün yolda gördüğün trafik ışığının minik bir kopyası. Kırmızı iki saniye yanar, sarı kısa bir an parlar, yeşil iki saniye yanar, ardından yine sarı üzerinden kırmızıya dönülür ve döngü hiç durmaz.

4.8(131)
397
Polis Çakar
#4Başlangıç

Polis Çakar

Polis arabasının çakarı gibi: kırmızı LED üç kez hızlıca yanıp söner, ardından mavi LED üç kez çakar ve bu sıra hiç durmadan sürer. Arduino'ya iki LED ve iki direnç bağlaman yeter. Birkaç dakikada kur

4.7(103)
258
Buton İle Led Yakma (Push)
#9Başlangıç

Buton İle Led Yakma (Push)

Kapı zili gibi: bastığın sürece ışık yanar, bırakınca söner. Arduino butonu sürekli dinler; butona basılıyken LED'i yakar, elini çektiğin an söndürür. Kartın dışarıdan gelen bir dokunuşu nasıl hissett

4.8(113)
229
Buton İle Led Yakma (On Off)
#10Başlangıç

Buton İle Led Yakma (On Off)

Bir butona bir kez basınca ışık yanar, bir daha basınca söner; tıpkı odandaki lamba düğmesi gibi. Arduino her basışı fark edip LED'in durumunu tersine çevirir, düğme içindeki minik titreşimler ışığı k

4.8(100)
167
Ldr İle Gece Lambası
#12Başlangıç

Ldr İle Gece Lambası

Hava karardığında kendiliğinden yanan, sabah olunca sönen küçük bir gece lambası. Işık sensörü odadaki aydınlığı ölçer; Arduino ortam yeterince karanlıksa LED'i yakar, aydınlanınca söndürür. Sokak lam

4.8(102)
205
Yürüyen Led
#5Orta

Yürüyen Led

Sıra sıra yanıp sönen, koşar gibi ilerleyen ışıklar. Arduino altı LED'i tek tek yakar; her biri kısa bir an parlayıp söner ve ışık baştan sona yürür, sonra yeniden başlar. Birden çok ışığı tek bir düz

4.6(85)
207
HC-SR04 Mesafe Ölçme (Serial Ekran)
#27Başlangıç

HC-SR04 Mesafe Ölçme (Serial Ekran)

Yarasalar karanlıkta yollarını nasıl buluyorsa HC-SR04 sensörü de öyle çalışır: duyamadığın bir ses gönderir, yankısını dinler ve önündeki cismin ne kadar uzakta olduğunu ölçer. Arduino bu mesafeyi sa

4.6(46)
71