Arduino: Variablen und Konstanten: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(10 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 ersten Termins ==
== Inhalt des zweiten Termins ==
# Datentypen des Arduino (<code>byte, int, float</code>)
# 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>])
# Globale und lokale Variablen
# Globale und lokale Variablen
# Konstanten
# Funktionen
# Funktionen
# Techniktest
# [https://www.arduino.cc/reference/de/language/structure/further-syntax/include/ <code>#include</code>]
# Vorkenntnisse und Ziele
 
# Informationsaustausch vie HSHL-Wiki
== Quelltext ==
# Vorstellung des AlphaBot
<div style="width:1200px; height:300px; overflow:auto; border: 2px solid #088">
# Warnung bezüglich der Brandgefahr der Akkus
<pre>
# Vorstellung der Arduino IDE
/* Deklaration */
# Erste Schritte in der Programmierung. Ausgabe von "Hallo, ich bin Alf!" im seriellen Monitor.
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;
}
</pre>
</div>


== Hausaufgaben bis zum 3. Termin ==
== Hausaufgaben bis zum 3. Termin ==
# Leiht bitte einen AlphaBot in unserer Bibliothek aus.
# 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.
# Gebt Eurem Roboter einen Namen.
# Teste die Funktion mit beliebigen Zahlen (z.&thinsp;B. <code>Dividiere(100, 3)</code>).
# Installiert auf Eurem PC die Arduino IDE.
# Binde den <code>ArduinoLibOrdner</code> ein. Die Anleitung findest Du [[Erste_Schritte_mit_der_Arduino_IDE|hier]].  
# Programmiert Euer erstes Programm mit Ausgabe von "Hallo, ich bin Alf!" im seriellen Monitor.
 
 


== Musterlösung ==
== Musterlösung ==

Aktuelle Version vom 17. März 2022, 14:47 Uhr

Autor: Prof. Dr.-Ing. Schneider

Inhalt des zweiten Termins

  1. Vorstellung der Arduino Sprach-Referenz
  2. Datentypen des Arduino (byte, int, float)
  3. Globale und lokale Variablen
  4. Konstanten
  5. Funktionen
  6. #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

  1. Schreibe eine Funktion float Dividiere(float In1_s32, float In2_s32), die beide übergebene Argumente (In1_s32, In2_s32) dividiert und das Ergebnis als float zurückgibt.
  2. Teste die Funktion mit beliebigen Zahlen (z. B. Dividiere(100, 3)).
  3. Binde den ArduinoLibOrdner ein. Die Anleitung findest Du hier.


Musterlösung


→ zurück zum Hauptartikel: Projekt Alf