Kurs içeriği (6 / 8)
Yapay Zekâ ile Tanışıyorum: Görüntü ve Ses Tanıma · Ders 6 / 8
Modelimi Karta Bağlıyorum: PictoBlox ile Arduino
Yapay zekâ modelimiz artık ekranın dışına çıkıyor. PictoBlox’ın makine öğrenmesi ortamında kırmızı ve yeşil kartları tanıyan bir görüntü modeli eğitiyor, bu modeli Arduino Uno’ya bağlı LED’lerle birleştiriyoruz. Model yeşil kartı görünce yeşil, kırmızı kartı görünce kırmızı LED yanıyor.
Bu derste
- PictoBlox’ta kart seçer, kartı bağlar ve gerekli yazılımı karta yükler.
- PictoBlox makine öğrenmesi ortamında görüntü sınıflandırma modeli eğitir ve blok kodlamaya aktarır.
- Modelin kararına göre Arduino’daki LED’leri yakan blok kodları yazar.
- LED devresini direnç kullanarak doğru biçimde kurar.
Malzemeler
- Kameralı Windows, macOS veya Linux bilgisayar
- PictoBlox masaüstü uygulaması (ücretsiz)
- Arduino Uno ve USB kablosu
- Breadboard, 1 kırmızı ve 1 yeşil LED, 2 adet 220 Ω direnç, erkek-erkek jumper kablolar
- Kırmızı ve yeşil renkli birer karton kart
Şimdiye kadar modellerimizin cevaplarını ekranda gördük. Bugün modelin kararını gerçek dünyaya taşıyacağız: Kameraya yeşil kart gösterdiğinizde masadaki yeşil LED, kırmızı kart gösterdiğinizde kırmızı LED yanacak. Bunun için yapay zekâ ve kart programlamayı aynı yerde yapabildiğimiz PictoBlox’ı kullanacağız.
Dersin Amacı ve Kazanımlar
Bu dersin sonunda:
- PictoBlox’ta kart seçip kartı bağlayabilecek ve gerekli yazılımı karta yükleyebileceksiniz.
- PictoBlox makine öğrenmesi ortamında bir görüntü modeli eğitip blok kodlamaya aktarabileceksiniz.
- Modelin kararına göre LED’leri yakan blok kodları yazabileceksiniz.
- LED devresini direnç kullanarak doğru biçimde kurabileceksiniz.
Gerekli Malzemeler
| Malzeme | Açıklama |
|---|---|
| Bilgisayar | Windows, macOS veya Linux; kameralı olmalı |
| PictoBlox masaüstü uygulaması | pictoblox.ai adresinden ücretsiz indirilir; makine öğrenmesi ortamı yalnızca masaüstü sürümünde vardır, web sürümünde yoktur |
| Arduino Uno ve USB kablosu | Arduino Nano veya Mega da olur; ESP32 kartı da PictoBlox’ta seçilebilir |
| Devre malzemeleri | Breadboard, kırmızı ve yeşil LED, 2 adet 220 Ω direnç, jumper kablolar |
| Renkli kartlar | Avuç içi büyüklüğünde kırmızı ve yeşil karton |
💡 İpucu
PictoBlox’u ders öncesinde bilgisayarlara kurun ve bir kez açıp kapatın. Okul bilgisayarlarında program kurmak için yönetici izni gerekebilir; bu işi öğretmeninizle birlikte yapın.
Nasıl Çalışacak?
PictoBlox’ta kartı Stage (Sahne) modunda kullanacağız. Bu modda model bilgisayarda çalışır, kamerayı bilgisayar okur; Arduino ise USB kablosuyla bağlı kalır ve bilgisayardan gelen “LED’i yak” komutlarını uygular. Yani kablo takılı kaldığı sürece sistem çalışır.
Etkinlik 1: Devreyi Kuralım
- Arduino’nun USB kablosu takılı değilken devreyi kurun.
- Arduino’nun GND pinini breadboard’ın eksi (−) hattına bağlayın.
- Kırmızı LED’in uzun bacağını (artı) bir 220 Ω direnç üzerinden Arduino’nun 2 numaralı dijital pinine, kısa bacağını eksi hattına bağlayın.
- Yeşil LED’i de aynı şekilde, bir 220 Ω direnç üzerinden 3 numaralı pine bağlayın.
- Bağlantıları bir arkadaşınıza kontrol ettirin, sonra USB kablosunu bilgisayara takın.

Etkinlik 2: PictoBlox’ta Kartı Bağlayalım
- PictoBlox’u açın ve Block Coding (Blok Kodlama) ortamını seçin.
- Üst menüde Board (Kart) düğmesine tıklayıp Arduino Uno’yu seçin.
- Connect (Bağlan) düğmesine tıklayıp listeden Arduino’nun bağlı olduğu portu seçin (Windows’ta COM3, COM4 gibi görünür).
- Sağ üstte Stage modunun seçili olduğundan emin olun. Kartı ilk kez kullanıyorsanız Upload Firmware (Yazılımı yükle) düğmesine basın ve yükleme bitene kadar kabloyu çıkarmayın. Bu işlem kart başına bir kez yapılır.

Etkinlik 3: Modeli Eğitelim
- Files (Dosya) menüsünden Open ML Environment (Makine öğrenmesi ortamını aç) seçeneğini seçin, ardından Create New Project (Yeni proje oluştur) düğmesine basın.
- Proje adına “renk kartlari” yazın, Image Classifier (Görüntü sınıflandırıcı) seçeneğini seçip Create Project düğmesine basın.
- Üç sınıf oluşturun:
kirmizi,yesil,bos. Adlarda Türkçe karakter kullanmayın. - Her sınıfta Webcam düğmesine basın ve Hold to Record ile örnek toplayın: Kırmızı kartı farklı açı ve uzaklıklarda gösterin. Yeşil kart için de aynısını yapın. “bos” sınıfı için kamerada kart olmasın. PictoBlox her sınıfta en az 20 örnek ister; biz 80–100 toplayalım.
- Train Model (Modeli eğit) düğmesine basın. Eğitim bitince Testing (Test) bölümünde Webcam’i açıp kartları deneyin.
- Sonuçtan memnunsanız Export Model (Modeli aktar) düğmesine basın. Model blok kodlama ortamına aktarılır ve sol tarafta yeni bloklar belirir.

Etkinlik 4: Blokları Birleştirelim
PictoBlox’un yapay zekâ ve Arduino blokları İngilizce görünür; aşağıda yanlarına Türkçe karşılıklarını yazdık. Şu betiği kurun:
- when flag clicked (yeşil bayrağa tıklanınca) bloğunu koyun.
- Altına turn (on) video on stage with (0) % transparency (videoyu sahnede %0 saydamlıkla aç) bloğunu ekleyin.
- Altına bir forever (sürekli tekrarla) bloğu koyun. İçine önce analyse image from (camera) (kameradan gelen görüntüyü incele) bloğunu ekleyin.
- Onun altına bir if … then … else (eğer … ise … değilse) bloğu koyun. Koşul yerine is identified class is (yesil)? (tanınan sınıf yesil mi?) bloğunu yerleştirin. “ise” bölümüne Arduino kategorisinden set digital pin (3) output as (HIGH) (3 numaralı pini YÜKSEK yap) ve set digital pin (2) output as (LOW) (2 numaralı pini DÜŞÜK yap) bloklarını koyun.
- “değilse” bölümüne ikinci bir if … then … else bloğu koyun. Koşulu is identified class is (kirmizi)? olsun. “ise” bölümünde pin 2 HIGH, pin 3 LOW; “değilse” bölümünde iki pin de LOW olsun. Böylece kart yokken iki LED de söner.
- Yeşil bayrağa tıklayın ve kartları sırayla kameraya gösterin.

⚠️ Önemli Not
LED’leri her zaman bir dirençle bağlayın; dirençsiz bağlanan LED ve kartın pini zarar görebilir. Devrede değişiklik yapacağınız zaman önce USB kablosunu çıkarın. Ayrıca bu sistem yalnızca bilgisayara bağlıyken çalışır: Kabloyu çıkardığınızda model Arduino’ya taşınmaz, LED’ler komut almaz.
Sıra Sizde
- Modelin emin olmadığı durumlarda LED yanmasın. modelin kategorisindeki güven bloğunu (get confidence… diye başlar, seçilen sınıfın güven değerini 0 ile 1 arasında verir) kullanarak yalnızca güven 0,8’den büyükse LED yakan bir koşul ekleyin.
- Bir buzzer ekleyin (artı bacağı 4 numaralı pine, eksi bacağı GND’ye): Kırmızı kart görülünce buzzer 1 saniye ötsün.
- Kartlar yerine kendi seçtiğiniz iki nesneyi (örneğin kalem ve silgi) tanıyan yeni bir model eğitin ve devreyi bu modelle çalıştırın.
Kendini Dene
- Stage modunda model nerede çalışır, Arduino ne yapar?
- LED’lerle neden 220 Ω direnç kullandık?
- Arduino’yu PictoBlox’ta ilk kez kullanırken neden Upload Firmware düğmesine bastık?
Cevaplar
- Model bilgisayarda çalışır ve kamerayı bilgisayar okur. Arduino USB kablosuyla bilgisayara bağlı kalır ve gelen komutlara göre LED’leri yakıp söndürür.
- LED’den geçen akımı sınırlamak için. Direnç olmazsa LED ve kartın pini zarar görebilir.
- Stage modunda Arduino’nun bilgisayardan gelen “pini yak, söndür” komutlarını anlayabilmesi için karta PictoBlox’un küçük bir programı yüklenir. Bu işlem her kart için bir kez yapılır.