Grundkenntnisse Programmierung 4 (USS mit Buzzer): Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→tone()) |
(→tone()) |
||
(15 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Kategorie:Arduino: Projekt]] | [[Kategorie:Arduino: Projekt Grundkenntnisse]] | ||
'''Autor:''' Justin Frommberger<br/> | '''Autor:''' Justin Frommberger<br/> | ||
== Serial Monitor == | == Serial Monitor == | ||
===<code>Serial.begin()</code>=== | ===<code>Serial.begin()</code>=== | ||
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. | * 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. | * Diesen findet man im Programm unter Werkzeuge Serial Monitor, in diesem Fenster muss die Baudrate eingetragen werden. | ||
'''Quelltext 1:''' <code>serialBegin.ino</code> | ['''Quelltext 1: ''' <code>serialBegin.ino</code>] | ||
<syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size: | <syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size:small"> | ||
void setup() { | void setup() | ||
{ | |||
Serial.begin(9600); // Öffnet die serielle Schnittstelle und stellt die Datenrate auf 9600 Bit/s ein | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
===<code>Serial.print(ln)</code>=== | ===<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. | ||
'''Quelltext 2:''' <code>printLn.ino</code> | ['''Quelltext 2: ''' <code>printLn.ino</code>] | ||
<syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size: | <syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size:small"> | ||
void loop() { | void loop() | ||
{ | |||
// print labels | // print labels | ||
Serial.print("NO FORMAT"); // Gibt einen Text aus | 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) | Serial.println("Carriage-Return"); // Gibt einen Text aus und folgt mit einem Wagenrücklauf (Anfang der nächsten Zeile) | ||
} | |||
</syntaxhighlight> | </syntaxhighlight> | ||
===<code>pulseIn()</code>=== | ===<code>pulseIn()</code>=== | ||
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. | ||
'''Quelltext 4:''' <code>pulseIn.ino</code> | ['''Quelltext 4: ''' <code>pulseIn.ino</code>] | ||
<syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size:14px"> | <syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size:14px"> | ||
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> | ||
== Buzzer == | == Buzzer == | ||
===<code>tone()</code>=== | ===<code>tone()</code>=== | ||
Generiert einen Ton mit der angegebenen Frequenz | Generiert einen Ton mit der angegebenen Frequenz auf einem Pin.<br> | ||
Eine Dauer des Tons kann festgelegt werden | Eine Dauer des Tons kann festgelegt werden, bis die Funktion noTone() aufgerufen wird.<br> | ||
<code> dauer = Die Dauer des Tons in Millisekunden (optional) </code> <br> | |||
['''Quelltext 5: ''' <code>tone.ino</code>] | ['''Quelltext 5: ''' <code>tone.ino</code>] | ||
<syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size: | <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> | ||
<br> | |||
---- | |||
'''→ zurück zur Übersicht: [https://wiki.hshl.de/wiki/index.php/Konzipierung_und_Evaluierung_von_Arduino-Projekten_verschiedener_Schwierigkeitsgrade_f%C3%BCr_die_Lehre#Projekte_unterschiedlicher_Schwierigkeitsgrade Projekte]''' |
Aktuelle 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