So, alles liegt bereit: Der Controller, ein Shield, meine externe Beschaltung. Jetzt kann die Programmierung beginnen. Und damit bin ich schon bei einer entscheidenden Frage: Wie steuere ich die Hardware Komponenten denn mit der Software an? Folgende Arten von Komponenten zeigen sich:
– Controller
Das ist der eigentliche Mikroprozessor. Der hat einen spezifischen Befehlssatz und eine spezielle Beschaltung nach außen. So sind nicht immer alle Komponenten gleichzeitig verfügbar. So ist z.B. ein Port so beschaltet, das es entweder als Input oder Output oder als serielle Schnittstelle nutzbar ist.
– Sensoren
Damit Messe ich verschiedene Parameter der Umwelt, z.B. Temperatur, Abstände, usw. Hierfür muss ich wissen, wie die Kennlinien aussehen, ob sie linear verlaufen oder nicht. Das hat Konsequenzen für die Programmierarbeit.
– Aktuatoren
Die werden gebraucht, um etwas in der Umwelt zu verändern. Meistens um eine Bewegung auszuführen. Das sind z.B. Motoren, da gibt es Gleichstrommotoren, Schrittmotoren und Servomotoren oder Magnetventile oder einfache Relais. Auch hier hat die Art der Ansteuerung Auswirkungen auf die Programmierarbeit.
– Displays
Um verschiedene Ergebnisse oder aktuelle Schritte der Programme sichtbar zu machen werden Displays benutzt. Da es verschiedene Arten von Displays gibt, nämlich TFT Touchscreen, LCD, (O)LED, LED Matrix, Siebensegment oder einfache LED’s, ist auch hier die Frage nach den darstellbaren Zeichen und der Ansteuerung. Und wieder hat die Art der Ansteuerung Auswirkungen auf die Programmierarbeit.
Hier muss man sich das Bauteil etwas genauer anschauen. Irgendwo gibt es eine Bauteil- oder Typbezeichnung für das Bauteil. Beim Hersteller findet man dann ein sogenanntes ‚Datenblatt‚, auf Englisch ‚datasheet‚. Manchmal gibt es auch ‚Application Notes‚ z.B. mit Programmierbeispielen.
Beispiele:
LCD Display HD44780
Am Anfang stehen ein paar allgemeine Angaben, wie z.B. die Baugröße usw. Danach folgen dann ein Blockschaltbild, dem man entnehmen kann, wie das Display in seiner Funktion logisch aufgebaut ist, die Funktionen der einzelnen Pins, die Funktionen der Ansteurung über ‚Register‘, die darstellbaren Zeichensätze, Anzeigefunktionen, Timing der Ansteuerung der Pins,Reset Verhalten, Beschreibung der ‚Instructions‘, Verschieden Möglichkeiten das Display an die Hardware anzuschliessen, Initialisierung und weitere Angaben zur Hardware.
Mikrocontroller Atmel ATMEGA328P
Dieses Datenblatt ist ähnlich strukturiert wie das vorherige, allerdings weitaus umfangreicher. Das steckt bereits in der Entwicklungsumgebung, wie z.B. bei Arduino, mit drin. Daher muss man der Entwicklungsumgebung auch angeben, welchen Prozessor man benutzt.
Ultraschallsensor HC-SR04
Das ist ein relativ kurzes Datenblatt. Die Funktion und Ansteuerung wird hier beschrieben. Das genügt um die Software schreiben zu können.
Links
Datenblatt LCD Display
Klicke, um auf HD44780.pdf zuzugreifen
Application Notes ATMEGA328P
http://www.atmel.com/devices/atmega328p.aspx?tab=documents
Datenblatt HC-SR04
Klicke, um auf HC-SR04_ultraschallmodul_beschreibung_3.pdf zuzugreifen
Application Notes HC-SR04
Klicke, um auf AN-1050%20Ultrasonic%20Rangefinder.pdf zuzugreifen