(Erweiterung) |
(Erweiterung) |
||
Zeile 1: | Zeile 1: | ||
Dieses mehrwöchige/mehrmonatige Tutorial soll einem den Einstieg in die Welt der Mikrocontroller mit Hilfe des Arduino 2560 R3 Boards erleichtern. Angefangen wird natürlich bei den Grundlagen, also bei der Hochsprache "C". Das Tutorial ist chronologisch aufgebaut und kann ohne jegliche Vorkenntnisse abgearbeitet und (hoffentlich) verstanden werden | Dieses mehrwöchige/mehrmonatige Tutorial soll einem den Einstieg in die Welt der Mikrocontroller mit Hilfe des Arduino 2560 R3 Boards erleichtern. Angefangen wird natürlich bei den Grundlagen, also bei der Hochsprache "C". Das Tutorial ist chronologisch aufgebaut und kann ohne jegliche Vorkenntnisse abgearbeitet und (hoffentlich) verstanden werden | ||
{{FarbigerRahmen| | {{FarbigerRahmen| | ||
− | '''In Bearbeitung''' - Tutorial wird | + | '''In Bearbeitung''' - Tutorial wird dann regelmäßig geschrieben wenn die Basis da ist (in ca. 1 Woche *11.09.2012*) |
}} | }} | ||
Zeile 50: | Zeile 50: | ||
<pre> | <pre> | ||
− | #include < | + | #include <eine_datei.h> //Include Datei |
+ | #include "eine_andere_datei.h> | ||
− | void main() | + | void main() //Hier fängt das Hauptprogramm an |
{ | { | ||
//Funktionsaufruf | //Funktionsaufruf | ||
Zeile 65: | Zeile 66: | ||
Dateien, die im Standart Include Verzeichniss sind werden in spitze Klammern geschrieben (<...>), Dateien welche im Projektverzeichniss sind werden in doppelte Hochkomma geschrieben ("..."), diese Dateien werden von uns selbst geschrieben, z.B. um große Unterprogramme auslagern zu können | Dateien, die im Standart Include Verzeichniss sind werden in spitze Klammern geschrieben (<...>), Dateien welche im Projektverzeichniss sind werden in doppelte Hochkomma geschrieben ("..."), diese Dateien werden von uns selbst geschrieben, z.B. um große Unterprogramme auslagern zu können | ||
− | Häufig genutzte Dateien sind (im Windows-Bereich): | + | Häufig genutzte Dateien sind (im Windows-Bereich):<br/> |
− | conio.h | + | *conio.h<br/> |
− | stdio.h | + | *stdio.h<br/> |
− | stdlib.h | + | *stdlib.h<br/> |
+ | |||
+ | ==== Hauptprogramm ==== | ||
+ | Das Hauptprogramm wird bei jedem Programmaufruf aufgerufen und abgearbeitet, ist das Hauptprogramm zu Ende, beendet sich das ganze Programm (Konsolenanwendung) | ||
+ | Das Hauptprogramm selbst besteht ebenso aus mehreren Teilen: | ||
+ | # Der Funktionskopf: | ||
+ | <pre> | ||
+ | void main () | ||
+ | </pre> | ||
+ | Hier steht der Name, bei einem Hauptprogramm immer ''main'' | ||
+ | |||
+ | # Der Funktionsaufruf: | ||
+ | <pre> | ||
+ | { | ||
+ | //Funktionsaufruf | ||
+ | } | ||
+ | </pre> | ||
+ | Zwischen den geschwungenen Klammern wird das Programm abgearbeitet, also Berechnungen usw. ausgeführt | ||
+ | |||
+ | === Ausgabe am Bildschirm === | ||
+ | Die Standartausgabe am Bildschirm erfolgt über die Funktion ''printf'' | ||
+ | |||
+ | Syntax: | ||
+ | <pre> | ||
+ | printf("Ausgabetext unter doppeltem Hochkomma", Variablen); | ||
+ | </pre> | ||
== µC - Programmierung == | == µC - Programmierung == |
Version vom 11. September 2012, 20:25 Uhr
Dieses mehrwöchige/mehrmonatige Tutorial soll einem den Einstieg in die Welt der Mikrocontroller mit Hilfe des Arduino 2560 R3 Boards erleichtern. Angefangen wird natürlich bei den Grundlagen, also bei der Hochsprache "C". Das Tutorial ist chronologisch aufgebaut und kann ohne jegliche Vorkenntnisse abgearbeitet und (hoffentlich) verstanden werden
In Bearbeitung - Tutorial wird dann regelmäßig geschrieben wenn die Basis da ist (in ca. 1 Woche *11.09.2012*)
Inhaltsverzeichnis
Aller Anfang...
..ist gar nicht mal so schwer. Dieses Tutorial soll all jenen helfen, die gerade neu einsteigen und mit wenig Hardware viel erreichen wollen. Es wird keine vorherigen Kenntnisse benötigt, ein wenig Zeit und technisches Interesse sollte jedoch mitgebracht werden
Aus eigener Erfahrung: Keine Angst vor neuem! Das was wir hier machen ist (mehr oder weniger) ungefährlich und es kann nichts kaputt werden. Es sollte aber alles Punkt für Punkt beachtet und lieber zweimal gelesen werden, bevor man etwas falsch macht.
Grundlegendes
Ziele
- Verstehen und Anwenden von Mikrocontrollern
- Verstehen und Anwenden der Hochsprache "C", genauer "AVR-GCC"
- Anwenden von Arduino-Bibliotheken (eher weniger)
- Ansteuern von Peripheriegeräten im Zusammenhang mit µC:
- LED
- Relais
- usw.
- Auslesen von Sensoren mit µC:
- Temperatursensoren (PT1000, KTY81, etc)
- Lichtschranken (z.B. zu Drehzahlmessung)
- usw.
Was gebraucht wird
Für das Tutorial wird das Arduino 2560 R3 Board verwendet, dazu wird noch eine externe Spannungsversorgung wenn man viel Peripherie angschlossen hat und ein USB Kabel benötigt. Als integrierte Entwicklungsumgebung (IDE) verwenden wir die Freeware "Atmel Studio 6.0" und "WinAVR" zum übertragen auf den Controller. Für das C-Tutorial werden wir aber das "Microsoft Visual C++ Express" verwenden , das ebenso kostenlos ist.
Zusammenfassung:
- Arduino 2560 R3 Mikrocontrollerboard
- USB A auf B Kabel ("Normaler" USB Anschluss auf den abgeschrägten Quadratischen)
- PC/Notebook mit USB-Anschluss zum Programmieren
- IDE: Atmel Studio 6.0
- Übertragungsprogramm: WinAVR
- C - IDE: Microsoft Visual C++ Express
Wir starten mit C
Für alle Neulinge die komplett neu in die Materie einsteigen gibts es am Anfang ein kleines C - Tutorial. Dies will ich aber nicht zu tief greifend machen, denn viele Funktionen wie Strings werden nur in Verbindung mit einem LCD bzw. einer Seriellen Schnittstelle gebraucht, solche Funktionen werde ich dann erklären, wenn sie gebraucht werden
Hello World und der Grundaufbau
Ein C Programm besteht grundsätzlich aus 2 Hauptteilen:
- Hauptprogramm
- Include-Datein
#include <eine_datei.h> //Include Datei #include "eine_andere_datei.h> void main() //Hier fängt das Hauptprogramm an { //Funktionsaufruf }
Gleich vorweg: "//" ist ein Kommentar -> Keine Auswirkung auf den Programmablauf - mehr dazu später
Include Dateien
Die Inlcude Datein sind jene Datein, in denen Funktionen genauer definiert sind. Also wie die Funktion aufgerufen werden muss
Dateien, die im Standart Include Verzeichniss sind werden in spitze Klammern geschrieben (<...>), Dateien welche im Projektverzeichniss sind werden in doppelte Hochkomma geschrieben ("..."), diese Dateien werden von uns selbst geschrieben, z.B. um große Unterprogramme auslagern zu können
Häufig genutzte Dateien sind (im Windows-Bereich):
- conio.h
- stdio.h
- stdlib.h
Hauptprogramm
Das Hauptprogramm wird bei jedem Programmaufruf aufgerufen und abgearbeitet, ist das Hauptprogramm zu Ende, beendet sich das ganze Programm (Konsolenanwendung) Das Hauptprogramm selbst besteht ebenso aus mehreren Teilen:
- Der Funktionskopf:
void main ()
Hier steht der Name, bei einem Hauptprogramm immer main
- Der Funktionsaufruf:
{ //Funktionsaufruf }
Zwischen den geschwungenen Klammern wird das Programm abgearbeitet, also Berechnungen usw. ausgeführt
Ausgabe am Bildschirm
Die Standartausgabe am Bildschirm erfolgt über die Funktion printf
Syntax:
printf("Ausgabetext unter doppeltem Hochkomma", Variablen);
µC - Programmierung
Über das Board
\\In Arbeit
Begriffserklärungen
C
- CPU = CentralProcessingUnit, Hauptprozessor
I
- IDE = IntegratedDevelopmentEnvironment, integrierte Entwicklungsumgebung, bestehend aus: Texteditor, Präprozessor, Compiler, Linker, Debugger
M
- Mikrocontroller = IC (Krabbelkäfer) der aus einer CPU, RAM, Flash-Speicher, Timer usw. zusammensetzt ist
R
- RAM = Random-Access Memory, Speicher auf den laufend direkt zugegriffen werden kann, Arbeitsspeicher
Sonderzeichen
- µC = Mikrocontroller
Über das Tutorial
Dauer
Eine Ende ist vorerst nicht in Sicht, es wird mehr oder weniger gleich wie in der Schule vorgegangen. Ich schätze aber, dass wir Ende des Schuljahres (Juli 2013) von den Grundzügen, über Timer/Interrupts bis hin zur seriellen Schnittstelle kommen sollten.
Projekte
Geplant ist ein schrittweiser Aufbau mit einem Mix aus Lernstoff und praktischen Beispielen/Projekten, wobei bei diesen Projekten meistens nur "Standarthardware" (LEDs, Transistoren, Relais, Schalter usw) verwendet wird. Es kann aber auch mal vorkommen, dass mehr Teile benötigt werden, dass wird dann (wenn möglich) aber eher als Zusatzbeispiel gemacht. Sollte es sich nicht vermeiden lassen externe Hardware anzuschaffen werd ich versuchen, dies so früh wie möglich anzukündigen.
Autor
- Thomas PAIL, 1996, Schüler HTLuVA Pinkafeld - Elektronik und technische Informatik
- Für Infos und Kontakt:
robo_tom_24 RoboterNetz - Profil
Diskussionen über das Tutorial
Es wird noch ein Diskussions/Fragen/Antworten Thread im Roboternetz erstellt, Link folgt...
Schriften
- Platzhalter