Büyükler için · 16+ · simülasyon + kod + test
Raspberry Pi ile Robotik Programlama
Linux'tan GPIO'ya, kameradan ROS 2'ye: bir Raspberry Pi'yi robotun beynine dönüştür. Her ünitede tarayıcıda çalışan bir simülasyon (terminal, 40 pinli başlık, sensör veri yolları, OpenCV, motor ve enkoder, diferansiyel sürüş, Flask, ROS 2), gerçek kod ve kısa bir test var. Kart olmadan başlanır; kartı olan aynı adımları masasında tekrarlar.
- Ünite
- 10
- Simülasyon
- 10
- Saat
- 45
Kimler için
- Hedef kitle
- 16 yaş ve üzeri; lise son sınıf, meslek lisesi, üniversite ve meslekten öğrenenler
- Süre
- 10 ünite, yaklaşık 45 saat (ders + uygulama)
- Ön koşul
- Temel Python (değişken, döngü, fonksiyon) ve basit devre bilgisi (Ohm yasası). Laboratuvardaki Uno çalışmaları yardımcıdır ama şart değildir.
- Belge
- Üniteleri ve bitirme projesini tamamlayanlar Macademia katılım belgesi alır.
Kazanımlar
- Raspberry Pi OS'u ekransız kurup komut satırından yönetmek
- GPIO, I²C, SPI ve 1-Wire ile sensör ve eyleyici bağlamak
- Kamera ve OpenCV ile hedef algılamak
- Motorları enkoderle kapalı döngüde sürmek ve odometri hesaplamak
- Flask paneli ve ROS 2 düğümleriyle robotu yönetmek
- Yazılımı systemd ile güvenilir biçimde çalıştırmak ve test etmek
Üniteler
| Ünite | Konu | Saat | Simülasyonlar |
|---|---|---|---|
| 1 | Tek kartlı bilgisayar ve mikrodenetleyici Raspberry Pi bir bilgisayardır, Arduino ve STM32 birer mikrodenetleyici: hangisi ne zaman, ikisi birlikte nasıl? | 3 | Kart seçici: tek kartlı bilgisayar mı, mikrodenetleyici mi? |
| 2 | Raspberry Pi OS ve Linux komut satırı Dosya sistemi, izinler, sudo, apt ile paket kurma ve ssh ile uzaktan bağlanma. | 4 | Raspberry Pi OS terminali (benzetim) |
| 3 | Pi üzerinde Python: betikten bakımı kolay programa Sanal ortam, modüller, dataclass, dosyaya günlük yazma, pytest ve NumPy ile ölçüm analizi. | 4 | Raspberry Pi OS terminali (benzetim), tarayıcıda Python |
| 4 | GPIO: LED, buton, buzzer ve servo 40 pinli başlık, BCM numaraları, pull-up, sıçrama önleme, olay güdümlü kod ve PWM ile servo. | 5 | 40 pinli GPIO başlığı: LED, buton, buzzer, servo |
| 5 | Sensörler ve veri yolları: 1-Wire, I²C, SPI DS18B20 ve CRC, I²C adresleri ve i2cdetect, SPI ile MCP3008 analog okuma; config.txt ayarları. | 5 | Sensör veri yolları: 1-Wire, I²C ve SPI |
| 6 | Kamera ve OpenCV: renkli hedef bulma picamera2 ile kare yakalama, HSV eşikleme, morfoloji, momentler ve hedefe dönüş komutu. | 5 | Kamera → OpenCV boru hattı: renkli top bulma |
| 7 | Motorlar: L298N, enkoder ve hız denetimi H köprüsü, PWM ile hız, enkoderden yön ve devir, PI döngüsü; güç ve toprak düzeni. | 5 | L298N, DC motor ve dörtlü enkoder |
| 8 | Diferansiyel sürüşlü robot ve odometri İki tekerlekten gövde hızına, (v, ω) komutları, enkoderle konum kestirimi ve hatanın nereden geldiği. | 4 | Diferansiyel sürüşlü robot ve odometri, 3B kameralı keşif robotu |
| 9 | Flask ile web kontrol paneli Pi'de küçük bir HTTP sunucusu: yönlendirmeler, JSON, girdi doğrulama, belirteç ve güvenlik bekçisi. | 4 | Flask kontrol paneli ve bekçi (watchdog) |
| 10 | ROS 2 temelleri ve systemd ile otomatik başlatma Düğümler, konular, mesajlar, parametreler; twist_mux; robotun açılışta kendiliğinden başlaması. | 6 | ROS 2 düğüm ve konu grafiği, Raspberry Pi OS terminali (benzetim) |
Bitirme projesi
Bitirme projesi: kameralı keşif robotu
Web panelinden elle sürülen ya da kamerasıyla renkli bir hedefi kendiliğinden izleyen, engelde ve düşük pilde güvenle duran, açılışta kendiliğinden başlayan iki tekerlekli bir Pi robotu.
Proje ve teslimlerAraçlar
- Bu platform: 9 simülasyon, tarayıcıda Python (Pyodide), Uno devre laboratuvarı
- Gerçek kartla: Raspberry Pi 4/5, Camera Module, L298N ya da TB6612FNG, enkoderli motorlar
- Yazılım: Raspberry Pi OS Bookworm, gpiozero, picamera2, OpenCV, Flask, ROS 2 Jazzy