Im leeren Raum nicht bremsen
Arduino C++Der Stoßstangen-Sketch dieses Roboters schaltet das Bremslicht (D13) ein, wenn etwas näher als 20 cm ist. Vor einer Wand funktioniert das, aber in einem offenen Raum bremst er auch: Wenn nichts ein Echo gibt, gibt pulseIn() 0 zurück, und 0 cm ist „näher als 20“. Brems nur, wenn es wirklich ein Echo unter 20 cm gab. Die Wand ist 80 cm entfernt, bei 1,5 s 15 cm, bei 3 s weg und bei 4,5 s 8 cm entfernt.
Prüfungen
- Noch nicht ausgeführtLäuft
- Noch nicht ausgeführtWand in 80 cm: keine Bremse
- Noch nicht ausgeführtWand in 15 cm: Bremse
- Noch nicht ausgeführtLeerer Raum: keine Bremse
- Noch nicht ausgeführtWand in 8 cm: Bremse
Tipps
- ping() gibt 0 zurück, wenn nichts zurückkam. 0 ist keine Entfernung.
- Beides muss wahr sein: Es gab ein Echo, und es war nah.
- bool brake = cm > 0 && cm < 20;