↯ Robotik KodlamaTüm projeler

Robot durum makinesi

Bir olay, mevcut durumu belirli kurallarla başka bir duruma taşır.

13+ yaş · 25 dakika · Python 3

İnteraktif atölyede aç →

Neler öğreneceğiz?

Bir olay, mevcut durumu belirli kurallarla başka bir duruma taşır.
Bu çalışma gerçek donanım gerektirmeyen bir Python 3 programıdır. Önce sonucu tahmin et, sonra kodu kendi bilgisayarındaki uygun ortamda çalıştır. Uygulama kodu gösterir; cihaz üzerinde Python veya C++ çalıştırıcısı değildir.

Robot durum makinesi — proje görseli
Bu projeye ait algoritma, deney veya elektriksel bağlantı görselidir. Donanım görselindeki semboller gerçek breadboard yerleşimi değildir.

Malzeme listesi

  1. Bilgisayar
  2. Python 3 çalışma ortamı
  3. Kâğıt ve kalem

Adım adım yapalım

  1. Verilen başlangıç değerlerini bul ve kâğıda yaz.
  2. Kod satırlarını sırayla izle; her değişkenin yeni değerini not et.
  3. Python kodunu bir .py dosyasına kaydedip Python 3 ile çalıştır.
  4. Çıktıyı aşağıdaki beklenen sonuçla karşılaştır.
  5. Sıra sende görevini yap; tek değişikliği test edip sonucu yaz.

Kod · Python 3

durum = "BEKLE"
for olay in ["basla", "engel", "temiz"]:
    if durum == "BEKLE" and olay == "basla":
        durum = "ILERLE"
    elif durum == "ILERLE" and olay == "engel":
        durum = "DUR"
    elif durum == "DUR" and olay == "temiz":
        durum = "BEKLE"
    print(durum)

Kod nasıl çalışır?

Bir olay, mevcut durumu belirli kurallarla başka bir duruma taşır.
Girintiler aynı işlem grubundaki satırları belirler. print() hesaplanan değeri ekrana yazar.

Beklenen sonuç

ILERLE
DUR
BEKLE

Sıra sende

Beklenmeyen olay gelince durumun korunmasını incele.

Güvenli atölye

Bu çalışma bir yazılım modelidir; motor, güç kaynağı veya gerçek güvenlik sistemi kontrol etmez.

Çalışmıyorsa kontrol et

  1. Yazım, parantez ve tırnakları kontrol et.
  2. Beklenen çıktı bu dersteki sabit başlangıç değerleri içindir; değerleri değiştirince sonuç da değişebilir.
  3. Liste indeksleri sıfırdan başlar; boyutu aşan indeks kullanma.

https://docs.python.org/3/tutorial/