Arduino: Variablen und Konstanten: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
|||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''Autor:''' [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. Schneider]] | '''Autor:''' [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. Schneider]] | ||
== Inhalt des | == Inhalt des zweiten Termins == | ||
# Vorstellung der Arduino [https://www.arduino.cc/reference/de/ Sprach-Referenz] | # Vorstellung der Arduino [https://www.arduino.cc/reference/de/ Sprach-Referenz] | ||
# Datentypen des Arduino ([https://www.arduino.cc/reference/de/language/variables/data-types/byte/ <code>byte</code>], [https://www.arduino.cc/reference/de/language/variables/data-types/int/ <code>int</code>], [https://www.arduino.cc/reference/de/language/variables/data-types/float/ <code>float</code>]) | # Datentypen des Arduino ([https://www.arduino.cc/reference/de/language/variables/data-types/byte/ <code>byte</code>], [https://www.arduino.cc/reference/de/language/variables/data-types/int/ <code>int</code>], [https://www.arduino.cc/reference/de/language/variables/data-types/float/ <code>float</code>]) | ||
Zeile 19: | Zeile 19: | ||
// Wird einmalig beim Start ausgeführt | // Wird einmalig beim Start ausgeführt | ||
Serial.begin(9600); // Serielle Übertragung mit 9600 Baude starten | Serial.begin(9600); // Serielle Übertragung mit 9600 Baude starten | ||
Variable_u8 = 0; | Variable_u8 = 0; // Initialisierung der globalen Variable | ||
Serial.println("SETUP"); | Serial.println("SETUP"); | ||
} | } | ||
Zeile 25: | Zeile 25: | ||
void loop() { | void loop() { | ||
// Wird zyklisch ausgeführt | // Wird zyklisch ausgeführt | ||
float Variable_s32 = 0; // lokale Hilfsvariable | float Variable_s32 = 0; // lokale Hilfsvariable anlegen und initialisieren | ||
//Variable_u8 = Addiere(Variable_u8,5); // + | |||
//Variable_u8 = Addiere(Variable_u8,5); | Variable_u8 = Subtrahiere(Variable_u8,5); // - | ||
Variable_u8 = Subtrahiere(Variable_u8,5); | Variable_s32 =(float)Variable_u8/2; // Division | ||
// | |||
Variable_s32 =(float)Variable_u8/2; | Serial.println(Variable_u8); // Ausgabe im seriellen Monitor | ||
Serial.println(Variable_u8); | |||
Serial.println(Variable_s32); | Serial.println(Variable_s32); | ||
delay(1000); // Pause in ms (0,001 s) | |||
delay(1000); // Pause in ms (0,001 s) | |||
} | } | ||
/*******************/ | |||
/* Unterfunktionen */ | |||
/*******************/ | |||
byte Addiere(byte In1_u8,byte In2_u8){ | byte Addiere(byte In1_u8,byte In2_u8){ | ||
byte Ergebnis_u8=0; // Hilfsvarianble anlegen | byte Ergebnis_u8=0; // Hilfsvarianble anlegen | ||
Zeile 41: | Zeile 45: | ||
return Ergebnis_u8; // Rückgabe des Ergebnisses | return Ergebnis_u8; // Rückgabe des Ergebnisses | ||
} | } | ||
byte Subtrahiere(byte In1_u8,byte In2_u8){ | byte Subtrahiere(byte In1_u8,byte In2_u8){ | ||
byte Ergebnis_u8=0; | byte Ergebnis_u8=0; | ||
Zeile 52: | Zeile 57: | ||
# Schreibe eine Funktion <code>float Dividiere(float In1_s32, float In2_s32)</code>, die beide übergebene Argumente (<code>In1_s32, In2_s32</code>) dividiert und das Ergebnis als <code>float</code> zurückgibt. | # Schreibe eine Funktion <code>float Dividiere(float In1_s32, float In2_s32)</code>, die beide übergebene Argumente (<code>In1_s32, In2_s32</code>) dividiert und das Ergebnis als <code>float</code> zurückgibt. | ||
# Teste die Funktion mit beliebigen Zahlen (z. B. <code>Dividiere(100, 3)</code>). | # Teste die Funktion mit beliebigen Zahlen (z. B. <code>Dividiere(100, 3)</code>). | ||
# Binde den <code>ArduinoLibOrdner</code> ein. Die Anleitung findest Du [[Erste_Schritte_mit_der_Arduino_IDE|hier]]. | # Binde den <code>ArduinoLibOrdner</code> ein. Die Anleitung findest Du [[Erste_Schritte_mit_der_Arduino_IDE|hier]]. | ||
== Musterlösung == | == Musterlösung == |
Aktuelle Version vom 17. März 2022, 14:47 Uhr
Autor: Prof. Dr.-Ing. Schneider
Inhalt des zweiten Termins
- Vorstellung der Arduino Sprach-Referenz
- Datentypen des Arduino (
byte
,int
,float
) - Globale und lokale Variablen
- Konstanten
- Funktionen
#include
Quelltext
/* Deklaration */ byte Variable_u8; // 0..255 Variable const byte KONSTANTE = 0; // 0..255 Konstante void setup() { // Wird einmalig beim Start ausgeführt Serial.begin(9600); // Serielle Übertragung mit 9600 Baude starten Variable_u8 = 0; // Initialisierung der globalen Variable Serial.println("SETUP"); } void loop() { // Wird zyklisch ausgeführt float Variable_s32 = 0; // lokale Hilfsvariable anlegen und initialisieren //Variable_u8 = Addiere(Variable_u8,5); // + Variable_u8 = Subtrahiere(Variable_u8,5); // - Variable_s32 =(float)Variable_u8/2; // Division Serial.println(Variable_u8); // Ausgabe im seriellen Monitor Serial.println(Variable_s32); delay(1000); // Pause in ms (0,001 s) } /*******************/ /* Unterfunktionen */ /*******************/ byte Addiere(byte In1_u8,byte In2_u8){ byte Ergebnis_u8=0; // Hilfsvarianble anlegen Ergebnis_u8 = In1_u8+In2_u8; // + return Ergebnis_u8; // Rückgabe des Ergebnisses } byte Subtrahiere(byte In1_u8,byte In2_u8){ byte Ergebnis_u8=0; Ergebnis_u8 = In1_u8-In2_u8; // - return Ergebnis_u8; }
Hausaufgaben bis zum 3. Termin
- Schreibe eine Funktion
float Dividiere(float In1_s32, float In2_s32)
, die beide übergebene Argumente (In1_s32, In2_s32
) dividiert und das Ergebnis alsfloat
zurückgibt. - Teste die Funktion mit beliebigen Zahlen (z. B.
Dividiere(100, 3)
). - Binde den
ArduinoLibOrdner
ein. Die Anleitung findest Du hier.
Musterlösung
→ zurück zum Hauptartikel: Projekt Alf