Bevor es losgeht, muss noch die ROBO Pro Coding App heruntergeladen werden. Einfach das passende Betriebssystem auswählen und auf den Link klicken:
Google Play Store
Microsoft Store
Apple App Store
Linux
Dem Roboter sagen, wo es lang geht! Einfach unsere Voice Control App herunterladen und dem Roboter individuelle Befehle geben:
Computer sind aus unserer modernen Welt nicht mehr wegzudenken. Sie umgeben uns nicht nur in Gestalt von PCs, Laptops oder Tablets: Wir tragen sie als Smartphones in der Hosentasche, sie stecken in unseren Autos, in Spül- und Waschmaschinen, in der Heizungssteuerung, in E-Bikes und in Kaffeeautomaten.
Jahr für Jahr werden sie leistungsfähiger und zugleich immer kleiner und kompakter. Damit nehmen auch ihre Einsatzfelder zu, denn sie können nun auf die jeweilige Anwendung zugeschnitten und als „eingebettete Systeme“ (embedded systems) in diese integriert werden. Sie erfassen und „vermessen“ mit Sensoren ihre Umgebung und steuern Motoren, LEDs oder andere Aktoren. Durch moderne Funk-Kommunikationstechniken wie WLAN oder Bluetooth können sie miteinander vernetzt werden und Daten untereinander oder mit einer Steuerzentrale austauschen.
Wie aber funktionieren solche eingebetteten Systeme und ihr jeweiliges „Herzstück“, der Mikroprozessor? Was ist ein Mikrocontroller und wie werden damit Sensordaten erfasst und ausgewertet? Wie steuert man mobile Systeme, z. B. Roboter oder Fahrzeuge? Wie können die Systeme miteinander kommunizieren und Daten austauschen?
In dieser Lerneinheit steht das Verständnis von Mikrocontrollern und deren Einsatz im Zentrum. Es werden die zentralen Grundlagen erläutert und in deren praktische Umsetzung in den Übungen (Aufgaben) vertieft. Dabei werden verschiedene wichtige Einsatzbereiche von Mikrocontrollern vorgestellt: Messung, Kommunikation, Codierung und Verschlüsselung, Steuerung und Regelung, Robotik und autonomes Fahren.
Als „endlicher Automat“ wird ein System bezeichnet, dessen Verhalten sich als eine endliche Menge von Zuständen beschreiben lässt. Der Übergang von einem Zustand in einen anderen wird dabei von Bedingungen (wie z. B. Ereignissen, beispielsweise Werteänderungen von Sensoren) ausgelöst, auf die jeweils eine Aktion folgt. Endliche Automaten werden daher auch „Zustandsmaschinen“ genannt und durch Zustandsübergangsdiagramme beschrieben.
Endliche Automaten spielen eine wichtige Rolle bei der Beschreibung von Mikrocontrollern: Fast jedes eingebettete System (wie z. B. eine Aufzugsteuerung oder ein Roboter) lässt sich als ein System aus endlich vielen Zuständen verstehen. Die Darstellung als Zustandsübergangsdiagramm vereinfacht das Verständnis des Systems meist erheblich und erleichtert eine (vor allem fehlerfreie) Programmierung. Denn in jedem Zustand sind nur die Ereignisse zu berücksichtigen, die zu einer Zustandsänderung führen, wie bspw. die Anforderung eines „Grün“-Signals an einer Fußgänger-Bedarfsampel (siehe das Beispiel in der Abbildung).
Der fischertechnik-Thermistor hat bei 25°C einen Widerstandswert von 1,5 kOhm. Wie an der Grafik zu erkennen ist die Kennlinie des Heißleiters nicht linear. Aber man kann den Temperaturwert einigermaßen genau über eine lineare Kurve annähern. Dazu muss man einen zweiten Messwert bestimmen und daraus die Gleichung der linearen Funktion berechnen.
Für eine genauere Berechnung des Temperaturwerts T (in Kelvin) aus dem Widerstandswert R eines NTC-Widerstands wird üblicherweise die folgende Steinhart-Hart-Gleichung verwendet:
Ein Barcode ist ein „Balkencode“ oder Strichcode, der aus schwarzen und weißen senkrechten Balken verschiedener Breite besteht. Barcodes zählen zu den eindimensionalen Codes, da die Information allein in der Breite der Balken enthalten ist (bspw. schmaler Balken = „0“, breiter Balken = „1“). Die Farbe der Balken (s/w) dient allein deren Unterscheidung. Barcodes sind „optische Codes“, d. h. sie können von einem Sensor, der „hell“ und „dunkel“ unterscheiden kann, oder von einer Kamera mit Bildauswertung gelesen werden. Barcodes werden überwiegend zur Kennzeichnung von Objekten verwendet; man findet sie z. B. auf Büchern und Zeitschriften (ISBN/ISSN), auf Waren-Etiketten oder Aufklebern für die Paketpost. Es gibt sehr viele unterschiedliche Barcodes, die sich durch ihre Informationsdichte und durch die verwendeten Prüfziffern unterscheiden. Barcodes haben den Vorteil, dass sie sehr robust sind und leicht eingelesen werden können; auch sind die Lesegeräte sehr günstig.
Ein typischer Barcode ist der Code 39. Er wurde bereits 1973 bei der Fa. Intermec entwickelt und inzwischen von diversen Normungs-Organisationen (darunter ANSI und ISO) in Spezifikationen bzw. Normen festgelegt (u. a. der ISO/IEC 16388). Ein Code-39-Zeichen besteht aus neun Balken – fünf schwarzen und vier weißen (den Zwischenräumen) – in zwei verschiedenen Breiten. Dabei steht ein breiter Balken für eine „1“ und ein schmaler für eine „0“; ein Code-39-Zeichen entspricht also einer neunstelligen Binärzahl.
Vor und hinter jedem Zeichen folgt ein (schmaler) weißer Zwischenraum, damit man die einzelnen Zeichen unterscheiden kann. Code-39-Barcodes sind immer gleich breit, denn die Anzahl der breiten Balken je Zeichen ist auf genau drei festgelegt: zwei schwarze und ein weißer. Ein Code-39-Zeichen besteht also immer aus sechs schmalen und drei breiten Balken, oder sechs „0“-en und drei „1“-en. Der Code-39-Standard definiert insgesamt 44 Zeichen: die 26 Buchstaben des Alphabets, die zehn Ziffern „0“ bis „9“ und die acht Sonderzeichen „*“ (Start-/Stoppzeichen), Leerzeichen, „-“, „+“, „.“, „/“, „%“ und „$“.
Eine Weiterentwicklung der Barcodes sind QR-Codes, die aus Punkten auf einer quadratischen Fläche bestehen. Sie zählen zu den zweidimensionalen Codes und erfordern eine Kamera zum Einlesen und Dekodieren.
Der RGB-Code ist eine Drei-Byte-Kodierung der Farbanteile R (Rot), G (Grün) und B (Blau, jeweils von 0-255) in einem Farbton. Aus einem RGB-Wert kann der Farbton (Hue) wie folgt bestimmt werden:
Als Ergebnis erhält man den Winkel, in dem diese Farbe im Farbkreis liegt (siehe Abbildung).
Die Verschlüsselung von Daten (auch Chiffrierung genannt) dient dazu, den Inhalt einer Nachricht zwischen Sender und Empfänger geheim zu halten und ein „Mitlesen“ Unberechtigter wirksam zu verhindern. Dafür werden Verschlüsselungsverfahren verwendet, die die Nachricht in einer zwischen Sender und Empfänger vereinbarten Weise „verändern“. Dabei wird möglichst nicht das Verschlüsselungsverfahren selbst geheim gehalten, sondern lediglich ein nur Sender und Empfänger bekannter Schlüssel („Kerkhoff’sches Prinzip“). Meist werden dabei die Zeichen der Nachricht durch andere ersetzt (substituiert) oder untereinander vertauscht (permutiert).
Früher wurden vor allem einfache Substitutions-Chiffren verwendet. Eines der bekanntesten Verfahren ist die so genannte „Caesar-Chiffre“. Dabei werden die zu übermittelnden Buchstaben der Nachricht im Alphabet um eine feste Anzahl Stellen (dem Schlüssel) „verschoben“. So wird beim Schlüssel „3“ aus einem „A“ ein „D“, aus einem „B“ ein „E“ und so weiter, bis aus einem „Z“ schließlich ein „C“ wird. Die Entschlüsselung beim Empfänger erfolgt genau umgekehrt.
Eine Caesar-Verschlüsselung ist leicht zu knacken, denn die Häufigkeitsverteilung der Buchstaben einer natürlichen Sprache wird durch die Verschlüsselung nicht verändert: Bei einem längeren Text ist der mit Abstand häufigste Buchstabe das „E“. Kennt man den häufigsten Buchstaben des verschlüsselten Textes, so weiß man, um wie viele Stellen man das Alphabet „verschieben“ muss, um den mitgehörten Text zu entschlüsseln.
Außerdem gibt es nur 25 verschiedene Möglichkeiten, die Buchstaben im Alphabet zu verschieben: Das ist eine sehr geringe Anzahl möglicher Schlüssel. Man könnte also auch so lange verschiedene Verschiebungen durchprobieren, bis beim Entschlüsseln ein sinnvoller Text herauskommt.
Deutlich schwieriger zu knacken ist eine von Blaise de Vigenère (1523-1596) im Jahr 1586 veröffentlichte Verschlüsselung, bei der die Zeichen der Nachricht nicht alle um die gleiche Anzahl Stellen im Alphabet verschoben werden, sondern nach einem vorgegebenen Schema. So bedeutet der Schlüssel „1 5 12 4 8 7 11“, dass das erste Zeichen der Nachricht um eine Stelle, das zweite um fünf, das dritte um 12 usw. und schließlich das siebte um 11 Stellen im Alphabet verschoben wird. Beim achten Zeichen wird wieder um eine, beim neunten um fünf etc. verschoben. Das Vigenère-Verschlüsselungsverfahren galt fast dreihundert Jahre als unknackbar.
Oft wird der Schlüssel dabei nicht durch eine Zahlenfolge, sondern durch die entsprechenden Buchstaben des Alphabets dargestellt – in oben stehendem Beispiel also durch „AELDHGK“. Damit lässt sich das Ersetzen der Zeichen (durch ein „Addieren“ der Positionen im Alphabet) auch viel einfacher programmieren.