Sensör eşiğini test eden doğruluk tablosu
İki sensörden en az biri engel görürse dur komutu üret. İkisi aynı anda engel gördüğünde ayrıca geri manevra önerisi ver.
9+ yaş · 45 dakika · C++17
İnteraktif atölyede aç →Neler öğreneceğiz?
İki sensörden en az biri engel görürse dur komutu üret. İkisi aynı anda engel gördüğünde ayrıca geri manevra önerisi ver.
Bu atölyede yalnız sonuca değil, tahmininin neden doğru veya yanlış çıktığına da bak. Bir deney günlüğünde giriş, beklenen sonuç, gözlenen sonuç ve düzeltme olmak üzere dört sütun aç.
Öğrenme hedefleri
- 00,01,10,11 girişlerini dört satıra yaz.
- Arka sensör üçüncü girdi olsun; arka engel varken geri önerisini kaldır.
Malzeme listesi
- C++17 derleyicisi bulunan bilgisayar
- Metin düzenleyici
- Deney günlüğü
Adım adım yapalım
- 00,01,10,11 girişlerini dört satıra yaz.
- OR kuralıyla durma çıktısını ve AND kuralıyla iki engel durumunu ayrı hesapla.
- Programı derleyip dört satırı karşılaştır.
- Animasyon sürgüsünde aynı girişleri dene.
- İki Boolean çıktının tek bir komutla karıştırılmaması gerektiğini açıkla.
- Geri manevranın arka sensör olmadan uygulanmasının riskini tartış.
Kod · C++17
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
#include <string>
using namespace std;
int main(){
for(int left=0;left<=1;++left)for(int right=0;right<=1;++right){
bool stop=left||right;bool both=left&&right;
cout<<left<<right<<" "<<(stop?"DUR":"ILERI")<<(both?" GERI PLANLA":"")<<"\n";
}
}Kod nasıl çalışır?
Bu program gerçek motor kontrolü değildir. OR en az bir doğru girişte, AND iki giriş de doğru olduğunda true üretir.
Beklenen sonuç
Bilgisayarda çalıştırılan örneğin çıktısı:
00 ILERI
01 DUR
10 DUR
11 DUR GERI PLANLA
Sıra sende
Arka sensör üçüncü girdi olsun; arka engel varken geri önerisini kaldır.
Güvenli atölye
Bu çalışma düşük gerilimli eğitim içindir. Donanımı enerji kapalıyken, bir yetişkinle kur. Şebeke elektriği kullanma. Kodun derlenmesi fiziksel devrenin test edildiği anlamına gelmez.
Çalışmıyorsa kontrol et
- Sonucu alamıyorsan programın ilk satırından başlayıp girdileri tek tek kontrol et.
- Donanım varsa enerjiyi ayır; GND, sinyal uçları ve parça yönlerini bağlantı tablosundan doğrula.
- Aynı anda yalnız bir şeyi değiştir; değişiklik öncesi ve sonrası sonucu günlüğe yaz.
Kontrol noktaları
- Başlamadan önce: gerekli malzemeleri say ve giriş değerlerini deney günlüğüne yaz.
- Kurulumdan sonra: her bağlantıyı aşağıdaki tabloyla karşılaştır; yazılım projesinde giriş listesini kontrol et.
- Testten sonra: beklenen sonucu kendi çıktınla karşılaştır. Fark varsa ilk farklı adımı bul.
Kaynakların kullanımı
Kaynak, ilgili kavramı öğrenmek ve karşılaştırmak içindir. Türkçe görev, örnek kod ve görseller bu atölye için özgün hazırlanmıştır; kaynak makalenin çevirisi veya kopyası değildir.
https://docs.arduino.cc/built-in-examples/digital/InputPullupSerial/