Grundkenntnisse Programmierung 4 (USS mit Buzzer): Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
[[Kategorie:Arduino: Projekt]] | [[Kategorie:Arduino: Projekt]] | ||
'''Autor:''' Justin Frommberger<br/> | |||
== Serial Monitor == | == Serial Monitor == | ||
===Seria.begin()=== | ===<code>Seria.begin()</code>=== | ||
* Legt die Datenrate in Bit pro Sekunde (Baud) für die serielle Datenübertragung fest. | * 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 | * Diesen findet man im Programm unter Werkzeuge Serial Monitor, in diesem Fenster muss die Baudrate eingetragen werden. | ||
<syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size:14px"> | <syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size:14px"> | ||
Zeile 12: | Zeile 14: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
===Serial.print(ln)=== | ===<code>Serial.print(ln)</code>=== | ||
* Druckt Daten an den seriellen Anschluss als von Menschen lesbarer ASCII-Text. | * Druckt Daten an den seriellen Anschluss als von Menschen lesbarer ASCII-Text. | ||
Zeile 33: | Zeile 35: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
===pulseIn()=== | ===<code>pulseIn()</code>=== | ||
* 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. | ||
* Im nächsten Schritt stoppt pulseIn() den Timer und gibt die Länge des Impulses in Mikrosekunden zurück. | * 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. | * Wenn ein bestimmter Timeout erreicht wird, wird eine 0 zurückgegeben. | ||
<syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size:14px"> | <syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size:14px"> | ||
Zeile 45: | Zeile 47: | ||
== Buzzer == | == Buzzer == | ||
===tone()=== | ===<code>tone()</code>=== | ||
* Generiert einen Ton mit der angegebenen Frequenz (und | * Generiert einen Ton mit der angegebenen Frequenz (und 50 % duty cycle) auf einem Pin. | ||
* Eine Dauer des Tons kann festgelegt werden; | * Eine Dauer des Tons kann festgelegt werden; sonst wird der Ton abgespielt, bis ein noTone() aufgerufen wird. | ||
<syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size:14px"> | <syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size:14px"> |
Version vom 15. Juli 2023, 16:42 Uhr
Autor: Justin Frommberger
Serial Monitor
Seria.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.
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)
}