Einführung

In der täglichen Praxis als Betriebselektriker fällt uns immer öfter auf, dass junge Menschen nicht mehr den natürlichen Umgang mit der Technik haben wie meine Generation. Wir sind mit Spielzeug und vor allem einem Modellbau aufgewachsen, bei der noch vieles selbst gemacht werden musste. Es ist natürlich zu begrüßen, dass Spielzeug heute wesentlich sicherer ist. Doch leider geht damit auch viel von dem spielerischen Umgang mit Technik selbst verloren. Verpolsichere Steckverbindungen und Fertigmodelle verbergen oftmals die im Hintergrund verborgene Technik.
Da wir jedoch bei Gesprächen mit unseren Auszubildenden immer wieder gefragt werden, ob es nicht möglich währe einen Roboter, einen 3D Drucker, oder andere technische Spielzeuge zu realisieren, sind diese jungen Menschen eben immer noch an Technik interessiert?
So werde wir in diesem Projekt versuchen unseren jungen Kollegen die Mikrocontroller- Technik näher zu bringen. Auch wenn vieles vorgefertigt zu beziehen ist, muss dennoch praktisch alles an die jeweilige Anforderung angepasst werden. Dazu ist es nötig, Bauteile und Baugruppen grundsätzlich zu verstehen, Datenblätter zu lesen und Schaltungen zu berechnen. Dinge, die zwar auch in den Berufsschulen und den Lehrbetrieben unterrichtet werden. Doch der Spaß an der Technik kommt dabei leider oftmals viel zu kurz.


Was ist ein Mikrocontroller? (Abgekürzt MC)
Ein MC ist ein Halbleiterbauteil, dass neben einer CPU (Cental-Prozessor-Unit) auch noch Baugruppen enthält, die eine Ein- und Ausgabe ermöglichen. Zusätzlich ist in modernen Mikrocontrollern auch immer  Arbeits-, Programm- und andere Speicher fest mit verbaut. So dass wir hier einen kleinen, durchaus leistungsfähigen Computer zur Verfügung haben.

Der in diesem Projekt verwendete ESP8266 /E12 ist ein solcher moderner MC, der neben seiner CPU (80MHz) auch  4 MB Speicher verbaut hat, die sich in 4 Bereiche aufteilen. Neben der Unterstützung von Bus Systemen wie „I²C“, „One Wire“ und vielen anderen ist zusätzlich in diesem MC auch noch ein WiFi- Controller fix verbaut, der es uns ermöglicht über WiFi diesen zu steuern oder Ausgaben zu realisieren.

Das NodeMCU  „D1 Mini“ ist nun mit einer Platine bereits so weit vorbereitet, dass Du diesen direkt programmieren kannst. Der aufgelötete ESP8266/E12 wird mit einer USB- Schnittstelle erweitert und ein Spannungsregler stellt die benötigten 3,3 Volt zur Verfügung. Du benötigst dazu neben einem einfachen Computer (Laptop ist ideal) mit USB- Schnittstelle lediglich ein Micro- USB Kabel. (Das von deinem Handy sollte problemlos funktionieren)

Lehrlinge der „Schöller Bleckmann Edelstahrohr“, haben diesen bereiz erhalten. Betriebsfremde können diesen Controller um ca 4 bis 10 Euro (Je nachdem wie lange Du bereit bist auf diesen zu warten) im Internet beziehen.

Für manche Mikrocontroller wird auch der Begriff „System-on-a-Chip“ (abgekürzt: SoC) verwendet.

In der Technik wird Dir eventuell schon mal der Begriff „Embedded System“ untergekommen sein? Embedded ( engl. = eingebettet) ist in diesem Fall ein Computer. Der sehr oft nicht mehr ist, als ein solcher MC. Ob Dein Fahrzeug, die Waschmaschine bei Dir zu Hause oder Dein Handy. In allen arbeiten heute Mikrocontroller im verborgenen.
Die Hardware wird an die Aufgabe angepasst und wird sich während der Nutzungsdauer kaum ändern. Jedoch kann der Hersteller jederzeit die Software an veränderte Anforderungen anpassen, ohne das Gerät zerlegen zu müssen.
Mikrocontroller sind demnach allgegenwärtig und gewinnen in der letzten Zeit auch in industriellen Anwendungen an Bedeutung.


Was ist Arduino IDE?
Hier handelt es sich um die Software der Physical-Computing– Plattform, des Arduino (Genuino) Projekts. Programmiert wird in C und C++. Wobei durch eine Boardverwaltung sicher gestellt wird, dass Du einen passenden Compiler (Dieser wandelt dein Programm in einen für den MC verständlichen Code um) und einfache Tools zum Hochladen der Programme oder Speicherinhalte gleich mit integriert hast. Arduino IDE nimmt Dir auch einen Teil der Programmierarbeit ab. Normalerweise muss man in C und C++ Programmen recht aufwendige Header schreiben. Arduino IDE macht dies automatisch im Hintergrund und Du kannst Dich vom Anfang an auf die eigentliche Aufgabe konzentrieren.


Du wirst Dich jetzt vielleicht fragen: „Warum nutzen wir nicht ein Arduino Board?
Diese Boards benutzen einen recht leistungsschwachen MC. Mit einer 16 MHz CPU und gerade mal ein halbes MB Speicher stößt man sehr schnell an die Grenzen. Zudem müsste man für eine WiFi- Konnektivität einen kleinen ESP8266/E7 extra einbauen. Wir werden viele unserer Beispiele so auslegen, dass wir diese auch Zuhause als IoT- Steuerung (Internet over Things) nutzen können. Demnach nutzen wir ein Board, das uns dafür schon alles zur Verfügung stellt.


Was ist C und C++?
Beides sind sogenannte Hochsprachen in der Informationstechnik. Wobei C++ die Weiterentwicklung von C darstellt. Hochsprachen nutzen einen Compiler, welche den geschriebenen Quellcode in Programm für das jeweilige System übersetzen. Dieses Programm wird dann am System gespeichert und ausgeführt.
Mit C und C++ kann man unter anderem auch Windows, Macintosh und Linux- Systeme programmieren. Android nutzt vorwiegend Java als Programmiersprache.
Allerdings müsstest Du andere Schnittstellen ansprechen. Dein MC kennt keinen Monitor oder eine Tastatur. Dafür kann er Ein- und Ausgänge direkt ansprechen und hat zusätzlich diverse Verbindungsmöglichkeiten zu anderen Systemen, die fest im System integriert sind. Bei deinem Rechner müsst Du dafür Hardware einbauen und einen Treiber installieren.

Skriptsprachen
Grundsätzlich könntest Du deinen „D1 Mini“ auch mit Lua-Script programmieren.
Da bei Skriptsprachen der Quellcode am System gespeichert wird und dann Zeile für Zeile bei der Ausführung von einem sogenannten Interpreter in eine für die CPU verständliche Anweisung übersetzt wird, benötigt man jedoch mehr Speicher und verzögert die Ausführung des Programms.
Dafür ist der gespeicherte Code vom jeweiligen System klar zu lesen und der Interpreter kann so ausgelegt werden, dass keine gefährlichen Zugriffe auf Hardware oder Daten möglich sind. Viele Serveranwendungen werden mittels Skriptsprachen realisiert. (Diese Seite ist zum Beispiel ein Php- Skript welches aus Datenbankeinträgen einen „HTML- Code“ erzeugt.)

Beschreibungssprachen
… dienen vorwiegend dazu, Inhalte zu beschreiben. Mittels „HTML- Code“, wird zu Beispiel beschreiben, was ein Browser wie darstellen soll. Mit „HTML-Code“ werden wir uns im Rahmen des Projekts etwas beschäftigen.
Eventuell ist Dir „xml“ bekannt? Dieses Format ist mittlerweile der Standard für Textverarbeitung. Fast Jede Datei, die Du in Word speicherst wird als xml. gespeichert.


Wir hoffen, wir können Dich für die MC- Technik ebenso begeistern, wie wir es selbst sind und Du findest hier einen Einstieg in die moderne Steuerungstechnik. Solltest Du noch Fragen haben, melde Dich per Mail bei mir persönlich, oder Schreib diese als Kommentar in den Post zum Beitrag in der Google Community!

Wir wünschen Dir viel Spaß mit diesem Projekt.