111 bloklu proje · Arduino · ESP32 · Pico
Blok Kodlama ile Arduino, ESP32 ve Pico Projeleri
Kodu satır satır okumak yerine renkli blokları takip et. BlueGrays'te 111 projenin blok hâli hazır; her blok, karta yüklenen gerçek kodun bir satırına karşılık geliyor.
Blok kodlama nedir?
Blok kodlama, programı yazmak yerine yapboz parçasına benzeyen bloklarla kurma yöntemidir. "Pini çıkış yap", "LED'i yak", "1 saniye bekle" gibi her komut bir bloktur; bloklar alt alta dizildikçe program oluşur. Noktalı virgül, parantez ya da yazım hatası derdi olmadığı için insan programın mantığına odaklanır.
BlueGrays'in blokları kendi hazırladığımız bir blok setiyle yapılır ve uygulamanın dilinde görünür: Türkçe kullanıyorsan bloklarda da "sürekli tekrarla" ya da "numaralı pine YÜKSEK yaz" yazar. Arduino ve ESP32 projelerinde bloklar C++ koduna, Raspberry Pi Pico projelerinde MicroPython koduna karşılık gelir.
Amaç blokta kalmak değil, kodu anlamak. Aynı projenin bloklarına ve koduna yan yana bakınca hangi satırın ne işe yaradığını görürsün; birkaç projeden sonra kodu bloksuz da okumaya başlarsın.
BlueGrays'te blok kodlama nasıl çalışır?
Bloklar uygulamada her bloklu projenin kod bölümünde. Dört adımda:
- 01
Bloklu bir proje seç
Proje listesinde blok rozeti olan projeler blok hâliyle gelir. Filtreden yalnız blok kodlu projeleri de gösterebilirsin.
- 02
"Bloklarla göster"i aç
Kod bölümündeki anahtarla kod bloklara döner. Görsele dokununca tam ekran açılır, büyütüp rahatça incelersin.
- 03
Blokları anla
"Blokları anla" sekmesi programı adım adım anlatır: her adımda yalnız o adımın blokları ve ne yaptığı görünür.
- 04
Gerçek koda geç
Anahtarı kapatınca aynı programın kodu gelir. Kodu kopyalayıp Arduino IDE'ye (Pico'da Thonny'ye) yapıştırır ve kartına yüklersin.
Aynı program: bloklar ve kod
Solda projenin blokları, sağda karta yüklenen kodu. Bloklardaki her satırın kodda bir karşılığı var.
Bloklar

Kod
1// ─────────────────────────────────────────
2// BlueGrays · bluegrays.com
3// Led Yakma
4// ─────────────────────────────────────────
5// Tek bir LED'i 100 ms aralıklarla yakıp söndürür. digitalWrite ve delay
6// fonksiyonlarının temel kullanımını gösterir.
7//
8// Pinler:
9// D9 -> LED (220 ohm dirençle)
10
11void setup() {
12 pinMode(9,OUTPUT); // LED pini çıkış
13}
14
15void loop() {
16 digitalWrite(9,HIGH); // LED'i yak
17 delay(100); // 100 ms bekle (1000 ms = 1 sn)
18 digitalWrite(9,LOW); // LED'i söndür
19 delay(100);
20}
21Bloklu projeler
Blok hâli olan tüm projeler platforma göre. Ücretsiz projeler önde; 31 projenin blokları ve kodu tamamen ücretsiz.
Arduino projeleri76 bloklu proje

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

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

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.

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

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

Karaşimşek Led
Karaşimşek ışığı adıyla bilinen efekt: ışık altı LED'in üzerinde bir uçtan öbür uca kayar, sonra geri döner. Arduino her LED'i saniyenin onda biri kadar yakıp sıradakine geçer; uca varınca yön değişti

Hız Ayarlı Yürüyen Led
Altı LED sırayla yanıp söner ve ışık sanki bir uçtan öbür uca koşar. Potansiyometrenin düğmesini çevirdikçe bu koşunun hızı anında değişir: bir yöne çevirince ışık uçar, öbür yöne çevirince her LED bi

Hız Ayarlı Karaşimşek Led
Altı LED üzerinde bir ışık bir uçtan öbür uca koşar, döner ve yeniden koşar. Potansiyometrenin düğmesini çevirerek bu koşunun hızını anında ayarlarsın: düğme bir yandayken ışık neredeyse uçar, öbür ya
Arduino projeleri: tüm bloklu projeler
- #9Buton İle Led Yakma (Push)Ücretsiz
- #10Buton İle Led Yakma (On Off)Ücretsiz
- #11Ldr İle Işık Şiddeti OkumaÜcretsiz
- #12Ldr İle Gece LambasıÜcretsiz
- #13Buzzer KullanımıÜcretsiz
- #14Buzzer İle Frekans AyarıÜcretsiz
- #27HC-SR04 Mesafe Ölçme (Serial Ekran)Ücretsiz
- #55DHT11 İle Sıcaklık Ve NemÜcretsiz
- #16IR Alıcı Ve Kumanda Değer Okuma
- #17IR Alıcı Ve Kumanda İle Led Açma Kapatma
- #19220V Ampülü Buton(Push) İle Yakma
- #20220V Ampülü Buton(On-Off) İle Yakma
- #21220V Ampülü Uzaktan Kumanda İle Yakma
- #22Lazerli Uyarı Sistemi
- #23Lazerli Güvenlik Sistemi
- #24Hareket Sensörü İle Hareket Algılayıcı
- #25Hareket Sensörü İle Kapı Zili ve Işık
- #26Buzzer Ve Buton İle Basit Piyano
- #28HC-SR04 ile Park Sensörü
- #292x16 LCD Ekrana Mesaj Yazdırma
- #30LCD İle Sağa Sola Çarpan Yazı Yazmak
- #31LCD Ekran Kullanarak Mesafe Ölçme
- #32I2C İle LCD Ekran Kullanımı
- #33Boy Ölçüm Projesi
- #34Bluetooth İle Telefondan Led Yakma
- #35Servo Motor Kullanım
- #36Potansiyometre İle Servo Motor Kullanım
- #37Reed Röle Değer Okuma
- #38Reed Röle Kapı Sensörü
- #39RGB Led Kullanımı
- #40RGB Led İle Yumuşak Renk Geçişi
- #427 Segment Display İle 0-99 Sayı Yazdırma
- #437 Segment Display Ve Buton İle Sayaç
- #44NTC ve 2x16 Lcd Ekran İle Sıcaklık Ölçümü
- #45DS1302 RTC Saat Modülü Kurulum
- #46DS1302 RTC Saat LCD Ekran İle Kullanımı
- #474'lü 7 Segment Display'e 0-9999 Sayı Yazdırma
- #484'lü 7 Segment Display İle Dijital Saat
- #494'lü 7 Segment Display İle Bomba Animasyonu
- #50Alev Sensörü Kullanımı
- #51Gaz Sensörü Kullanımı
- #52Alev ve Gaz Sensörü Alarm
- #53RFID Değer Okuma
- #54RFID Kimlik Doğrulama
- #56LCD Ekran ile Dijital Voltmetre
- #582 Arduino Çift Yönlü Haberleşme
- #59Joystick İle Led Kontrol
- #60Joystick İle Servo Kontrol
- #613x4 Keypad Kullanım
- #623x4 Keypad Led Uygulaması
- #634x4 Keypad Kullanım
- #644x4 Keypad LCD Ekran Şifre Uygulaması
- #67Step Motor Kullanımı
- #68Step Motordan 360 Derecelik Servo Motor Yapımı
- #69WS2812B Kullanımı
- #70WS2812B İle Polis Çakar Yapımı
- #71WS2812B Yürüyen Led
- #72WS2812B Yürüyen Led(Birikerek)
- #73WS2812B Karaşimşek
- #74WS2812B Karaşimşek 3'lü
- #75WS2812B Animasyon 1
- #77TCRT5000 ile Yansıma (Yakınlık) Okuma
- #78TCRT5000 Siyah Beyaz Zemin Tespiti
- #82Akıllı Merdiven ve Koridor Aydınlatması
- #83Akıllı Sulama İstasyonu
- #96Arduino Rulet Çarkı
- #97Arduino Ses Uyarılı Reaksiyon Testi
- #99Pot ile SG90 Servo Açı Kontrolü
ESP32 projeleri25 bloklu proje

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.

ESP32 Buton ile LED Kontrol (Push)
Butona basılı tutulduğunda LED yanar, bırakıldığında söner. ESP32'nin dijital input pin'i ve dahili pull-up direncinin nasıl kullanıldığını gösterir. INPUT_PULLUP modu sayesinde harici direnç gerekmez.

ESP32 Buton ile LED Kontrol (Toggle)
Butona her basıldığında LED'in durumu değişir: açıksa kapanır, kapalıysa açılır. Klasik toggle (geçiş) pattern'i. Debounce (sıçrama önleme) ile butonun mekanik gürültüsünü temizleyerek tek basışta tek değişim sağlarız.

ESP32 Dahili LED Yakma
ESP32 DevKit V1'in üzerindeki dahili (built-in) mavi LED'i yanıp söndürmek. Hiçbir harici bileşen gerekmez! ESP32 satın aldığında ilk denemen gereken proje. GPIO 2 dahili LED'e bağlıdır.

ESP32 Trafik Lambası
Kırmızı-sarı-yeşil 3 LED'le gerçek trafik lambası simülasyonu. Süreler gerçek trafik mantığına yakın: kırmızı uzun, sarı kısa, yeşil uzun. Sıralı GPIO kontrolünün klasik örneği.

ESP32 LDR Modülü ile Işık Şiddeti Okuma
LDR modülünün ham ADC değerini ve karanlık/aydınlık referanslarına göre hesaplanan göreli ışık yüzdesini Serial Monitor'da gerçek zamanlı izleme. Bu yüzde lux ölçümü değildir. Modülün kalibrasyon mantığını öğretir. Proje 10'un öncesinde yapılması ideal; çünkü eşik değerini belirlemek için kullanılır.

ESP32 HC-SR04 Ultrasonik Mesafe Ölçer
HC-SR04 ultrasonik sensör, gönderdiği ses dalgasının nesneye çarpıp geri dönme süresini (Time of Flight) ölçerek mesafe hesaplar. Bu projede ESP32 ile TRIG pinine 10 mikrosaniyelik darbe gönderip, ECHO pininden gelen yankı süresini `pulseIn()` ile okuyacağız. Hesaplanan mesafeyi cm cinsinden 16x2 I2C LCD'de göstereceğiz. HC-SR04 5V çalıştığı için ECHO pinine **gerilim bölücü** zorunludur — aksi halde ESP32'nin 3.3V GPIO'su zarar görür.

ESP32 DHT22 Sıcaklık ve Nem (LCD Ekranlı)
DHT22 sensörü ile ortam sıcaklığını ve nem oranını ölçüp 16x2 I2C LCD ekranda gerçek zamanlı olarak gösteren bir projedir. Adafruit DHT kütüphanesi kullanılarak tek kablo (one-wire) protokolü ile sensörden veri okunur. Bu proje, IoT hava istasyonu, akıllı ev otomasyonu veya seralarda ortam takip sistemlerinin temelini oluşturur. ESP32'nin GPIO 4 pini üzerinden DHT22 ile haberleşme sağlanır.
ESP32 projeleri: tüm bloklu projeler
- #122ESP32 MQ-2 Gaz/Duman Dedektörü AlarmıÜcretsiz
- #123ESP32 RFID RC522 Kart Okuyucu (LCD Ekranlı)Ücretsiz
- #108ESP32 Yürüyen LED
- #109ESP32 Polis Çakar Efekti
- #110ESP32 PWM ile LED Soldurma (Fade)
- #111ESP32 RGB LED Kontrolü
- #112ESP32 LDR ile Gece Lambası
- #114ESP32 Buzzer ile Melodi Çalma
- #115ESP32 Potansiyometre ile LED Parlaklık (Analog → PWM)
- #118ESP32 Servo Motor (Potansiyometre Kontrolü)
- #119ESP32 I2C LCD Ekran (16x2)
- #120ESP32 RTC DS1307 ile Dijital Saat (I2C + LCD)
- #121ESP32 PIR Hareket Sensörü ile Otomatik Aydınlatma
- #125ESP32 TM1637 4 Haneli 7-Segment Display
- #126ESP32 WS2812B NeoPixel Şerit Kontrolü
- #139ESP 32 Akıllı Bitki Sulama Sistemi
- #140ESP32 Hareket Algılama Alarmı
Raspberry Pi Pico projeleri10 bloklu proje

Raspberry Pi Pico Dahili LED Yakma (GP25 Onboard LED)
Raspberry Pi Pico serisinin açılış projesi! Pico'nun üzerindeki dahili LED'i (GP25 pinine bağlı yeşil LED) 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

Raspberry Pi Pico Harici LED Yakma (GP14 + 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

Raspberry Pi Pico 2 LED Alternatif Yakma (Blink-Flip Pattern, GP14 + GP13)
Pico'nun tek LED'inden sonraki adım: iki LED'i alternatif yakıp söndürerek klasik flip-flop animasyonu. Bir LED sönerken diğeri yanıyor — çoklu GPIO yönetiminin en temel örneği. Bu projede iki farklı renk LED (kırmızı GP14, yeşil GP13) her 500 ms'de yer değiştiriyor. MicroPython'un `Pin.toggle()` metoduyla kod çok kısa ve okunaklı. Aynı temel mantık trafik lambası, polis çakar efekti, yürüyen LED (Karaşimşek) gibi tüm çok-LED animasyonlarının temeli. Devre çok basit: her LED için 220Ω direnç + P

Raspberry Pi Pico Trafik Lambası (3 LED Sıralı, GP11/GP12/GP13)
Kırmızı, sarı ve yeşil LED'lerle gerçek trafik ışığı mantığını simüle ediyoruz — Pico serisinin 3 LED'e geçen ilk projesi! Yeşil 4 saniye "geç", sarı 1.5 saniye "hazırlan", kırmızı 3 saniye "dur" ve kırmızı+sarı 1 saniye "kalkış" (Avrupa trafik lambası pattern'i). Bu proje ile **fonksiyon tanımlama** (`def all_off()`), **durum makinesi mantığı** (sequence) ve **coklu GPIO senkronizasyonu** kavramlarını öğreneceksin. Devre çok basit: GP11 (Yeşil), GP12 (Sarı), GP13 (Kırmızı) pinlerine 3 LE

Raspberry Pi Pico Polis Çakar Efekti (Kırmızı + Mavi Strobe, GP11 + GP12)
Polis aracının çakar tepe lambasını Raspberry Pi Pico ile en basit hâliyle simüle ediyoruz! 🚨 Kırmızı ve mavi LED sırayla yanar (flip-flop): kırmızı yanarken mavi söner, 0,3 saniye sonra yer değiştirirler ve bu sonsuza kadar sürer. Kod tek bir `while True` döngüsünde iki adımı doğrudan yazar; hız `WAIT_MS` sabitiyle ayarlanır.

Raspberry Pi Pico 3'lü Polis Çakar (3 Burst Flip-Flop, 2 LED GP11 + GP12)
Polis çakar projesinin ritmik varyasyonu — 3 burst flip-flop! 🚨 Aynı 2 LED devresi (#151 ile aynı: GP11 kırmızı + GP12 mavi), ama farklı pattern: kırmızı LED 3 kere hızlı yanıp söner, sonra mavi 3 kere yanıp söner, sonsuza kadar döner. Bu "burst + geçiş" pattern gerçek polis siren ışığının en tanınmış deseni. Yeni öğrenme: **parametreli fonksiyon** `def burst(led, count, duration_ms)`, **ritim tasarımı**, **aynı devrede kodla farklı görsel efekt üretme**.

Raspberry Pi Pico Buton ile LED Yakma (Push, GP14 + GP2)
Pico ile ilk **input** projesi — buton okuma! 🔘 Butona basıldıkça LED yanar, bırakıldıkça söner. Bu proje LED animasyonlarından sonraki büyük adım: **Pico'ya dünyadan sinyal girişi**. Yeni öğrenme: `Pin.IN` (input mode), `Pin.PULL_UP` (dahili pull-up direnci — buton için standart), `button.value()` okuma. GP14 LED, GP2 buton (dahili PULL_UP). Buton basılınca sinyal LOW (0), bırakılınca HIGH (1) — bu ters mantık ilk başta kafa karıştırıcı ama endüstri standardı.

Raspberry Pi Pico Buton ile LED Yakma (Toggle, GP14 + GP2)
Buton ile LED — bir üst seviye! 🔁 #155'in aksine burada butonu basılı tutmana gerek yok. Bir kez bas ve bırak → LED açılır. Tekrar bas ve bırak → LED söner (toggle). Devre #155 ile aynı (LED GP14, Buton GP2), ama kod büyük fark içeriyor. Yeni öğrenme: **edge detection** (kenar algılama — pinin 1'den 0'a düştüğü an), **state tracking** (önceki durumu hafızada tut), **debounce** (buton mekanik "bounce" sonrası yanlış tetikleme önleme). MicroPython'ın `led.toggle()` metodu ile tek satırda değişim.
Raspberry Pi Pico projeleri: tüm bloklu projeler
Kimler için?
Çocuklar ve aileler
Çocuklar için kodlamaya ekran başında değil, yanan bir LED'le başlamak çok daha akılda kalıcı. Bloklar programı okunur hâle getirir, devreyi birlikte kurarsınız.
Öğretmenler ve kulüpler
Robotik kodlama dersinde aynı projeyi önce bloklarla anlatıp sonra koduna geçebilirsin. Her projede parça listesi ve devre şeması hazır.
Yeni başlayanlar
Arduino blok kodlama, ilk birkaç projede kodun mantığını kavramanın en hızlı yolu. Bloklarla başla, kendini hazır hissedince koda geç.
Sık sorulan sorular
Blok tabanlı kodlama nedir?
Komutların yazı yerine yapboz parçası gibi birbirine geçen bloklarla gösterildiği programlama yöntemidir. Yazım hatası yapılamadığı için yeni başlayanlar ve çocuklar programın mantığını daha kolay kavrar.
BlueGrays'te kaç proje blokla geliyor?
Şu an 111 proje: 76 Arduino, 25 ESP32 ve 10 Raspberry Pi Pico projesi. Yeni projeler dönüştürüldükçe liste büyüyor.
Blok kodlama ücretsiz mi?
Uygulama ücretsiz. 31 bloklu projenin blokları ve kodu herkese açık. Diğer projelerde bloklar da kod gibi Premium ile açılır.
Blokları doğrudan karta yükleyebilir miyim?
Hayır. Bloklar programı okumayı ve anlamayı kolaylaştırır; karta yüklenen her zaman aynı projenin gerçek kodudur. Kodu Arduino IDE'ye ya da Pico için Thonny'ye kopyalayıp yüklersin.
Kendi bloklarımı dizip program yazabilir miyim?
Şimdilik hayır. Blokları her proje için biz hazırlıyoruz ve kodla birebir eşliyoruz. Böylece gördüğün bloklar her zaman çalışan, test edilmiş bir programa karşılık geliyor.
Scratch ya da mBlock'tan farkı ne?
Scratch ve mBlock'ta blokları bilgisayarda sürükleyip kendi programını yazarsın. BlueGrays'te ise her bloklu proje devre şeması, parça listesi ve gerçek koduyla birlikte gelir; bloklar o kodun okunur hâlidir. İkisi birbirini tamamlar.
Çocuklar için uygun mu, kaç yaşından başlanır?
Okumayı rahat söken 9-10 yaş ve üstü çocuklar bir yetişkinle birlikte başlayabilir. İlk projeler lehim gerektirmez; breadboard üzerinde LED, buton ve buzzer ile kurulur.
Bloklar hangi dillerde?
Türkçe, İngilizce, Almanca, İspanyolca, Fransızca ve İtalyanca. Bloklar uygulamayı hangi dilde kullanıyorsan o dilde görünür.
BlueGrays uygulaması
Blok kodlamaya telefonundan başla
Bloklar, devre şeması, parça listesi ve gerçek kod tek ekranda. iOS ve Android'de ücretsiz.
Telefonunla tara
Kamerayı koda tut; telefonunun uygulama mağazası açılır.

