ARDUINO-IDE - die Programmierung history menue Letztmalig dran rumgefummelt: 25.04.24 11:42:36

... das aktuelle Zitat: „Das Schweigen ist eine der größten Künste der Konversation.“ - Marcus Tullius Cicero

Lange Zeit war das Basteln mit Mikroelektronik ein teures und vor allem sehr kompliziertes Hobby, weshalb es von vielen Tüftlern links liegen gelassen wurde. Durch die Einführung der ARDUINO-Plattform im Jahr 2005 ändert sich das jedoch gewaltig, und es hat sich bereits eine große, stark wachsende, Community rund um ARDUINO entwickelt. Die ARDUINO-Plattform besteht einerseits aus einer großen Auswahl an ARDUINO Boards, und andererseits aus einer Programmierentwicklungsumgebung (IDE), wodurch die Einstiegshürde extrem gesenkt wurde und das Tüfteln mit Robotern und Mikroelektronik jedem, auch ohne Studium oder umfangreiche Vorkenntnisse, ermöglicht wird.

0. Grundlagenwissen
1. Die ARDUINO-IDE
2. Basis-Programmierung
3. Programmstrukturen
4. Bibliotheken
5. Methoden & Funktionen
6. Hardware, Sensoren, Gadgets, Logik sowie Treiber
7. Bauelemente - Externe Schaltungen
8. Basis-Logik
9. Verwandte Themen

die Elektronikseiten

 

ARDUINO

ARDUINO-IDE

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

Informatik-Profi-Wissen


0. Grundlagenwissen history menue scroll up Letztmalig dran rumgefummelt: 25.04.24 11:42:36

Damit überhaupt erst einmal Klarheit über Ziele sowie Realisierungsmöglichkeiten besteht, gibt's hier den "Basiskusrs" in Sachen Automatisierungstechnik, denn um nichts anderes geht es im eigentlichen Sinne. Das Auto ist gewissermaßen "Vorreiter" in dieser Branche - hier sind die Wünsche und Ziele der Automatisierung (... nämlich das Autoneme Fahren) bereits seit langem klar erkennbar. Dazu brauche ich aber Grundwissen in Sachen Steuerung sowie Regelung.
Zahlensysteme in der Informatik ... Automatisierung ... Roboter ... Messen, Steuern, Regeln ... Grundlagen ...

Zahlensysteme

Automatisierungstechnik

Roboter - der GOLEM des Rabbi Loew

Messen, Steuern, Regeln

Robotertechnik - die Grundlagen

SOFTWARECODE-Erfinder gestorben

PALO ALTO - Der Mann, der eine der wichtigsten Ideen zur Bedienung von Computern hatte, ist tot: Larry Tesler gilt als Erfinder der „Copy-and-Paste"-Zwischenablage. Tesler schrieb den dazugehörigen Softwarecode in den 1970er-Jahren am Innovationslabor Xerox Parc im kalifornischen Palo Alto.
Erstmals in die Hände von Verbrauchern kam die Funktion erst einige Jahre später in Apple-Computern. Apples Gründer Steve Jobs hatte bei einem Besuch in Xerox Parc die Bedeutung vieler dort entstandener Ideen wie der Bedienung des Computers per Maus und grafischen Interface erkannt. (dpa)

  ARDUINO 2023 ARDUINO 2023  

ARDUINO bei WIKIPAEDIA

ARDUINO - die Historie

 


1. Die ARDUINO-IDE history menue scroll up Letztmalig dran rumgefummelt: 25.04.24 11:42:36

Jedes Programm (Sketch) ist nach einheitlichen Schema aufgebaut: die beiden Basis-Blöcke heißen SETUP und LOOP. Im SETUP werden die Elemente initialisiert, im LOOP läuft das eigentliche Programm. Beide verwenden Methoden (Befehle) mit jeweils zu übergebenden Parametern. In komplexen Routinen werden werden dem SETUP noch Biliotheken vorangestellt, eventuelle Funktionsblöcke werden dem Loop nachgestellt.
ATMEGA328 ... die ARDUINO 3 Ports ARDUINO-Website ARDUINO-IDE - Referenz englisch ARDUINO-Creator https://gist.github.com/michaels123

Pinbelegung des Controllers ATMEGA328

Pinbelegung des ARDUINO UNO-Boards

ARDUINO-Web

ARDUINO-IDE

ARDUINO im Web

 

Website von Michael Bonacina

Ein GPIO (für engl. General Purpose Input/Output, wörtlich vielseitige Eingabe/-ausgabe) ist ein allgemeiner digitaler Kontaktstift an einem integrierten Schaltkreis (IC), dessen Verhalten, unabhängig, ob als Eingabe- oder Ausgabekontakt, durch logische Programmierung frei bestimmbar ist. GPIO-Kontakten ist kein Zweck vorgegeben, sie sind daher standardmäßig unbelegt.
Ein GPIO-Kanal (Port) ist eine Gruppe von mehreren zusammengefassten Kontakten, die als ein logischer Kanal angesprochen werden.
Anwendungsbeispiele: Als Eingabe geschaltet, kann beispielsweise der Zustand eines Tasters – offen oder geschlossen – durch den IC abgefragt werden. Als Ausgang können (unter Berücksichtigung der zulässigen Strom- und Spannungsparameter gegebenenfalls indirekt) beliebige elektrische Elemente wie Leuchtdioden oder Aktoren ein- oder ausgeschaltet werden. Auch Kommunikationsprotokolle wie I²C und Serial Peripheral Interface werden über solche Kontakte abgewickelt, wenn die Schaltung keine oder nicht genug spezialisierte Kontakte für sie hat; dazu muss das im Protokoll definierte Verhalten selbst programmiert werden.
ARDUINO-Gadgets einkaufen
... Komponenten aus Deutschland hier kaufen: AZ-Delivery ... preiswert einkaufen: ELEGOO ... ARDUINO-Software-Beispiele

AZ-Delivery Deutschland

ELEGOO China

EARDUINO-Software-Examples

... furchtbar gute und wichtige Systemreferenz - Begleitmaterial zum Unterricht ... meine wichtigen Systemreferenz-Anmerkungen ... meine wichtigen Systemreferenz-Anmerkungen

ARDUINO-Referenz zum Unterricht

... ich habe an einem Windows 10 Rechner bei der neu Installation Probleme mit dem Treiber gehabt. Daher stimme ich nicht zu "100% Arduino kompatibel" im Geräte Manager steht Probleme mit ..USB 2.0...
Abhilfe habe ich gefunden in dem ich den Treiber manuell installiere, weil der USB Treiber von Arduino den USB Chip CH341 nicht untersützt. Hier muss man den Treiber Seriell-zu-USB-Adapter CH341SER installieren.
Ich kann noch nicht viel sagen über die Qualität aber die Beispiel Sketchs"Blink" usw konnte ich danach hochladen.

ARDUINO-Analog-Programmierung


2. Basis-Programmierung

Das Blinken einer LED ist so etwas wie das „Hello World“ am Bildschirm, das Pendant hierfür am ARDUINO ist das Blinken einer LED. Praktischerweise haben alle ARDUINOs bereits eine LED fertig auf dem Board verbaut, meist an Pin 13, weshalb wir uns zunächst einmal auf den Sketch fokussieren können.
Beim ARDUINO Uno Version 3 Die obere Leiste sind die 14 digitalen I/O (Input/Output) Pins des ARDUINO mit den Nummern 0 bis 13, und unten rechts sind die sechs analogen Eingänge A0 bis A5. Links unten ist mit dem Ground (Minuspol) und +5V und +3.3V die Spannungsversorgung für Sensoren zu finden.
... was genau bedeutet eigentlich der Unterschied zwischen Analo- und Digitalsignalen?
fast jeder Port kann als Eingan oder Ausgang programmiert werden
jeder Analogport kann grundsätzlich auch digital arbeiten - umgekehrt ist das nicht möglich
ARDUINO kann sowohl analog als auch digital arbeiten und mit PWL-Steuerung hat er noch eine Besonderheit in petto

... logische Pegel "HIGH" and "LOW" techntisch ... logische Pegel physikalisch ideal im Kontext verschiedener Ports ... logische Pegel physikalisch ideal ... logische Pegel physikalisch ideal für ein monotones Signal (hier ein Taktsignal ... logische Pegel physikalisch real - aufgezeichnet mit einem Didital-Oszilloskop

elektrische Werte für die logischen Pegel L und H

Signalverlaufsdiagramm eines 2-Eingangs-OR

Allgemeines zum Schaltverhalten binärer Elemente

Taktdiagramme Z80-CPU

Taktdiagramm Clock-Point

Taktdiagramm Clock-Signal

D/A bzw. A/D-Wandlung

Taktsignalverhalten an Zähler, Registern und FlipFlop-Stufen

Digital-Signale

Analog-Signale

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
  delay(1000); // wait for a second
  digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW (LOW is the ground level)
  delay(1000); // wait for a second
}
einfache sowie bereits komplexere Starter-Programme mit Erklärungen (Digitale Output-Signale)
Zwei externe LED's blinken wechselseitig eine RGB-LED variiert ihre Leuchtintensität durch PWM-Signale

Zwei externe LED blinken wechselseitig im Sekundentakt

Programm zum Download

Zwei externe LED blinken wechselseitig im Sekundentakt

Programm zum Download

standardmäßige PWM-Ports sind die 3,5,6,9,10,11

Puls-Wide Modulation

komplexere Starter-Programme mit Erklärungen (Analoge Output-Signale)
Eine externe LED geht langsam aus eine RGB-LED variiert ihre Leuchtintensität durch Anlagausgangssignale

Fading LED - ARDUINO-Programm 

eine externe LED verlischt langsam

Programm zum Download

Fading RGB-LED

RGB-LED Fading

Programm zum Download

Starter-Programme mit Erklärungen (Input-Signale)
LED geht an, wenn Schalter betätigt ... ... dazu gehört aber auch die entsprechende Eingabe-Schaltung

einfaches LED-Schalten - "AN" & "AUS" 

LED-Schaltung mit Eingabe

Programm zum Download als *.ino-Datei

Download als *.txt-File

Pull-Up Widerstand (10 kΩ) High

Pull-Up Widerstand (10 kΩ) Low

Profi-Programme mit Erklärungen (Input-Signale)
Fußgänger-Ampel auf Anforderung ... dazu gehört aber auch die entsprechende Eingabe-Schaltung Gesamtschaltung nach Philip Krause 2019 grafische Darstellung der Unterprogramm-Aufrufe

Ampel mit Eingabe

Download als *.txt-File

Ampel mit Eingabe semantisch aufgearbeitet

Programm zum Download als *.ino-Datei

Download als *.txt-Filee

Pull-Up Widerstand (10 kPull-Up Widerstand (10 kΩ) High

Pull-Up Widerstand (10 kΩ) Low

Schaltung von Philipp Krause zur Ampel mit Eingabe

Subroutinen mit Parameter-Übergaben

Zeitverzögerung  
delay(stop_time); Zeitangaben in Tausendstel Sekunden
/* Kommentarblock über mehrere Zeilen
*/

//Kommentarzeile

Variablen und Konstanten  
   
Operatoren  
Arithmetic Operators

% Rest
* Multiplikation
+ Addition
- Subtraktion
/ Division
= Zuweisungsoperator

 
Bitwise Operators

& bitweises AND
<< (bitshift left)
>> (bitshift right)
^ bitweises XOR
| bitweises OR
~ bitweises NOT

 
Comparison Operators

!= ungleich
< kleiner als
<= kleiner gleich
== gleich
> größer als
>= größer gleich

 
Boolean Operators

! logisches NOT
&& logisches AND
|| logisches OR

 
Datentypen  
 
byte ganzzahlige Werte von 0 bis 255    
bool      
int ganzzahlige Werte von -32768 bis 32767    
Setup-Methoden

 

Dabei gibt man als erstes Argument (=Werte die man einer Methode, in diesem Fall pinMode, übergibt) die Pinnummer, welche auch immer direkt am ARDUINO steht, an und als zweites Argument OUTPUT oder INPUT, je nachdem welche Funktion der Pin haben soll. In unserem Fall muss die Zeile im setup Teil also: pinMode(13, OUTPUT); lauten.
Betriebsarten im Pin-Mode

pinMode(pinummer,arbeitsrichtung);

Betriebsarten im Port-Mode

Output für Ausgabe, Input für Eingabe (dazu muss natürlich auch die elektrische Beschaltung angepasst worden sein)

digitalWrite(13, HIGH);

Void-Methoden Freiraum - also Platz, welcher durch sinnvollen Inhalt zu füllen ist
Ein- und Auslesen digitaler Signale im Pin-Mode

digitalWrite(Pinnummer, Status);

digitalRead(Pinnummer, ???);

Ein- und Auslesen analoger Signale Pin-Mode

 

 

 

delay(Anzahl Millisekunden);  
PWM-Steuerung  
Loop-Methoden  
delay(Anzahl Millisekunden);  
PWM-Steuerung  
analogWrite(Portnummer, Pulswide);  


3. Programmstrukturen

Hier wird's klassisch - hinter den Strukturen auch der modernen Programmiersysteme des "Edge-Computings" verstecken sich die eigentlich bereits philosophischen Kategorien: Sequenz, Alternative sowie Zyklus.
break
continue
goto
return
while
Zyklen  
do...while  
for  
Alternativen  
if - else  
switch...case  


4. Bibliotheken

Bibliotheken sind aus eigentlich allen Software-Entwicklungs-IDE's bekannt - die Entwickler haben erkannt, dass man zur Nutzung bestimmter Funktionalitäten (... ich habe bewusst nicht den Begriff "Funktionen" verwendet, weil die etwas anderes darstellen). Bibliotheken sind also vor allem Funktionalitäten, welche oft gleich in der Nutzung gewünscht werden und meist einen ziemlich großen Programmieraufwand darstellen.

 


5. Methoden & Funktionen

 

 


6.  Hardware, Sensoren, Breakboards, Gadgets, Logik sowie Treiber
Ohne zusätzliche Hardware wird's auch beim ARDUINO schnell langweilig. Irgendwie muss er mit seiner Außenwelt kommunizieren. Minimal braucht's weitere Ausgaben, aber um wirklich Steuerungsaufgaben zu erledigen, muss man auch Eingabewerte verarbeiten können
       
Dokumentation zu Breakboards und Gadgets: https://azde.ly/Buch Sensoren via Handy programmieren: www.sensate.io/az    
1,3" OLED Display (128 × 64) 4 × 64 Dot Matrix-Display AZ-Delivery Nano V3 mit CH341 USB-Controller LCD-PM 2X16-6 B LCD-Modul, 2x16, H:5,6mm, ge/gn, m.Bel.

Handbuch zum Display

Handbuch zur Anzeige-Matrix

individuelle Display-Ansteuerung im NEW-Blog nachzulesen

Handbuch ARDUINO Nno V3

Typ-Einstellungen auf ARDUINO Genuino

 

2 mal 16 Zeichen-LCD-Display


7.  Bauelemente - Externe Schaltungen
... dieser Part kommt genau dann ins Spiel, wenn die Standards nicht mehr helfen, wenn von irgend etwas mehr benötigt wird, als vorhanden ist - das Aufspreizen des "Digitalen GPIO-Ports" ist so ein Beispiel - die Endsumme der verfügbaren GPIOS ist erreicht - benötigt aber werden mehr - mitunter viel mehr!!!
Aber auch einfache Schaltpläne können hiermit entworfen werden
Schaltungsentwicklung mit CorelDraw Schaltpläne mit "Fritzing" Schaltungsentwurf mittels TINKERCAD Schaltungsentwurf mittels INCSCAPE  

Installation von Logikschaltungen

Schltpläne mit Fritzing entwerfen

Web-Frontend "Fritzing"

Schaltungsentwurf mit TINKERCAD

Web-Frontend "TINKERCAD"

   

8.  Basis-Logik
... in sich ist der ARDUINO eine geschlossene Einheit - aber schnell brauchen wir mehr als ein Bit, welches zweifellos sichtbar an- bzw. ausschaltet. Auch externe Logik zur Ein- bzw. Ausgabe und/oder externe Signalverarbeitung  (... Messen sowie Auswerten eingehender physikalischer Größen) ist ein Grund zur Diskussion. Ab hier können Lösungen im Hard- aber eben auch - und besonders im Software-Bereich liegen.
Logikschaltungen
Additions-Logiken Subtraktions-Logiken Multiplexer-Logiken Decoder-Logiken Code-Wandler

Half-Adder

Download im CorelDraw 11.0-Format

Full-Adder

Download im CorelDraw 11.0-Format

Half-Subtractor

Download im CorelDraw 11.0-Format

Half-Multiplexer

Download im CorelDraw 11.0-Format

   
Folgeschaltungen
einfache Rückkopplung Takt-Kondensator & Taktquarz einfaches RS-Standard-Flip-Flop    

Rückkopplung

Download im CorelDraw 11.0-Format

Freuenzsteuerung

Download im CorelDraw 11.0-Format

RS-Flip-Flop

Download im CorelDraw 11.0-Format

   
Pin-Belegungen wichtiger Logik-Gates Gesamtübersicht logischer und Folgeschaltungen Logikpläne mit realen Gates Aebwiten mit der Experimentier-Planine

Übersicht digitale IC - Stand Februar 2019

Download als CorelDraw11.0-Datei

Installation von Logikschaltungen

Basis-Gates zur Schaltungsentwicklung

Download im CorelDraw 11.0-Format

... die Experimentier-Standard-Platine

Download als CorelDraw11.0-Datei


9. Verwandte Themen history menue scroll up

Was ist alles mit dem Betriebssystem eines Microcomputers verwandt? Antwort: faktisch der gesamte Bereich der Digitalelektronik und sowieso die gesamte Technik der Software-Technologie der Vergangenheit, Gegenwart sowie zumindest der nächsten Zukunft.

PIC5-Schaltungssammlung

Controller-Programmierung

Prinzipiell wird hier natürlich genau so vorgegangen, als handele es sich um ein reines Software-Projekt (was es ja auch eigentlich ist!). Praktisch müssen aber eben doch noch ein paar Eckdaten berücksichtigt werden, sonst wird es unter Umständen teuer oder unmöglich zu realisieren.

Portkonzept Mikrocontroller

Just Anather Lanuage

Flowcode

Installation von Logikschaltungen

Logik komplex

     

Smart Car Kit V 2.0 for ARDUINO

Schaltungen mit IC's

Expressiv 32

EasyPIC5-Developer Tool

CALLLIOPE-Mini

Raspberry-Pi

Banana-Pi

Tinker-CAD

Transistoren

Integrierte Schaltkreise

Kombinatorik

... 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 18. Juli 2019 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

Diese Seite wurde ohne Zusatz irgendwelcher Konversationsstoffe erstellt ;-)