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

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 10: Zeile 10:
['''Quelltext 1: ''' <code>serialBegin.ino</code>]
['''Quelltext 1: ''' <code>serialBegin.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 setup() {
void setup()  
    Serial.begin(9600); // Öffnet die serielle Schnittstelle und stellt die Datenrate auf 9600 Bit/s ein
{
Serial.begin(9600); // Öffnet die serielle Schnittstelle und stellt die Datenrate auf 9600 Bit/s ein
}
}
</syntaxhighlight>
</syntaxhighlight>
Zeile 20: Zeile 21:
['''Quelltext 2: ''' <code>printLn.ino</code>]
['''Quelltext 2: ''' <code>printLn.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()  
{
   // 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>


Zeile 36: Zeile 39:
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 (und 50 % duty cycle) auf einem Pin.<br>
Generiert einen Ton mit der angegebenen Frequenz 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, 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: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>

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