Temeller · 7 dk okuma

Arduino Blok Kodlama ile LED Yakma: İlk Program Adım Adım

Arduino blok kodlama ile LED yakma: 220 Ω dirençli devre, her bloğun C++ satırı, 100 ms beklemenin etkisi, trafik lambası, ESP32 ve Pico örnekleri.

Arduino blok kodlama ile ilk programın neredeyse her zaman aynıdır: bir LED'i yakıp söndürmek. Bu yazıda bunu baştan sona yapıyoruz. 9 numaralı pine 220 Ω dirençle bir LED bağlıyor, BlueGrays'teki Led Yakma projesinin bloklarını tek tek okuyor ve her bloğun karta yüklenen C++ kodunda hangi satıra dönüştüğünü yan yana görüyoruz. Tek bir sayıyı, "100 ms bekle" bloğundaki 100'ü değiştirerek LED'in hızını nasıl ayarladığını da deneyeceksin.

Bu yazı Bloktan Koda serisinin 2. bölümü. Blokların ne olduğunu ve gerçek koda nasıl dönüştüğünü blok kodlama nedir yazısında anlattık. Sonraki bölümde butonla birlikte "eğer" bloğunu ve if/else'i ele alıyoruz.

Tek LED'le bitirmiyoruz. Aynı mantığı adım adım büyütüp iki LED'i sırayla yakan, trafik lambası gibi davranan ve polis çakarı gibi çakan programlara geçeceğiz. Sonra aynı fikri ESP32'de ve Raspberry Pi Pico'da MicroPython ile göreceksin. En sonda da yeni başlayanların neredeyse hepsinin bir kez yaptığı hataların tablosu var. Bu yazıdaki bütün projeler BlueGrays'te bloklarıyla ve koduyla ücretsiz; tüm bloklu projeleri blok kodlama sayfasında platforma göre görebilirsin.

Neye ihtiyacın var?

MalzemeAdetNot
Arduino Uno (ya da Nano)1USB kablosuyla bilgisayara bağlanır
5 mm LED (kırmızı en kolayı)1Uzun bacak +, kısa bacak -
220 Ω direnç1Renk bantları: kırmızı, kırmızı, kahverengi
Breadboard1Lehim gerektirmez
Erkek-erkek jumper kablo2D9 ve GND için
Bilgisayar ve Arduino IDE1Kodu karta yüklemek için

Devre: LED'i 9 numaralı pine bağlamak

LED'in iki bacağı vardır ve yönü önemlidir. Uzun bacak anot (+), kısa bacak katot (-) olarak adlandırılır; katot tarafında LED'in plastik gövdesi düzleşmiştir. Akım yalnızca anottan katoda doğru akar, bu yüzden LED'i ters takarsan hiçbir şey olmaz. Arduino'nun 9 numaralı pinini 220 Ω direncin bir ucuna, direncin diğer ucunu LED'in uzun bacağına bağla. LED'in kısa bacağını da GND'ye götür. Direnç, akımı sınırlar: 5 V'tan kırmızı LED'in yaklaşık 2 V'unu çıkarınca dirençte 3 V kalır, 3 V / 220 Ω yaklaşık 14 mA eder. Bu, LED için rahat, Arduino pini için güvenli bir akımdır. Kendi LED rengin için değeri LED direnci hesaplayıcı ile kontrol edebilirsin. LED'in yapısı LED nedir, breadboard satırlarının içeride nasıl bağlandığı da breadboard nedir yazısında.

BağlantıArduino Uno (Led Yakma)ESP32 (ESP32 ile LED Yakma)Raspberry Pi Pico (harici LED)
LED uzun bacak (anot, +)220 Ω üzerinden D9220 Ω üzerinden GPIO 5220 Ω üzerinden GP14
LED kısa bacak (katot, -)GNDGNDGND
Bloktaki ve koddaki pin95LED_PIN = 14
Projedeki bekleme100 ms500 ms0,5 saniye
Pin gerilimi5 V3,3 V3,3 V
LED'i asla dirençsiz doğrudan pine bağlama. Direnç olmadan akımı sınırlayan hiçbir şey kalmaz; LED aşırı parlak yanar, ısınır ve kısa sürede bozulabilir, Arduino'nun pini de zarar görebilir. LED'i ters taktıysan korkma: bu durumda LED yalnızca yanmaz, çevirip doğru takman yeter. Kartındaki pinlerin yerini Pinout aracında görebilirsin.

İlk programın blokları: Led Yakma

Devre hazırsa programa bakalım. BlueGrays'te Led Yakma projesini açıp kod bölümünde Bloklarla göster anahtarını açtığında aşağıdaki blokları görürsün. Toplam yedi blok var ve bunlar iki büyük gruba ayrılıyor: üstte kurulum (bir kez çalışır), altta sürekli tekrarla. Bloklar uygulamanın dilinde görünür; Türkçe kullanıyorsan "numaralı pine YÜKSEK yaz", İngilizce kullanıyorsan "write HIGH to pin" yazar.

Led Yakma projesinin blokları: kurulumda 9 numaralı pin çıkış, sürekli tekrarla içinde YÜKSEK yaz, 100 ms bekle, DÜŞÜK yaz, 100 ms bekle
Led Yakma (proje 1) blokları: kurulumda pin 9 bir kez çıkış yapılır, sürekli tekrarla içindeki dört blok sonsuza kadar döner.

kurulum (bir kez çalışır) grubunun içindeki bloklar kart açıldığında ya da reset tuşuna bastığında yalnızca bir kez çalışır. Burada tek bir blok var: "9 numaralı pini ÇIKIŞ olarak ayarla". Arduino'nun dijital pinleri hem giriş hem çıkış olabilir. Bir LED'i süreceğimiz için karta "bu pinden elektrik vereceğim" demiş oluruz. sürekli tekrarla grubu ise kurulum bittikten sonra başlar ve kart açık kaldığı sürece baştan sona tekrar tekrar çalışır. İçindeki dört blok sırasıyla LED'i yakar, 100 milisaniye bekler, LED'i söndürür ve yine 100 milisaniye bekler. Son bloktan sonra program başa döner ve LED yeniden yanar. Yanıp sönme dediğimiz şey, bu dört adımın saniyede beş kez tekrarlanmasıdır.

Blok → C++ satırı: her blok neye dönüşür?

BlokC++ satırıNe yapar?
kurulum (bir kez çalışır)void setup() { ... }İçindekileri açılışta bir kez çalıştırır
9 numaralı pini ÇIKIŞ olarak ayarlapinMode(9,OUTPUT);Pin 9'u çıkış yapar
sürekli tekrarlavoid loop() { ... }İçindekileri sonsuza kadar tekrarlar
9 numaralı pine YÜKSEK yazdigitalWrite(9,HIGH);Pine 5 V verir, LED yanar
100 ms bekledelay(100);Programı 0,1 saniye durdurur
9 numaralı pine DÜŞÜK yazdigitalWrite(9,LOW);Pini 0 V yapar, LED söner
100 ms bekledelay(100);Sönük hâlde 0,1 saniye bekler
C++ (Arduino IDE)
1// Led Yakma (proje 1): D9'daki LED 100 ms yanar, 100 ms söner
2// LED Blink (project 1): the LED on D9 is on for 100 ms, off for 100 ms
3void setup() {
4  pinMode(9,OUTPUT);     // LED pini çıkış / LED pin as output
5}
6
7void loop() {
8  digitalWrite(9,HIGH);  // LED'i yak / turn the LED on
9  delay(100);            // 100 ms bekle (1000 ms = 1 s) / wait 100 ms (1000 ms = 1 s)
10  digitalWrite(9,LOW);   // LED'i söndür / turn the LED off
11  delay(100);            // 100 ms bekle / wait 100 ms
12}
13

Tabloyla kodu yan yana koyunca blokların neyi senin yerine hallettiğini görürsün. Kurulum ve sürekli tekrarla gruplarının şekli, koddaki void setup() ve void loop() fonksiyonlarının süslü parantezlerine karşılık gelir: bir bloğun hangi grubun içinde durduğu, kodda hangi süslü parantezin içine yazıldığını belirler. Her komutun sonundaki noktalı virgülü, büyük-küçük harf kurallarını (pinMode, digitalWrite) ve parantezleri bloklarda düşünmen gerekmez. Ama Arduino IDE'de kodu kendin değiştirmeye başladığında bunlar önemli hâle gelir; unutulan tek bir noktalı virgül bile derleme hatası verir. Blokların asıl faydası burada: önce programın mantığını bloklarla oturtuyorsun, sonra aynı mantığın yazımını koddan öğreniyorsun.

"100 ms bekle" değerini değiştirirsen ne olur?

Bekleme süresi milisaniye (ms) cinsindendir ve 1000 ms bir saniyeye eşittir. Projede iki bekleme bloğu da 100 ms olduğu için LED 0,1 saniye yanık, 0,1 saniye sönük kalır. Bir tam tur 200 ms sürer, yani LED saniyede beş kez yanıp söner. İki bloktaki sayıyı birlikte büyüttüğünde LED yavaşlar, küçülttüğünde hızlanır. Belli bir noktadan sonra göz yanıp sönmeyi ayırt edemez ve LED sürekli yanıyormuş gibi görünür. Aşağıdaki tablo, iki bekleme değerini değiştirdiğinde ne göreceğini gösteriyor:

Bekleme bloklarıBir tam turSaniyede yanıp sönmeNe görürsün?
10 ms + 10 ms20 ms50Titremeden yanıyor gibi, biraz daha sönük
100 ms + 100 ms (projedeki)200 ms5Hızlı ve belirgin yanıp sönme
250 ms + 250 ms500 ms2Rahat izlenen yanıp sönme
500 ms + 500 ms1 s1Saniyede bir, sakin ritim
1000 ms + 1000 ms2 s0,51 saniye yanık, 1 saniye sönük
100 ms + 900 ms1 s1Kısa parlama, uzun karanlık
İki bekleme bloğunun aynı olması gerekmez. İlkini 100, ikincisini 900 yaparsan LED her saniyede kısa bir parlama yapar; bu, cihazlardaki "çalışıyorum" ışığına benzer. Koddaki karşılığı delay(100); ve delay(900); satırlarıdır. Bir sayıyı değiştirip yeniden yüklemek, bloklarla kod arasındaki bağı en hızlı kavratan alıştırmadır.

Programı büyütmek: iki LED, trafik lambası, polis çakarı

Tek LED'i yakmayı öğrendiysen birden çok LED'i yönetmek için yeni bir şey öğrenmen gerekmez; aynı üç bloğu farklı pinlerle çoğaltırsın. 2 Adet Led Yakma projesinde kurulumda iki pin çıkış yapılır: 8 ve 9. Sürekli tekrarla içinde önce "8 numaralı pine YÜKSEK yaz" ve "9 numaralı pine DÜŞÜK yaz" blokları gelir, ardından "200 ms bekle". Sonra tam tersi yazılır ve yine 200 ms beklenir. Buradaki püf nokta şu: iki yazma bloğu arka arkaya ve aralarında bekleme olmadan çalıştığı için iki LED aynı anda yer değiştiriyormuş gibi görünür. Bekleme bloğu, bir durumun ne kadar süreceğini belirler.

Trafik Lambası projesi aynı fikri üç LED'e taşır: kırmızı D2'de, sarı D3'te, yeşil D4'te. Sürekli tekrarla grubu dört aşamadan oluşur ve her aşama aynı kalıbı izler: üç LED'e birer YÜKSEK ya da DÜŞÜK yaz bloğu, ardından bir bekleme bloğu. Hangi LED'in yanık kalacağını yazma blokları, ne kadar yanık kalacağını bekleme bloğu belirler. Blok sayısı arttı diye zorlaşmıyor; yalnızca uzuyor. Yaya butonu ve kavşak gibi eklemelerle gerçek bir kavşağa yaklaşan sürümü Arduino trafik lambası yazısında bulabilirsin.

Trafik Lambası projesinin blokları: pin 2, 3 ve 4 çıkış, dört aşamada YÜKSEK ve DÜŞÜK yaz blokları, 2000 ms ve 300 ms bekleme
Trafik Lambası (proje 3) blokları: her aşamada üç yazma bloğu ve bir bekleme bloğu var.
AşamaKırmızı (D2)Sarı (D3)Yeşil (D4)Bekleme
1YÜKSEKDÜŞÜKDÜŞÜK2000 ms (2 s)
2DÜŞÜKYÜKSEKDÜŞÜK300 ms
3DÜŞÜKDÜŞÜKYÜKSEK2000 ms (2 s)
4DÜŞÜKYÜKSEKDÜŞÜK300 ms
C++ (Arduino IDE)
1// Trafik Lambası (proje 3) / Traffic Light (project 3)
2void setup() {
3  pinMode(2,OUTPUT);    // Kırmızı / Red
4  pinMode(3,OUTPUT);    // Sarı / Yellow
5  pinMode(4,OUTPUT);    // Yeşil / Green
6}
7
8void loop() {
9  // Kırmızı yanar, 2 s bekle / Red on, wait 2 s
10  digitalWrite(2,HIGH);
11  digitalWrite(3,LOW);
12  digitalWrite(4,LOW);
13  delay(2000);
14  // Sarı yanar, 0,3 s bekle / Yellow on, wait 0.3 s
15  digitalWrite(2,LOW);
16  digitalWrite(3,HIGH);
17  digitalWrite(4,LOW);
18  delay(300);
19  // Yeşil yanar, 2 s bekle / Green on, wait 2 s
20  digitalWrite(2,LOW);
21  digitalWrite(3,LOW);
22  digitalWrite(4,HIGH);
23  delay(2000);
24  // Sarı yanar, sonra başa (kırmızıya) dön / Yellow on, then back to red
25  digitalWrite(2,LOW);
26  digitalWrite(3,HIGH);
27  digitalWrite(4,LOW);
28  delay(300);
29}
30

Polis Çakar projesinde iki yeni blok türü karşına çıkar. Birincisi en üstteki genel değişkenler (en başta) grubu ve içindeki "tanımla: tam sayı (int) delayTime = 60" bloğudur. Bu, koddaki int delayTime = 60; satırıdır ve çakma süresine bir isim verir. Bekleme bloklarına sayı yerine delayTime yazıldığı için hızı değiştirmek istediğinde dört ayrı bloğu değil, yalnızca 60'ı değiştirirsin. İkincisi yeşil renkli "3 kez tekrarla" bloğudur; içindeki dört bloğu üç kez çalıştırır ve C++'ta for(int i=0;i<3;i++) döngüsüne dönüşür.

Polis Çakar projesinin blokları: delayTime değişkeni, pin 2 ve 3 çıkış, iki adet 3 kez tekrarla bloğu
Polis Çakar (proje 4) blokları: kırmızı LED (D2) üç kez, ardından mavi LED (D3) üç kez çakar.

Hesaplayalım: kırmızı LED her çakışta 60 ms yanık, 60 ms sönük kalır, yani bir çakış 120 ms sürer. Üç çakış 360 ms eder, mavi LED için de aynısı geçerli. Bir tam tur yaklaşık 0,7 saniye sürer. delayTime'ı 30 yaparsan çakar iki kat hızlanır, 120 yaparsan yavaşlar. Değişkenler ve döngüler serinin 4. bölümünün konusu; "sürekli tekrarla", say ve dizi blokları yazısında bunları ayrıntısıyla açıyoruz. LED'leri sırayla yürüten Yürüyen Led projesi de aynı yolun bir sonraki adımı.

Aynı fikir ESP32 ve Raspberry Pi Pico'da

ESP32'de bloklar Arduino'dakiyle neredeyse aynıdır, çünkü ESP32 de Arduino IDE ile C++'ta programlanır. ESP32 ile LED Yakma projesinde LED GPIO 5'e bağlıdır ve bekleme blokları 500 ms'dir. Kod satırları da aynıdır: pinMode(5, OUTPUT); digitalWrite(5, HIGH); delay(500);. Tek farklar pin numarası, ESP32'nin pinlerinin 3,3 V çıkış vermesi ve Arduino IDE'de kart olarak ESP32'nin seçilmesidir. Yani Uno'da öğrendiğin her şey ESP32'ye doğrudan taşınır.

Raspberry Pi Pico projelerinde bloklar MicroPython koduna dönüşür ve blok adları da biraz değişir. Pico harici LED projesinde LED GP14'e bağlıdır. "led adlı pin: GP LED_PIN, ÇIKIŞ" bloğu led = Pin(LED_PIN, Pin.OUT) satırına, "led pinini aç (on)" bloğu led.on() satırına, "0.5 saniye bekle" bloğu time.sleep(0.5) satırına, sürekli tekrarla da while True: döngüsüne karşılık gelir. Dikkat: MicroPython'da bekleme milisaniye değil saniye cinsindendir; Arduino'daki delay(500) burada time.sleep(0.5) olur. Hiç kablo kullanmadan denemek istersen Pico dahili LED projesi kartın üzerindeki GP25 LED'ini yakar; Pico W'de dahili LED'e GP25 yerine "LED" adıyla erişilir.

MicroPython
1# Pico harici LED (proje 8163), seri port satırları çıkarıldı
2# Pico external LED (project 8163), serial print lines removed
3from machine import Pin
4import time
5
6LED_PIN = 14                    # GP14, herhangi bir boş GPIO / any free GPIO
7led = Pin(LED_PIN, Pin.OUT)     # pini çıkış yap / set the pin as output
8
9while True:                     # sürekli tekrarla / loop forever
10    led.on()                    # LED'i yak / turn the LED on
11    time.sleep(0.5)             # 0,5 saniye bekle / wait 0.5 s
12    led.off()                   # LED'i söndür / turn the LED off
13    time.sleep(0.5)
14

Sık yapılan hatalar ve çözümleri

HataBelirtiÇözüm
LED ters takılmışLED hiç yanmıyorUzun bacak dirençten pine, kısa bacak GND'ye; LED'i çevirip yeniden tak
Direnç yokLED aşırı parlak, ısınıyor, kısa sürede bozulabiliyorLED'e seri 220 Ω direnç bağla
Bloktaki pin ile devredeki pin farklıKod sorunsuz yükleniyor ama LED yanmıyorBloktaki 9 ile kabloyu taktığın D9 aynı olsun; ya kabloyu ya sayıyı değiştir
İkinci bekleme bloğu unutulmuşLED hep yanık görünüyorDÜŞÜK yaz bloğundan sonra da bir bekleme bloğu (delay) olmalı
Bekleme çok kısa (ör. 5 ms)LED titremeden, biraz sönük yanıyorEn az 50–100 ms dene
LED'in iki bacağı breadboard'da aynı satırdaLED hiç yanmıyorBacakları farklı satırlara tak; aynı satırdaki delikler içeride birbirine bağlıdır
Yanlış kart ya da port seçiliArduino IDE yükleme hatası veriyorAraçlar menüsünden doğru kartı ve portu seç

Uygulamada adım adım: bloklardan karta

  1. BlueGrays'te proje listesinde blok rozeti olan Led Yakma projesini aç. Filtreden yalnız bloklu projeleri de gösterebilirsin.
  2. Devre şemasına bakarak LED'i, 220 Ω direnci ve iki kabloyu breadboard'a yerleştir.
  3. Kod bölümünde Bloklarla göster anahtarını aç. Kodun yerine blokları görürsün; görsele dokununca tam ekran açılır.
  4. 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.
  5. Anahtarı kapatıp gerçek koda dön, kodu kopyala ve Arduino IDE'ye yapıştır. Bloklar karta doğrudan yüklenmez; karta her zaman bu kod gider.
  6. Arduino IDE'de kart olarak Arduino Uno'yu ve doğru portu seçip Yükle'ye bas. IDE'yi henüz kurmadıysan Arduino IDE kurulumu yazısı adım adım anlatıyor.
  7. LED yanıp sönmeye başlayınca iki delay(100) satırını delay(1000) yapıp yeniden yükle ve farkı kendi gözünle gör.

Bu yazıda LED'i hep aynı ritimde yaktık; program dış dünyadan hiçbir şey duymadı. Bir sonraki adım karta karar verdirmek: serinin 3. bölümü buton ve "eğer" bloğu, butona basıldığında LED'i yakan programı ve "eğer … yap … değilse" bloğunun if/else'e nasıl dönüştüğünü anlatıyor.

BlueGrays uygulamasında Led Yakma, 2 Adet Led Yakma, Trafik Lambası, Polis Çakar ve ESP32 ile Pico'daki LED projelerine devre şeması ve koduyla bakabilir, Bloklarla göster ile aynı programın blok hâline geçebilir, Blokları anla ile her adımın ne yaptığını tek tek okuyabilirsin.

Sıkça sorulan sorular

Arduino blok kodlama nedir?

Arduino programını yazı yerine yapboz parçası gibi birbirine geçen bloklarla gösterme yöntemidir. "9 numaralı pine YÜKSEK yaz" ya da "100 ms bekle" gibi her blok, karta yüklenen C++ kodunun bir satırına karşılık gelir. Noktalı virgül ve parantez derdi olmadığı için yeni başlayanlar önce programın mantığına odaklanır.

Blok kodlama ile LED nasıl yakılır?

Kurulum grubuna "9 numaralı pini ÇIKIŞ olarak ayarla" bloğunu, sürekli tekrarla grubuna sırasıyla "9 numaralı pine YÜKSEK yaz", "100 ms bekle", "9 numaralı pine DÜŞÜK yaz" ve "100 ms bekle" bloklarını koyarsın. Devrede LED, 220 Ω dirençle D9'a bağlanır. Bu bloklar pinMode, digitalWrite ve delay satırlarına dönüşür.

LED neden yanıp sönmüyor da sürekli yanıyor?

En sık sebep, DÜŞÜK yaz bloğundan sonraki bekleme bloğunun unutulmasıdır. Bu durumda LED yalnızca mikro saniyeler boyunca söner ve göz bunu fark edemez. Bekleme süreleri çok kısaysa (ör. 5 ms) da LED sürekli yanıyormuş gibi görünür; 100 ms ya da üzerini dene.

Arduino'da LED için hangi direnç kullanılır?

Arduino Uno'nun 5 V pinlerinde 220 Ω en yaygın seçimdir ve kırmızı bir LED'den yaklaşık 14 mA akım geçirir. 330 Ω da olur, LED biraz daha sönük yanar. Direnç LED'in hangi bacağına bağlanırsa bağlansın akımı sınırlar; önemli olan seri bağlı olmasıdır.

Blokları doğrudan Arduino'ya yükleyebilir miyim?

Hayır. BlueGrays'teki bloklar programı okumayı ve anlamayı kolaylaştırır; karta her zaman projenin gerçek kodu yüklenir. Kodu kopyalayıp Arduino IDE'ye (Pico için Thonny'ye) yapıştırır ve oradan yüklersin.

1000 ms kaç saniye, yanıp sönme hızı nasıl değişir?

1000 milisaniye 1 saniyedir. Bekleme bloklarındaki sayıyı büyütürsen LED yavaşlar, küçültürsen hızlanır: iki blok 100 ms iken LED saniyede 5 kez, 500 ms iken saniyede 1 kez yanıp söner. Pico'daki MicroPython bloklarında süre saniye cinsinden yazılır, 0.5 yarım saniyedir.

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
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
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
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
ESP32 Trafik Lambası
#107Başlangıç

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.

4.4(21)
44
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