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

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 3: Zeile 3:


== Serial Monitor ==
== Serial Monitor ==
===<code>Seria.begin()</code>===
===<code>Serial.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.
* 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>
<syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size:14px">
<syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size:14px">
void setup() {
void setup() {
Zeile 14: Zeile 15:
</syntaxhighlight>
</syntaxhighlight>


===<code>Serial.print(ln)</code>===
===<code>Serial.print(ln)</code>===<br>
* Druckt Daten an den seriellen Anschluss als von Menschen lesbarer ASCII-Text.  
Druckt Daten an den seriellen Anschluss als von Menschen lesbarer ASCII-Text.  


<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 30: Zeile 31:
* Der Compiler ersetzt zur Kompilierzeit Verweise auf diese Konstanten durch den definierten Wert.
* Der Compiler ersetzt zur Kompilierzeit Verweise auf diese Konstanten durch den definierten Wert.


'''Quelltext 2:''' <code>define.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">
#define ledPin 6
#define ledPin 6
Zeile 41: Zeile 43:
* Wenn ein bestimmter Timeout erreicht wird, wird eine 0 zurückgegeben.
* Wenn ein bestimmter Timeout erreicht wird, wird eine 0 zurückgegeben.


'''Quelltext 3:''' <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
Zeile 48: Zeile 51:
== Buzzer ==
== Buzzer ==
===<code>tone()</code>===
===<code>tone()</code>===
* Generiert einen Ton mit der angegebenen Frequenz (und 50 % duty cycle) auf einem Pin.  
Generiert einen Ton mit der angegebenen Frequenz (und 50 % duty cycle) auf einem Pin.<br>
* Eine Dauer des Tons kann festgelegt werden; sonst wird der Ton abgespielt, bis ein noTone() aufgerufen wird.
Eine Dauer des Tons kann festgelegt werden; sonst wird der Ton abgespielt, bis ein noTone() aufgerufen wird.


'''Quelltext 4:''' <code>tone.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">



Version vom 15. Juli 2023, 16:46 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.

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.

Quelltext 2: define.ino

#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.

Quelltext 3: 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

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 4: tone.ino

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