Robotics

Projekt 1

Touch/Beep III

Beim vorangehenden Programm führt ein einmaliges Drücken auf den Touch-Sensor automatisch zum Ende des Programms. Dies können wir ändern, indem wir die while-Schleife nie beenden (bewusst eine sog. Endlos-Schleife definieren) und mit einer if-Bedingung ständig nachfragen, ob der Touch-Sensor gedrückt wurde.

Die Zeile ev3.speaker.beep(1000,100) ist doppelt eingerückt, weil sie sowohl in der while-Schleife wie auch in der if-Bedingung steht.

touch_sensor = TouchSensor(Port.S1)
 
while True:
    if touch_sensor.pressed():
        ev3.speaker.beep(1000,100)

Beachte, dass wir die Zeit des Beeps auf eine Zehntelsekunde verringert haben. So hörst du eher, was genau passiert.

FRAGE
Welche «Unschönheit» hat dieses Programm?

ANTWORT

Die Schleife läuft so rasch immer und immer wieder durch, dass ein Druck auf den Touch-Sensor gleich mehrmals registriert wird. Die Anforderung zum Spielen des Tons, wird also mehrmals erteilt und der Ton ist länger als eine Sekunde hörbar.

Previous Next

Robotics

Table of Contents

Basics

  • Einrichten
  • Programm erstellen
  • Programm ausführen
  • Bestehendes Programm öffnen

Projekt 1 - Robo-Loop

  • Beep
  • Touch/Beep 1
  • Touch/Beep 2
  • Touch/Beep 3
  • Schnelle Schleife
  • Gebremste Schleife

Projekt 2 - Motor ansteuern

  • Motor starten
  • Motor stoppen
  • Start und Stopp

Sensoren

  • Tasten
  • Distanzsensor
  • Farbsensor
  • Lagesensor

Aktoren

  • Beep
  • Motoren

LEGO-Bauanleitungen

  • Anheben
  • Bewegung übertragen
  • Greifen
  • Schalter

Ein paar Tipps und Tricks

  • FAQ