Grundkenntnisse Programmierung 4 (USS mit Buzzer): Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 36: Zeile 36:
pulseIn(pin, value)                  //value = HIGH oder LOW
pulseIn(pin, value)                  //value = HIGH oder LOW
pulseIn(pin, value, timeout)        //timeout = Anzahl an Mikrosekunden, die gewartet werden soll, bis ein Impuls gemessen wurde
pulseIn(pin, value, timeout)        //timeout = Anzahl an Mikrosekunden, die gewartet werden soll, bis ein Impuls gemessen wurde
/* Beispiel */
dauer = pulseIn(ECHO_PIN, HIGH);    //Zählt die Zeit in Mikrosekunden, bis der Schall zum Ultraschallsensor zurückkehrt
</syntaxhighlight>
</syntaxhighlight>



Version vom 21. September 2023, 08:14 Uhr

Autor: Justin Frommberger

Serial Monitor

Serial.begin()

Legt die Datenrate in Bit pro Sekunde (Baud) für die serielle Datenübertragung fest.

  • Wird benötigt, um die Hardwareinformationen auf dem Serial Monitor auslesen zu können.
  • Diesen findet man im Programm unter Werkzeuge Serial Monitor, in diesem Fenster muss die Baudrate eingetragen werden.

[Quelltext 1: serialBegin.ino]

void setup() {
    Serial.begin(9600); // Öffnet die serielle Schnittstelle und stellt die Datenrate auf 9600 Bit/s ein
}

Serial.print(ln)

Druckt Daten an den seriellen Anschluss als von Menschen lesbarer ASCII-Text.

[Quelltext 2: printLn.ino]

void loop() {
  // print labels
  Serial.print("NO FORMAT");  // Gibt einen Text aus
  Serial.println("Carriage-Return"); // Gibt einen Text aus und folgt mit einem Wagenrücklauf (Anfang der nächsten Zeile)

pulseIn()

Liest einen Wert von einem vorgegebenen Digitalpin ein, entweder HIGH oder LOW.

  • Wenn value HIGH ist, wartet pulseIn() darauf, dass der Pin auf den Wert HIGH wechselt, startet einen Timer und wartet anschließend darauf, dass der Pin wieder auf LOW wechselt.
  • Im nächsten Schritt stoppt pulseIn() den Timer und gibt die Länge des Impulses in Mikrosekunden zurück.
  • Wenn ein bestimmter Timeout erreicht wird, wird eine 0 zurückgegeben.

[Quelltext 4: pulseIn.ino]

pulseIn(pin, value)                  //value = HIGH oder LOW
pulseIn(pin, value, timeout)         //timeout = Anzahl an Mikrosekunden, die gewartet werden soll, bis ein Impuls gemessen wurde

/* Beispiel */
dauer = pulseIn(ECHO_PIN, HIGH);    //Zählt die Zeit in Mikrosekunden, bis der Schall zum Ultraschallsensor zurückkehrt

Buzzer

tone()

Generiert einen Ton mit der angegebenen Frequenz (und 50 % duty cycle) auf einem Pin.
Eine Dauer des Tons kann festgelegt werden, sonst wird der Ton abgespielt, bis ein noTone() aufgerufen wird.

[Quelltext 5: tone.ino]

void loop() {
tone(pin, frequency)                    // Die Frequenz des Tons in Hertz
tone(pin, frequency, duration)          // Die Dauer des Tons in Millisekunden (optional)    
}



→ zurück zur Übersicht: Projekte