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

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 32: Zeile 32:
</syntaxhighlight>
</syntaxhighlight>


===pulseIn===
===pulseIn()===
* Liest einen Wert von einem vorgegebenen Digitalpin ein, entweder HIGH oder LOW.  
* 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.  
* 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.  

Version vom 29. Juni 2023, 11:43 Uhr

Serial Monitor

Seria.begin()

  • Legt die Datenrate in Bit pro Sekunde (Baud) für die serielle Datenübertragung fest.
  • Wir benötigt um die Hardware Informationen auf dem SerialMonitor auslesen zu können.
  • Diesen findet man im Programm unter Werkzeuge SerialMonitor, in diesem Fenster muss die Baudrate eingetragen werden.
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.
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)

Initialisierung (Zuweisung)

#define

  • Weißt einem Wert einen Namen zu, bevor das Programm kompiliert wird
  • Definierte Konstanten in Arduino belegen keinen Programmspeicherplatz auf dem Chip
  • Der Compiler ersetzt zur Kompilierzeit Verweise auf diese Konstanten durch den definierten Wert.
#define ledPin 6
// Der Compiler ersetzt alle Erwähnungen von ledPin zur Kompilierzeit durch den Wert 6.

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.
pulseIn(pin, value)                  //value = HIGH oder LOW
pulseIn(pin, value, timeout)         //timeout = Anzahl an Mikrosekunden, die gewartet werden soll, bis ein Impuls gemessen wurde

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.
void loop() {
tone(pin, frequency)                    // Die Frequenz des Tons in Hertz
tone(pin, frequency, duration)          // Die Dauer des Tons in Millisekunden (optional)    
}