Grundkenntnisse Programmierung 4 (USS mit Buzzer): Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→Buzzer) |
(→tone()) |
||
Zeile 49: | Zeile 49: | ||
['''Quelltext 5: ''' <code>tone.ino</code>] | ['''Quelltext 5: ''' <code>tone.ino</code>] | ||
<syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size:small"> | <syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size:small"> | ||
void loop() { | void loop() | ||
{ | |||
tone(pin, frequency) // Die Frequenz des Tons in Hertz | tone(pin, frequency) // Die Frequenz des Tons in Hertz | ||
tone(pin, frequency, duration) // Die Dauer des Tons in Millisekunden (optional) | tone(pin, frequency, duration) // Die Dauer des Tons in Millisekunden (optional) | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> |
Version vom 21. September 2023, 08:19 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 auf einem Pin.
Eine Dauer des Tons kann festgelegt werden, bis die Funktion noTone() aufgerufen wird.
dauer = Die Dauer des Tons in Millisekunden (optional)
[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