ARDUINO-Datentypen, Operatoren, Variablen & Konstanten history menue Letztmalig dran rumgefummelt: 07.01.23 18:02:04

... kleine Controller ganz groß - geboren aus den technischen Möglichkeiten ihrer zeit, einen ganzen Mikrorechner mitsamt CPU, PIO, SIO, CTC, DMA, ROM sowie RAM auf einem Chip zu integrieren, anfangs belächelt - sind diese heute die Großmeister des Edge-Computings.

  1. Datentypen ...
  2. Operatoren ...
  3. Anwendungsbeispiele ...
  4. Variablen & Konstanten ...
  5. Verwandte Themen ...

ARDUINO

ARDUINO-Datentypen 

ARDUINO-Datentypen - das Logo

begrenzt verwendbar - selbst aufpassen, ab welcher Stelle es Blödsinn wird ;-)

Wissen für Fortgeschrittene der Informatik

Quellen:

1. Datentypen ... history menue scroll up

Kommen Variablen oder Konstanten ins Spiel, so benötigen selbige einen, den Verrechnungsanforderungen entsprechenden verarbeitbaren Datentyp. Entscheiden die eingesetzten GPIOs über die Kommunikation nach außen, so repräsentieren Variablen und Konstanten die Verarbeitung innen.

Kurzbeschreibung Bezeichnung in der IDE ... erste Beispiele und Erfahrungen ... erste Beispiele und Erfahrungen ... erste Beispiele und Erfahrungen
Boolean (logischer Datentyp) boolean 1 Bit True (1) oder False (0) eine zweiwertige Entscheidungsgröße
Byte byte 8 Bit zu einer Gruppe zusammengefasst  0 ... 255  ganzzazahlig nicht negative Werte
Character char 1 Byte - 128 ... 127
Unsignde Character unsigned char 1 Byte 0 ... 255 ganzzahlig nicht negatv
Integer int  16 Bit - 2 Byte - 32768 ... 32767 ganzzahlig
Unsigned Integer unsigned int 16 Bit - 2 Byte 0 ... 65535 ganzzahlig
Long Integer long 32 Bit - 4 Byte - 2.147.483.648 ... 2.147.483.647 ganzzahlig
Unsigned Long unsigned long 32 Bit - 4 Byte 0 ... 4.294.967.295 ganzzahlig nicht negativ
Reele Zahl - Floating Point Type 32 Bit - 4 Byte -3,4028235 · 1038 ... 3,4028235 · 1038
Daten-Arrays
Pointer
Strings
Enumerationen (Aufzählungen)
   

2. Operatoren ... history menue scroll up

Die interne Verarbeitung von vorab vereinbarten oder eingelesenen Werte erfolgt datentypengebunden in der Rechnerzentraleinheit des Microcontrollers. Sie bilden die Grundlage für die Anwendung von Zyklen sowie Alternativen.

Operator Bedeutung Funktionsbeispiel Funktionalität
Arithmetische Operatoren (liefern ein Ergebnis)
= allgemeine Zuweisung y=87; Variable y bekommt den Wert 87 zugewiesen
+ Addition y=x+54 zum Inhalt der Variable x wird um 54 erhöht und das Ergebnis der Variable y zugewiesen
- Subtraktion y=x-3 der Inhalt der Variable x wird um 3 verringert und das Ergebnis der Variable y zugewiesen
* Multiplikation x=x*4 der Inhalt der Variable x wird 4 multipliziert und das Ergebnis der Variable y zugewiesen
/ Division x=x*4 der Inhalt der Variable x wird durch 4 dividiert und das Ergebnis der Variable y zugewiesen
++ Increment y=x++ der Inhalt der Variable x wird um 1 erhöht und der Variable y zugewiesen
-- Decrement y=x-- der Inhalt der Variable x wird um 1 verringert und der Variable y zugewiesen
% Modulo-Division Y=26%3 liefert den ganzzahligen Rest einer Division - hier 2
Vergleichsoperatoren (liefern einen Aussagewert)
< Kleiner als 17< 24 liefert eine wahre Aussage
<= Kleiner oder Gleich 3<=5 liefert eine falsche Aussage
> Größer als 17>6 liefert eine wahre Aussage
>= Größer oder Gleich 9>=18 liefert eine falsche Aussage
== Gleich x==y liefert eine wahre Aussage, wenn x sowie y die gleichen Werte haben
!= Ungleich x!=y liefert eine wahre Aussage, wenn x sowie y nicht die gleichen Werte haben
Loische Operatoren (liefern einen Aussagewert)
! Negation Y=!x der logische Wert von x wird umgekehrt und y zugewiesen
&& UND-Verknüpfung Y=x&&1 liefert eine wahre Aussage, wenn x den logischen Wert 1 hat, ansonsten 0
|| ODER-Verknüpfung Y=x||0 liefert eine wahre Aussage, wenn x den logischen Wert 1 hat, ansonsten 0

3. Anwendungsbeispiele ... history menue scroll up

An ausgewählten Code-Segmenten wird die Anwendung von Variablen, Datentypen sowie Operatoren dargestellt. Diese sind als schnelles Nachschlagewerk für die eigen Programmgestalung gedacht - sie können in aller Regel nicht ohne Anpassungen in vorhandene Sketche eingebunden werden - sie zeigen aber die Marschrichtung an, wie und wann was zu tun ist.

 
Konstantenverwendung Auswerten logischer Bedingungen    

Verwendung von vordefinierten Variablen (Konstanten)
Sketch zum Download

Verwendung von vordefinierten Variablen (Konstanten)
Sketch zum Download
   

4. Variablen & Konstanten ... history menue scroll up

Diese können bereits in den allerersten Beispielsketches verwendet werden - ist ihre Verwendung doch jedem Anwender aus dem Mathematikunterricht bekannt - nur laufen hier bis auf eine Anfangsinititialisierung alle Zuweisungspoerationen automtisch sowie mitunter auch in sehr schneller reihenfolge ab.

Konstanten sind unveränderlich in ihrem Wert nach Programmstart
Konstantendefinition

const datatype konstantenname = value; //kommentar zur Funktion
Beispiel:
const int ButtonPin = 2;
const int ButtonPin = 12;
const int ledPin_Seg_a = 2; //steuert Segment a
const int ledPin_Seg_b = 3; //steuert Segment b
const int ledPin_Seg_c = 4; //steuert Segment c
const int ledPin_Seg_d = 5; //steuert Segment d
const int ledPin_Seg_e = 6; //steuert Segment e
const int ledPin_Seg_f = 7; //steuert Segment f
const int ledPin_Seg_g = 8; //steuert Segment g
int ButtonState = 0;

void setup() {
pinMode(ledPin_Seg_a, OUTPUT);
pinMode(ledPin_Seg_b, OUTPUT);
pinMode(ledPin_Seg_c, OUTPUT);
pinMode(ledPin_Seg_d, OUTPUT);
pinMode(ledPin_Seg_e, OUTPUT);
pinMode(ledPin_Seg_f, OUTPUT);
pinMode(ledPin_Seg_g, OUTPUT);
pinMode(ButtonPin, INPUT);
}
Anwendung von Konstanten
Verwendung von vordefinierten Variablen (Konstanten)
Sketch zum Download
#define AMPEL1ROT 6
#define AMPEL1GELB 5
#define AMPEL1GRUEN 4
#define AMPEL2ROT 10
#define AMPEL2GELB 9
#define AMPEL2GRUEN 8

#define TASTE 2

#define AUS 0
#define ROT 1
#define ROTGELB 2
#define GRUEN 3
#define GELB 4

Variablen sind veränderlich in ihrem Wert nach Programmstart 

datatype name = value;

5. Verwandte Themen ... history menue scroll up

Angefangen bei diskreter digitaler Logik zeigen wir hier auch den historischen Weg in den Schritten über Einzelbauelemente bis zum heute gängigen "Physical Computing" mit Minimalanforderungen, jedoch maximaler Leistung. Was heute in eine Streichholzschachtel passt, füllte noch vor 65 Jahren ganze Häuserblöcke - ganz zu schweigen von dem "Kraftwerk", welches die benötigte Elektroenergie  bereit stellte.

Raspberry-Pi

Banana-Pi

Transistoren

Integrierte Schaltkreise

Kombinatorik

INTEL 404

... und so funktioniert ein Computer

Mikroprozessorgeschichte

Prozessoraufbau

Z80

Mikrocontrollertechnik

Automatisierungstechnik

A/D-Wandlung

Logikschaltungen - der Entwurf

Bool'sches Aussagenkalkül

Das Kombinatorik-Projekt

Murray-Code

Logische Grundschaltungen

Aufgaben zur Logikentwicklung

Rechenmaschinenmodelle



zur Hauptseite
© Samuel-von-Pufendorf-Gymnasium Flöha © Frank Rost am 4. September 2022 um 16.57 Uhr

... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus nicht mehr teilzunehmen ;-)

„Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“

Diddi Hallervorden, dt. Komiker und Kabarettist