Okullar için Robotik ve Mühendislik · anaokulundan liseye

Tüm simülasyonlar

Dersin tüm simülasyonları tek sayfada; her biri kendi ünitesinde de var.

1. ünite: Tek kartlı bilgisayar ve mikrodenetleyici

Kart seçici: tek kartlı bilgisayar mı, mikrodenetleyici mi?

Projenin gereksinimlerini işaretle; her kart için puanı ve gerekçesini gör. Puanlar ders içi kurallardır: gerçek seçimde veri sayfası, fiyat ve bulunabilirlik de bakılır.

Raspberry Pi 5 / 4BLinux çalıştıran tek kartlı bilgisayar+6
Raspberry Pi Zero 2 WKüçük ve az güç çeken Linux kartı+4
Pi + MCUPi düşünür, MCU zamanlamayı tutar (UART/I²C ile)+4
Raspberry Pi Pico (RP2040)Mikrodenetleyici, MicroPython/C-3
STM32 (Cortex-M)Mikrodenetleyici, C ve gerçek zamanlı-4
Öneri: Raspberry Pi 5 / 4B +3 Kamera ve görüntü işleme (OpenCV) +3 Wi-Fi, web paneli, SSH

Projenin gereksinimleri:

2. ünite: Raspberry Pi OS ve Linux komut satırı

Raspberry Pi OS terminali (benzetim)

Küçük bir sanal dosya sistemi üzerinde gerçek komutlar: ls, cd, cat, nano, chmod, sudo, apt, systemctl, journalctl, i2cdetect. Ağ, paket kurulumu ve ssh benzetimdir; hiçbir şey indirilmez. Görev listesi durumu denetleyerek işaretlenir.

Raspberry Pi OS benzetimi. "help" yaz.

Görevler · 0/5

  • ~/robot/logs klasörünü oluştur (mkdir)
  • echo ile ~/robot/logs/ilk.txt dosyasına bir satır yaz
  • start.sh betiğini çalıştırılabilir yap (chmod +x)
  • i2c-tools paketini kur (sudo apt install)
  • python3-opencv paketini de kur

Hızlı komutlar (dokun, Enter'a bas):

4. ünite: GPIO: LED, buton, buzzer ve servo

40 pinli GPIO başlığı: LED, buton, buzzer, servo

Her cihazın sinyal ucunu bir fiziksel pine bağla: kablolama denetimi 5 V, GND, veri yolu ve donanım PWM hatalarını yakalar. Bir program seç, butona bas ve gpiozero kodunun pin numaralarıyla birlikte değiştiğini gör.

1: 3V33V32: 5V5V3: GPIO2 (SDA1)24: 5V5V5: GPIO3 (SCL1)36: GNDG7: GPIO4 (GPCLK0 · 1-Wire)48: GPIO14 (TXD)149: GNDG10: GPIO15 (RXD)1511: GPIO171712: GPIO18 (PWM0)1813: GPIO272714: GNDG15: GPIO222216: GPIO232317: 3V33V318: GPIO242419: GPIO10 (MOSI)1020: GNDG21: GPIO9 (MISO)922: GPIO252523: GPIO11 (SCLK)1124: GPIO8 (CE0)825: GNDG26: GPIO7 (CE1)727: ID (ID_SD)ID28: ID (ID_SC)ID29: GPIO5530: GNDG31: GPIO6632: GPIO12 (PWM0)1233: GPIO13 (PWM1)1334: GNDG35: GPIO19 (PWM1 · MISO1)1936: GPIO161637: GPIO262638: GPIO20 (MOSI1)2039: GNDG40: GPIO21 (SCLK1)21LED (220 Ω)0%ButonBASAktif buzzerServo (SG90)—
from gpiozero import LED, Button, Buzzer
from signal import pause

led, buzzer = LED(17), Buzzer(22)
button = Button(27, bounce_time=0.05)

def toggle():
    if led.is_lit:
        led.off(); buzzer.off()
    else:
        led.on(); buzzer.beep(on_time=0.2, off_time=0.2)

button.when_pressed = toggle
pause()

LED (220 Ω) GPIO17 (fiziksel 11) uygun.

Buton GPIO27 (fiziksel 13) uygun.

Aktif buzzer GPIO22: aktif buzzer küçük bir akım çeker; büyük buzzer için transistör kullan.

Servo (SG90) GPIO18 (fiziksel 12) uygun.

LED akımı (V_f 2 V, 220 Ω): 5,9 mA

5. ünite: Sensörler ve veri yolları: 1-Wire, I²C, SPI

Sensör veri yolları: 1-Wire, I²C ve SPI

DS18B20'nin w1_slave dosyasını CRC ile çözümle, I²C yoluna cihaz ekleyip adres çakışmasını gör, MCP3008'e SPI ile giden ve gelen baytları izle.

$ cat /sys/bus/w1/devices/28-0316a2794c5f/w1_slave

4b 01 4b 46 7f ff 05 10 e1 : crc=e1 YES
4b 01 4b 46 7f ff 05 10 e1 t=20687
CRC YES Sıcaklık: 20,687 °C (ham 331 / 16)

6. ünite: Kamera ve OpenCV: renkli hedef bulma

Kamera → OpenCV boru hattı: renkli top bulma

Yapay bir kamera karesinde HSV eşikleme, açma (aşındır + genişlet), momentlerle ağırlık merkezi ve dönüş komutu. Gürültüyü, ışığı ve eşikleri değiştir; boru hattının hangi adımda bozulduğunu gör.

Kamera (BGR → HSV)
Maske: beyaz = kalan, kırmızı = açmayla silinen
alan m00 = 193 px · cx = 56,0 · cy = 32,0 dönüş = +0,40 (sağa) açmanın sildiği gürültü: 4 px

HSV lo [170, 120, 70] hi [10, 255, 255]

7. ünite: Motorlar: L298N, enkoder ve hız denetimi

L298N, DC motor ve dörtlü enkoder

IN1/IN2/EN ile ileri, geri, fren ve serbest; birinci dereceden motor modeli; enkoderin A/B kanallarından yön ve hız. PI denetimini açıp yük altında hızın nasıl tutulduğunu izle.

-200-1000100200rpmAB
kip: coast hız: 0 rpm sayım: 0 enkoder yönü: — AB: 00

8. ünite: Diferansiyel sürüşlü robot ve odometri

Diferansiyel sürüşlü robot ve odometri

Klavye (W A S D) ya da düğmelerle sür. Gerçek poz yeşil, enkoderden hesaplanan odometri turuncu: tekerlek çapı hatası ve kaymayla zamanla ayrılırlar.

gerçekodometri1 kare = 1 m
gerçek: x 0,00 y 0,00 θ 0° odometri: x 0,00 y 0,00 θ 0° fark: 0,0 cm sayım L/R: 0 / 0

9. ünite: Flask ile web kontrol paneli

Flask kontrol paneli ve bekçi (watchdog)

Tarayıcıdaki panelden Pi'deki küçük HTTP sunucusuna istek gönder. Yanıt kodlarını (200, 400, 401, 405), belirteç denetimini ve bağlantı kesilince robotu durduran bekçiyi dene.

http://raspberrypi.local:5000/
L0,00
R0,00

Robot: stop · hız 0,00

10. ünite: ROS 2 temelleri ve systemd ile otomatik başlatma

ROS 2 düğüm ve konu grafiği

Keşif robotunun düğümlerini aç/kapat; rqt_graph benzeri grafik, ros2 topic list çıktısı ve sorunlar (yayıncısız abonelik, /cmd_vel'de iki yayıncı) anında güncellenir.

/cmd_vel/cmd_vel_auto/cmd_vel_teleop/image_raw/odom/target/camera_node/ball_detector/follower/teleop/twist_mux/motor_driver
$ ros2 topic list /cmd_vel /cmd_vel_auto /cmd_vel_teleop /image_raw /odom /parameter_events /rosout /target ! /odom: yayıncı var, dinleyen yok

Çalışan düğümler:

8. ünite: Diferansiyel sürüşlü robot ve odometri

3B kameralı keşif robotu

Diferansiyel sürüşlü robotu 3B sahada GPIO pinleriyle (L298N IN1–IN4, ENA/ENB) sür ya da izle kipini aç: kamera görüş konisi topu görünce yeşile döner, robot topa yaklaşır. Sahneyi sürükleyerek döndür, iki parmakla yakınlaştır. Sahne durumu testli saf mantıktan gelir; 3B yalnız görselleştirmedir.

gpiozero Robot(left=(5, 6), right=(13, 19)) ENA=GPIO12 ENB=GPIO18 IN1 0 IN2 0 ENA 0% · IN3 0 IN4 0 ENB 0% v_L 0,00 m/s · v_R 0,00 m/s · x -1,20 y 1,00 θ -23° kamera: top görünüyor · 3,34 m · x = 0,52

Ya da pinleri elle sür (L298N):

Esc
  • PanelAna sayfaSayfa
  • ModüllerTüm modüllerSayfa
  • ParçalarParça ansiklopedisiSayfa
  • Mühendislik yoluBüyükler için robotik: 128 parça, 7 seviyeSayfa
  • Robotik dersi (ESOF 323)Üniversite robotik dersi, 14 haftaSayfa
  • Drone dersiBüyükler için: parça, simülasyon, yazılım; 10 üniteSayfa
  • Blok atölyesiSerbest blok programlamaAraç
  • Devre laboratuvarıSanal Arduino ve devreAraç
  • Robot arenasıSanal robot sürüşüAraç
  • OyunlarBloklarla 8 öğretici oyunAraç
  • Mikro Kart atölyesiSanal LED kartı bloklarla programlaAraç
  • Robot atölyesiMikro Kart'ı robota tak, bloklarla görev yapAraç