Temeller · 9 dk okuma

Blok Kodlama Nedir? Blok Program Gerçek Koda Nasıl Dönüşür

Blok kodlama nedir, blok tabanlı kodlama nasıl çalışır? Blok renkleri, setup ve loop karşılığı, Led Yakma örneğiyle bloktan C++ ve MicroPython koduna geçiş.

Blok kodlama, programı klavyeyle satır satır yazmak yerine yapboz parçasına benzeyen renkli blokları alt alta dizerek kurma yöntemidir. Her blok tek bir komuttur: "pini çıkış yap", "LED'i yak", "100 ms bekle" gibi. Bloklar birbirine yalnızca uyduğu yerden geçtiği için noktalı virgül unutmak, parantezi kapatmamak ya da komutu yanlış harfle yazmak gibi hatalar baştan ortadan kalkar; sen yalnızca programın mantığına odaklanırsın. Bu yüzden blok tabanlı kodlama, çocuklar ve yeni başlayanlar için programlamaya en yumuşak giriş olarak görülür.

Bu yazı Bloktan Koda serisinin 1. bölümü. Sonraki bölümde ilk programı bloklarla kuruyoruz: blok kodlamayla LED yakıp söndürme.

Ama blok kodlama oyuncak bir dil değildir. Bir Arduino'ya ya da Raspberry Pi Pico'ya giden her blok programın arkasında gerçek bir kod vardır ve kart her zaman o kodu çalıştırır. Bu yazıda blokların ne olduğunu, renklerinin ne anlattığını ve bir blok programın gerçek C++ ya da MicroPython koduna nasıl dönüştüğünü BlueGrays'teki ücretsiz projeler üzerinden adım adım göreceksin. Sonunda blok kodlamanın avantajlarını, sınırlarını ve Scratch, mBlock, Tinkercad gibi araçlarla nasıl birlikte kullanılabileceğini de bulacaksın.

Led Yakma projesinin blokları: kurulum (bir kez çalışır) ve sürekli tekrarla
Led Yakma projesinin blok hâli: kurulum bloğu 9 numaralı pini ÇIKIŞ yapar, sürekli tekrarla bloğu LED'i 100 ms yakıp 100 ms söndürür. Bu küçük programın C++ karşılığını aşağıda satır satır eşleştiriyoruz.

Blok kodlama nedir, neden "blok" deniyor?

Blok kodlamada her komut, kenarlarında girinti ve çıkıntı olan bir parçadır. Üstteki bloğun alt çıkıntısı alttaki bloğun girintisine oturur, böylece komutlar yukarıdan aşağıya sırayla çalışır. Bazı blokların içinde ağız gibi açık bir boşluk vardır: bunlar başka blokları içine alan kapsayıcı bloklardır. Bazılarının üzerinde de beyaz oval yuvalar bulunur ve oraya sayı ya da başka bir değer bloğu takılır. Parçaların şekli neyin nereye takılabileceğini belirlediği için kurallara aykırı bir program kurmak neredeyse imkânsızdır. Bugünkü blok editörlerinin çoğu MIT'nin geliştirdiği Scratch'in ve Google'ın açık kaynak Blockly kütüphanesinin açtığı yoldan gider. BlueGrays'teki bloklar da Blockly tabanlıdır; blok setini elektronik projeleri için kendimiz hazırladık ve uygulamanın dilinde gösteriyoruz. Unutma: bloklar yeni bir programlama dili değildir. Komut, sıra, koşul, döngü ve değişken metin kodla birebir aynı kavramlardır, bloklar yalnızca onları görünür hâle getirir.

Blokla yazılan program gerçek koda nasıl dönüşür?

Blok editörleri arka planda bir kod üreticisi kullanır: her blok türünün metin kodda bir kalıbı vardır ve bloklar dizildikçe bu kalıplar sırayla birleştirilir. BlueGrays'te iş biraz daha sıkıdır: her projenin blokları, karta yüklenen gerçek kodla birebir eşlenerek hazırlanır. Bloklardaki her satırın kodda bir karşılığı, koddaki her satırın da bloklarda bir karşılığı vardır. Arduino ve ESP32 projelerinde bu kod C++, Raspberry Pi Pico projelerinde MicroPython'dur. Bir blok programı okurken şu beş parçayı tanıman yeterli:

  • kurulum (bir kez çalışır): kart açıldığında ya da resetlendiğinde yalnız bir kez çalışan bölüm. Arduino'da setup() fonksiyonuna karşılık gelir; pinlerin GİRİŞ ya da ÇIKIŞ yapılması genelde burada olur.
  • sürekli tekrarla: kart çalıştığı sürece baştan sona tekrar tekrar dönen bölüm. Arduino'da loop() fonksiyonudur, MicroPython'da while True: döngüsü.
  • Komut blokları: "9 numaralı pine YÜKSEK yaz" ya da "100 ms bekle" gibi kapsayıcıların içine dizilen, her biri tek bir iş yapan bloklar. Çoğu metin kodda tek bir satırdır.
  • Değer blokları: beyaz ovaldeki 9 ya da 100 gibi sayılar ve "13 numaralı pini oku" gibi bir sonuç veren yuvarlak bloklar. Komut bloklarının yuvalarına takılır, kodda parantez içindeki değere dönüşür.
  • Açılır menüler: ÇIKIŞ / GİRİŞ ya da YÜKSEK / DÜŞÜK gibi seçenekler. Koddaki OUTPUT / INPUT ve HIGH / LOW sabitlerinin karşılığıdır; menüde yalnız geçerli seçenekler olduğu için yanlış yazılamazlar.

Blok ve kod yan yana: Led Yakma projesi

Teoriyi bırakıp gerçek bir örneğe bakalım. Led Yakma projesinde 9 numaralı pine bir LED ve direnç bağlanır, LED saniyede beş kez yanıp söner. Yukarıdaki görseldeki blokları aşağıdaki tabloda tek tek koda çeviriyoruz. Tablonun her satırı bir blok, her blok da kodda bir satır:

BlokC++ karşılığıNe yapar?
kurulum (bir kez çalışır)void setup() { … }İçindekiler kart açılınca bir kez çalışır
9 numaralı pini ÇIKIŞ olarak ayarlapinMode(9,OUTPUT);9. pini LED sürebilecek şekilde çıkış yapar
sürekli tekrarlavoid loop() { … }İçindekiler kart çalıştıkça tekrarlanır
9 numaralı pine YÜKSEK yazdigitalWrite(9,HIGH);Pine 5 V verir, LED yanar
100 ms bekledelay(100);Programı 100 milisaniye durdurur
9 numaralı pine DÜŞÜK yazdigitalWrite(9,LOW);Pini 0 V yapar, LED söner
100 ms bekledelay(100);LED sönük hâlde 100 ms bekler
C++ (Arduino IDE)
1void setup() {
2  pinMode(9,OUTPUT);     // LED pini çıkış / LED pin as output
3}
4
5void loop() {
6  digitalWrite(9,HIGH);  // LED'i yak / Turn the LED on
7  delay(100);            // 100 ms bekle (1000 ms = 1 sn) / Wait 100 ms (1000 ms = 1 s)
8  digitalWrite(9,LOW);   // LED'i söndür / Turn the LED off
9  delay(100);            // 100 ms bekle / Wait 100 ms
10}

Kodda bloklarda görmediğin birkaç şey var: void kelimesi, süslü parantezler ve noktalı virgüller. Bunlar C++'ın yazım kurallarıdır ve bloklarda şeklin kendisi tarafından karşılanır. Kapsayıcı bloğun ağzı süslü parantezlerin, blokların alt alta oturması da satır sırasının yerini tutar. Değer yuvasındaki 100'ü 1000 yapsaydın kodda delay(1000) yazacaktı ve LED saniyede bir yanıp sönecekti. Menüden YÜKSEK yerine DÜŞÜK seçseydin HIGH, LOW'a dönecekti. Bu birebir eşleşme sayesinde birkaç projeden sonra kodu bloklara bakmadan da okumaya başlarsın. Aynı projenin devresini ve adım adım kurulumunu serinin ikinci bölümünde, blok kodlamayla LED yakma yazısında bulacaksın.

Bloklar karta doğrudan yüklenmez. BlueGrays'te bloklar programı okumayı ve anlamayı kolaylaştırır; karta yüklenen her zaman aynı projenin gerçek kodudur. Arduino ve ESP32 projelerinde kodu kopyalayıp Arduino IDE'ye, Pico projelerinde Thonny'ye yapıştırır ve oradan yüklersin.

Blok renkleri ne anlatır?

Blok editörlerinde renk süs değildir; bloğun hangi kategoriden geldiğini gösterir. Bir programa ilk baktığında renklere göre "burada değişken tanımlanıyor, burada bir karar veriliyor, burada döngü var" diye okuyabilirsin. BlueGrays projelerinin blok görsellerinde gördüğün kategoriler şunlar:

RenkKategoriGörsellerdeki örnek bloklarKod karşılığı
TurkuazProgram yapısı, pin giriş/çıkış, beklemekurulum (bir kez çalışır), sürekli tekrarla, … numaralı pini ÇIKIŞ olarak ayarla, … numaralı pine YÜKSEK yaz, … numaralı pini oku, … ms beklesetup(), loop(), pinMode(), digitalWrite(), digitalRead(), delay()
Koyu turkuazPico pin ve zaman bloklarıled adlı pin: GP LED_PIN, ÇIKIŞ; led pinini aç (on) / kapat (off); 0.5 saniye beklePin(…, Pin.OUT), led.on(), led.off(), time.sleep()
Gül kurusuDeğişkenlergenel değişkenler (en başta), tanımla: tam sayı (int) … = …, … değişkenine … ataint ledState = 0; ledState = …;
Gri maviMantıkeğer … yap, ≠ ve = karşılaştırmaları, … değilif, !=, ==, !
YeşilDöngüleri değişkeniyle say: 0 ile 5 arası, adım 1for (int i = 0; i < 6; i++)
MorDizilerdizi 2 3 4 5 6 7, ledPins dizisinden öğe iint ledPins[] = {2, 3, 4, 5, 6, 7}; ledPins[i]

Şekiller de ipucu verir. Koşul ve karşılaştırma blokları iki ucu sivri, altıgene benzer bir biçimdedir ve "eğer" bloğunun koşul yuvasına oturur; sayı ve değişken blokları ise yuvarlak uçludur. Tabloda dikkat etmen gereken bir ayrıntı var: "i değişkeniyle say: 0 ile 5 arası, adım 1" bloğunda üst sınır dahildir, yani i sırasıyla 0, 1, 2, 3, 4 ve 5 olur. Kodda bu, i < 6 koşuluyla yazılır ve döngü altı tur döner. Yürüyen Led projesi altı LED'i tam bu blokla sırayla yakar; döngü ve dizi bloklarını serinin döngüler ve değişkenler bölümünde ayrıntılı anlatıyoruz.

Buton İle Led Yakma (On Off) projesinin blokları: değişken, mantık ve pin blokları
Buton İle Led Yakma (On Off): gül kurusu bloklar değişkenleri, gri mavi "eğer" blokları kararları, turkuaz bloklar pin okuma ve yazmayı gösterir. Butona her basışta LED'in durumu tersine döner.

Bu görseldeki iç içe "eğer" blokları kodda iç içe if satırlarına dönüşür. "eğer button ≠ lastButton" bloğu if (button != lastButton) satırıdır ve butonun durumu değiştiğinde çalışır. İçindeki "eğer button = 1" yalnız basış anını yakalar. "ledState değişkenine ledState değil ata" bloğu ledState = !ledState; satırıdır: değer 0 ise 1, 1 ise 0 olur. Ardından gelen "7 numaralı pine ledState yaz" bloğu da digitalWrite(7, ledState); satırıdır. Projenin tamamına Buton İle Led Yakma (On Off) sayfasından bakabilirsin; "eğer" bloğu ile if/else arasındaki bağı serinin buton ve koşullar bölümünde açıyoruz.

Arduino ve ESP32'de C++, Pico'da MicroPython

Aynı blok mantığı farklı kartlarda farklı dillere çevrilir. Arduino ve ESP32 projelerinde bloklar C++ koduna karşılık gelir; kurulum ve sürekli tekrarla blokları setup() ve loop() olur. Örneğin ESP32 ile LED Yakma projesinin blokları Led Yakma'dakilerle aynı yapıdadır, yalnız pin 5 ve bekleme 500 ms'dir. Raspberry Pi Pico projelerinde ise bloklar MicroPython'a dönüşür. Burada setup() diye bir fonksiyon yoktur: kurulum bloğunun içindekiler dosyanın başında bir kez çalışan satırlar olur, sürekli tekrarla bloğu da while True: döngüsüne dönüşür.

Raspberry Pi Pico Harici LED Yakma projesinin blokları: MicroPython'a dönüşen pin ve bekleme blokları
Raspberry Pi Pico Harici LED Yakma (GP14): koyu turkuaz bloklar MicroPython'daki Pin nesnesine ve time.sleep() komutuna karşılık gelir. LED yarım saniye yanar, yarım saniye söner.
MicroPython
1from machine import Pin
2import time
3
4# ============ PIN ============
5LED_PIN = 14                    # Boştaki herhangi bir GPIO / Any free GPIO
6led = Pin(LED_PIN, Pin.OUT)     # led adlı pin, ÇIKIŞ / pin named led, OUTPUT
7
8print("== BlueGrays: Pico Harici LED Blink ==")
9print("LED pin: GP" + str(LED_PIN))
10print("500ms yakip 500ms sonduruyor / 500ms on 500ms off")
11
12# ============ ANA DÖNGÜ / MAIN LOOP ============
13while True:
14    led.on()                    # LED'i yak / Turn the LED on
15    print("[LED] ACIK / ON")
16    time.sleep(0.5)             # 0.5 saniye bekle / Wait 0.5 s
17
18    led.off()                   # LED'i söndür / Turn the LED off
19    print("[LED] KAPALI / OFF")
20    time.sleep(0.5)             # 0.5 saniye bekle / Wait 0.5 s

Eşleşmeyi satır satır takip edebilirsin. "genel değişkenler (en başta)" içindeki "tanımla: tam sayı (int) LED_PIN = 14" bloğu LED_PIN = 14 satırıdır; Python'da tür yazılmadığı için (int) kısmı koda geçmez. "led adlı pin: GP LED_PIN, ÇIKIŞ" bloğu led = Pin(LED_PIN, Pin.OUT) olur. "led pinini aç (on)" led.on(), "0.5 saniye bekle" time.sleep(0.5), "seri porta yaz" ise print() satırıdır. "metinleri birleştir" bloğu da "LED pin: GP" metniyle LED_PIN değerini + ile yan yana koyar. Dikkat et: Arduino'da bekleme milisaniye (100 ms), MicroPython'da saniye (0.5) cinsindendir ve bloklarda bu fark "ms bekle" ile "saniye bekle" diye ayrı bloklarla gösterilir. Devre için Raspberry Pi Pico Harici LED Yakma sayfasına bakabilirsin; Pico'ya yeniysen önce Raspberry Pi Pico nedir yazısını okumak işini kolaylaştırır.

Blok kodlamanın avantajları ve sınırları

KonuAvantajıSınırı
Yazım hatalarıNoktalı virgül, parantez ve büyük-küçük harf hatası olmazMantık hataları yine olur: yanlış pin ya da yanlış süre bloklarda da yanlıştır
OkunabilirlikRenkler ve şekiller programın yapısını bir bakışta gösterirUzun programlarda bloklar ekranda çok yer kaplar, metin kod daha derli toplu kalır
Öğrenme hızıİlk programa birkaç dakikada ulaşılır, kavramlar somutlaşırHep blokta kalınırsa hata mesajı okumak gibi metin koda özgü beceriler gelişmez
KapsamPin, bekleme, koşul, döngü, değişken ve seri port gibi temel yapılar hazırHer kütüphanenin ve donanım ayrıntısının bloğu olmaz; ileri projelerde metin kod gerekir
Kartla ilişkiAynı mantık Arduino, ESP32 ve Pico'da tanıdık bloklarla görülürKart her zaman metin kodu çalıştırır; sonunda kodu tanımak gerekir

Blok kodlama her şeyin cevabı değil, bir köprüdür. İlk haftalarda programın mantığını kavramak için çok güçlü bir araçtır; asıl hedef ise bir noktada o köprüden geçip metin koda rahatça bakabilmektir. Blokları ve kodu yan yana görmek bu geçişi hızlandırır, çünkü her yeni projede aynı blokların aynı satırlara dönüştüğünü tekrar tekrar görürsün. "sürekli tekrarla" bloğunu on projede gördükten sonra loop() kelimesi sana yabancı gelmez. Metin koda geçmeye hazır olduğunda Arduino programlama temelleri yazısı değişkenden fonksiyona kadar her şeyi örneklerle anlatıyor.

Blok kodlama kimler için?

  • Çocuklar ve aileler: okumayı rahat söken 9-10 yaş ve üstü çocuklar bir yetişkinle birlikte başlayabilir. Bloklar ekranda dururken breadboard üzerinde yanan bir LED, kodlamayı soyut olmaktan çıkarır.
  • Öğretmenler ve robotik kulüpleri: aynı projeyi önce bloklarla anlatıp sonra koduna geçmek, sınıftaki farklı seviyeleri aynı derste buluşturur. Bunun için hazırladığımız ders planı serinin son bölümünde: blok kodlamayla robotik kodlama ders planı.
  • Arduino'ya yeni başlayanlar: kartı yeni aldıysan ve ilk kodlar karışık geliyorsa, bloklar hangi satırın ne işe yaradığını görmenin en hızlı yoludur. Kartın kendisini tanımak için Arduino nedir yazısıyla başlayabilirsin.
  • Kod okumakta zorlanan herkes: başkasının yazdığı bir programı anlamak da bir beceridir. Hazır bir projenin bloklarına bakıp yapıyı kavramak, uzun bir kodun nerede ne yaptığını görmeyi kolaylaştırır.

Scratch, mBlock, Tinkercad ve MakeCode ile karşılaştırma

Blok kodlama denince akla gelen araçların çoğu bilgisayarda ya da tarayıcıda çalışan editörlerdir ve her birinin güçlü olduğu bir alan vardır. Ortak noktaları, blokları senin sürükleyip kendi programını kurmandır. BlueGrays'in yaklaşımı başka bir ihtiyaca cevap verir: hazır ve test edilmiş projelerin bloklarını, devre şeması, parça listesi ve gerçek koduyla yan yana gösterir. Uygulamada kendi bloklarını dizip program yazamazsın (şimdilik); onun yerine çalıştığı bilinen bir programın nasıl kurulduğunu okursun. Bu yüzden bu araçlar birbirinin rakibi değil, tamamlayıcısıdır. Örneğin mBlock'ta kendi kurduğun bir trafik lambası dizisini Trafik Lambası projesinin bloklarıyla karşılaştırabilir, elinde kart yoksa devreyi Tinkercad'de simüle edebilirsin. Ayrıntılar için mBlock ile Arduino ve Tinkercad Arduino simülasyonu rehberlerine bakabilirsin.

AraçBlokları kim dizer?Öne çıktığı alan
ScratchSen, bilgisayardaAnimasyon, hikâye ve oyunlarla kodlamaya ilk adım
mBlockSen, bilgisayardaScratch tarzı bloklarla Arduino gibi kartları programlamak ve üretilen koda bakabilmek
Tinkercad CircuitsSen, tarayıcıdaDevreyi sanal olarak kurup blok ya da metin kodla simüle etmek
MakeCodeSen, tarayıcıdamicro:bit gibi kartlar için bloklar ile JavaScript ve Python arasında geçiş
BlueGraysHazır gelir, projenin koduyla eşlenmiştirTest edilmiş projelerin bloklarını gerçek kod, devre şeması ve parça listesiyle yan yana okumak

BlueGrays uygulamasında blok kodlama nasıl kullanılır?

  1. Keşfet › Projeler listesinde blok rozeti olan bir proje seç. Filtreden yalnız bloklu projeleri de gösterebilirsin. Uygulamada 100'den fazla projenin blok hâli var; bunların çoğu Arduino, kalanı ESP32 ve Raspberry Pi Pico projesi.
  2. Projenin kod bölümünde Bloklarla göster anahtarını aç. Kodun yerine aynı programın blokları gelir; görsele dokunursan tam ekran açılır ve büyütüp rahatça inceleyebilirsin.
  3. Blokları anla sekmesine geç. Program adım adım anlatılır: her adımda yalnız o adımın blokları ve ne yaptığı görünür.
  4. Bir komutun ne işe yaradığını merak edersen Kod rehberine bak. Oradaki her örnek, Arduino ve MicroPython komutlarıyla birlikte bloklarla da gösteriliyor.
  5. Anahtarı kapatıp gerçek koda dön. Kodu kopyala, Arduino IDE'ye (Pico'da Thonny'ye) yapıştır ve kartına yükle.
  6. Öğrendiklerini Günün soruları ile pekiştir: her gün A1'den C2'ye seviyelere göre 5 soru, haftalık sıralama ve rozetler var.

31 projenin hem blokları hem kodu tamamen ücretsiz; diğer projelerde bloklar da kod gibi Premium ile açılır. İlk adım için iyi birer başlangıç olan ücretsiz projelerden bazıları: Led Yakma, 2 Adet Led Yakma, Trafik Lambası, Yürüyen Led, ESP32 ile LED Yakma ve Raspberry Pi Pico Dahili LED Yakma. Bloklu projelerin tamamını platforma göre blok kodlama sayfasında görebilir, örnek bir projenin bloklarını ve kodunu orada da yan yana inceleyebilirsin.

Bloktan Koda serisi: yol haritası

  1. Blok kodlama nedir ve blok program gerçek koda nasıl dönüşür (bu yazı)
  2. İlk program: blok kodlamayla LED yakıp söndürme, bloklar ve C++ yan yana
  3. Buton ve koşullar: "eğer" bloğu ve if/else
  4. Döngüler ve değişkenler: sürekli tekrarla, say, dizi ve sayaç
  5. Bloklarla sensör okuma, seri port ve Pico'da MicroPython
  6. Öğretmenler için: blok kodlamayla robotik kodlama ders planı

Serinin bir sonraki bölümünde bu yazıdaki Led Yakma projesini baştan kuruyoruz: devre, bloklar ve C++ kodu yan yana, blok kodlamayla LED yakma yazısında. O zamana kadar BlueGrays uygulamasında burada adı geçen projelere devre şeması ve koduyla bakabilir, Bloklarla göster ile aynı programın blok hâline, Blokları anla ile adım adım açıklamasına tek dokunuşla geçebilirsin.

Sıkça sorulan sorular

Blok kodlama nedir?

Blok kodlama, komutları yazmak yerine yapboz parçası gibi birbirine geçen renkli blokları dizerek program kurma yöntemidir. Her blok bir komuttur ve bloklar yukarıdan aşağıya sırayla çalışır. Yazım hatası yapılamadığı için çocuklar ve yeni başlayanlar programın mantığına odaklanabilir.

Blok tabanlı kodlama ile metin tabanlı kodlama arasındaki fark nedir?

Kavramlar aynıdır: komut, sıra, koşul, döngü ve değişken her ikisinde de vardır. Fark yazımdadır; metin kodda noktalı virgül, parantez ve doğru harfler gerekir, bloklarda bunları parçaların şekli karşılar. Uzun ve karmaşık programlarda metin kod daha pratiktir.

Blok kodlama kaç yaşında öğrenilir?

Okumayı rahat söken 9-10 yaş ve üstü çocuklar bir yetişkinle birlikte başlayabilir. Daha küçük yaşlar için resimli blok araçları vardır. Yaş sınırı yoktur; Arduino'ya yeni başlayan yetişkinler de ilk projelerde bloklardan çok yararlanır.

Blok kodlama hangi programlarla yapılır?

En bilinenleri Scratch, mBlock, Tinkercad Circuits ve MakeCode'dur; bunlarda blokları bilgisayarda sürükleyip kendi programını kurarsın. BlueGrays uygulamasında ise hazır ve test edilmiş Arduino, ESP32 ve Pico projelerinin bloklarını gerçek koduyla yan yana okursun. Bu araçlar birbirini tamamlar.

Arduino bloklarla programlanabilir mi?

Evet, ama kart her zaman metin kodu çalıştırır. mBlock gibi araçlar blokları arka planda Arduino koduna çevirip yükler. BlueGrays'te bloklar projenin C++ koduyla birebir eşlenmiştir; karta yüklemek için kodu kopyalayıp Arduino IDE'ye yapıştırırsın.

Blok kodlamadan metin koda nasıl geçilir?

En etkili yol, aynı programın bloklarına ve koduna yan yana bakmaktır. Her bloğun hangi satıra dönüştüğünü birkaç projede takip ettikten sonra kodu bloksuz okumaya başlarsın. Ardından küçük değişiklikleri doğrudan kodda yapmayı dene; örneğin bekleme süresini ya da pin numarasını değiştir.

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
2 Adet Led Yakma
#2Başlangıç

2 Adet Led Yakma

İki LED hızlı hızlı sırayla yanıp söner: biri yanarken öteki söner, sanki birbirine top atıyorlarmış gibi. Arduino her ışığı saniyenin beşte biri kadar yakıp ötekine geçer. Tek LED'den sonra birden fa

4.6(105)
343
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
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
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
ESP32 ile LED Yakma
#103Başlangıç

ESP32 ile LED Yakma

ESP32 ile temel GPIO çıkışı kullanımını öğretir. Bir LED'i dijital pinden açıp kapatarak yanıp sönme efekti elde ederiz. Arduino UNO'daki klasik blink projesinin ESP32 versiyonu; Arduino ortamındaki temel blink komutları aynıdır, ancak ESP32'nin pin yerleşimi ve 3,3 V GPIO seviyeleri Arduino UNO'dan farklıdır.

4.7(37)
99
Raspberry Pi Pico Dahili LED Yakma (Pico ve Pico W)
#147Başlangıç

Raspberry Pi Pico Dahili LED Yakma (Pico ve Pico W)

Raspberry Pi Pico serisinin açılış projesi! Pico'nun üzerindeki yeşil dahili LED'i yakıp söndürerek kartın çalıştığını doğruluyoruz — klasik "Hello World" tarzı ilk deney. Harici bileşene ihtiyaç YOK, sadece Pico ve USB kablosu yeterli. Kod MicroPython ile yazıldı (Raspberry Pi Vakfı'nın resmi olarak desteklediği dil). Thonny IDE ile Pico'yu programlarken machine.Pin sınıfı, Pin.OUT mode, led.on()/off() metodları ve time.sleep() fonksiyonlarını kavrarsın. Seri

5.0(1)
10
Raspberry Pi Pico Harici LED Yakma (Breadboard)
#148Başlangıç

Raspberry Pi Pico Harici LED Yakma (Breadboard)

Pico'nun dahili LED'inden sonraki adım: breadboard'a harici LED bağlayıp GP14 pini üzerinden kontrol etmek. Bu proje ile Pico'nun herhangi bir genel amaçlı GPIO pinini output olarak nasıl kullanacağını, LED'in polaritesini (uzun bacak = anot/+, kısa bacak = katot/–) ve neden akım sınırlama direnci (220Ω) şart olduğunu öğreniyorsun. Direnci koymazsan LED'e aşırı akım gider ve yanabilir. Devre çok basit: Pico GP14 → 220Ω direnç → LED (+) → LED (–) → Pico GND. Wokwi'de simüle edebilir, gerçek bread

4.5(2)
7