Was kann ich als Einsteiger mit diesem Material machen?

Hallo,

ich hab schon mehrere Anläufe in die µC Welt gemacht. Aber irgendwie hab ich ein gewisses Level nie überschritten.

Nun würde ich gerne noch einmal einen Versuch starten und die Arduino IDE dazu nutzen. Ich hab die Hoffnung, dass das Umfeld für mich als Einsteiger etwas besser ist.

Ich habe hier einen Windows 7 PC mit Arduino IDE und Fritzing. An Hardware ist kein Arduino Board vorhanden. Ich habe aber Breadboard, Bauteile (Wiederstände, LEDs, usw.), einen ATMEGA 16 und ein STK 500 Board von AVR.

Kann ich damit schon was machen? Oder brauche ich wirklich ein Arduino Board? Kann ich das STK 500 Board auch direkt aus der IDE heraus nutzen?

Gruß
Martin

Guten Abend!

Mein erstes Arduino Projekt war eine "Breathing" LED

http://thecustomgeek.com/2011/06/17/breathing-sleep-led/

Mit freundlichen grüßen vedel


Sorry, post zurück ich habe nicht genau gelesen.

Ich wuerde mir zumindest eine cpu besorgen, die offiziell unterstuetzt wird. Also ATmega168/328, sonst kannst du gleich mit AVRStudio4 anfangen/weitermachen.

OK, ein neuerer µC ist ja nicht das riesen Problem.

Mir ist aber nicht klar, ob ich aus der IDE heraus direkt das STK500 nutzen kann. Das was ich im Internet finde ist nicht eindeutig - oder ich kapiers nicht.

Andere Frage: Wo stelle ich eigentlich ein, für welchen µC ich ein Programm schreibe?

Controller: In der IDE unter Tools / Board. Grüße Uwe

madworm:
Ich wuerde mir zumindest eine cpu besorgen, die offiziell unterstuetzt wird. Also ATmega168/328, sonst kannst du gleich mit AVRStudio4 anfangen/weitermachen.

Ich suche gerade schon wie verrückt? Gibt es irgendwo eine offizielle Liste der unterstützten µController? Ich hab bisher nur in der Wikipedia den Hinweis auf die µController ATmega8, ATmega168, ATmega328, ATmega1280 und ATmega2560 gefunden. Sind das dann alle?

OK, und noch einmal blöd gefragt: Wenn ich dann einen µC beispielsweise wie hier beschrieben (http://www.arduino.cc/en/Main/Standalone) ohne original Arduino Board nutzen möchte, muss ich der IDE doch irgendwie mitteilen, welchen µC ich auf dem Breadboard habe. Wo mache ich das? Unter Tools/Board kann ich ja kein Breadboard mit dem von mir genutzten µC auswählen. Irgendwie raff ich das noch nicht ganz.

Martin

Wenn du harte fakten brauchst, dann schau mal in die 'boards.txt' datei. Die befindet sich im hardware/cores/arduino (oder so aehnlich) verzeichnis. Dort drinnen stehen 'board namen', cpu-typen, taktfrequenz, fuse settings usw. Das sollte dir weiterhelfen.

Hey Speerwerfer,

schön ein neues Mitglied begrüßen zu können. Von mir Herzlich Willkommen!

Ja, Du hast recht, Du mußt… und das wird Dir bei jeder Hardware/Software so gehen, Dich unumgänglich ertmal mit den Basics auseinandersetzen müssen.

Zu den Basics gehört daß man sich bewußt ist das Arduino aus der SoftwareBasis und der Hardwarebasis + 3rd Party Boards und Tools besteht.

Die IDE unterstützt zunächst mal die Microcontroller, für die es auch “offizielle Arduino” Hardware/Boards gibt.

Also zweite Information sei gesagt, daß man noch ein paar weitere Microcontroller nutzen kann, wenn man die Dateien der IDE entsprechend patched.
Da die Arduino IDE auf GCC aufsetzt, ist das ein ganzer Haufen an Microcontrollern die “möglich” wären, jedoch sin d nur wenige bisher vollständig “bearbeitet worden”… soll heißen,
es müssen zumbeispiel Hardwarefunktionalitäten auf bestimmte Pins gelagt werden um so zu funktionieren wie sie sollten. Das ist bei verschiedenen Baureihen unterschiedlich,
und wie gesagt man kann entsprechende Patches suchen, oder selbt hand anlegen… aber von Haus aus sind eben nur wenige Standardmäßig integriert.

Also wenn jemand sagt, Tools/Boards meint er eigentlich nicht die Boards sondern die Zielcontroller auf den Boards… schau mal nach, du wirst z.B. eine 328 entdecken,
was den Controller beschreibt der verwendet wird.

Um jetzt mal zum Punkt zu kommen, schlußendlich benötigst Du folgende Situation…
Einen Microcontroller, der in der Lage ist mit der IDE zu kommunizieren (am besten erstmal einen der direkt unterstützt wird, oder für den er fertige und fehlerfreie Patchfiles gibt).

Ein Microcontroller ist in der Lage mit der IDE zu kommunizieren 1. über den Arduino Bootloader oder/und 2. Irgendeinen Programmer dier die Protokolle der IDE verarbeiten und umsetzen kann.

Wenn Du also z.B. einen STK500 Programmer hast, dann kannst Du den nehmen. Dafür müßtest Du tatsächlich die boards.txt bearbeiten.

Wenn Du Dir aber sowieso einen neuen Microcontroller holen willst, dann würde ich mir einen Vorprogrammierten holen (also einen INKLUSIVE Arbduino Bootloader),
das ist 2 Euro teurer, aber die ersten Hürden mit falsch gesetzten Fuses etc. würdest Du erstmal galant umschiffen…

Ich glaube gesperrte Microcontroller sind der Frust und erstes Problem auf das man trifft…

Wenn Du jetzt krampfhaft dein eigenes Ding machen willst, dann scheu hier was in welcher Form unterstützt wird…
http://avr-developers.com/cputable.html

am besten ist es aber den offiziellen Bootloader und die offiziellen Microcontroller zu nutzen… Du willst ja etwas bauen und dich nicht ausschließlich mit in Gang bekommen auseinandersetzen.

Schlußendlich ist der Arduino eine art Minimalschaltung + Zeuch…
Also Microcontroller, Quarz, usw… ergänzt um ein bisschen Sicherheit, Komfort… und der Magicfaktor… (Bootloader, Libraries usw…)

Das ganz geht natürlich auch ohne Bootloader, mit entsprechendem Programmer…
da hast Du auf dem Microcontroller Platz gespart, und kannst ähnlich arbeiten…


Mein Rat… nutze Arduino für den Start so wie er gedacht ist…
ist ja Änfängerfreundlich geplant und ausgedacht…

Das soll heißen,

  1. hol Dir einen vorgeflashten Microcontroller (http://www.watterott.com/de/ATmega328-Arduino-Bootloader)
  2. das Drumherum… 16 Mhz. Quartz, 2x 22pf Kondensatoren und gegebenen falls was um die Spannung/Stromversorgung zu stabilisieren
  3. Irgendeinen Serial USB Converter… Stichwort ist hier wohl FTDI 232 oder was ähnliches…

Das was aus meiner sicht hier von Vorteil ist… du hättest gleich eine Serialkommunikationsbasis um zum Beispiel Daten und Eingaben / Fehler etc. hin und her zu schicken,
ich halte das für sehr wichtig… man will ja manchmal wissen was der Gute so denkt… wenns gerade mal nicht blinkt :slight_smile:

Wenn Dir nach basteln ist mach es so…
wenn Du einfach mal reinschnuppern willst… es gibt da auch ein paar sehr günstige Plagiate…
aber mal im ernst, wer die 20 Euro für einen echten nicht über hat wird mit basteleien wahrscheinlich so oder so nicht besonders weit kommen,
da basteln ein Hobby ist, und für dieses Hobby benötigt man nunmal Mittel.

Stell fragen… wir freuen uns…

Lieber Gruß
Chris

Hallo Chris,

danke für die nette Begrüßung und die ausführliche Beschreibung ...

Du hast natürlich völlig recht. Eigentlich sollte jeder normale Mensch mit einem "StarterKit" loslegen - schließlich ist die Idee hinter Arduino ja der einfache Einstig für Neulinge.

Da ich hier aber schon einiges an Material liegen hatte, die IDE und Bibliotheken des Arduino aber spannend finde, habe ich mir gedacht, dass ich einfach mein STK500 an den Rechner klemme und die Arduino IDE zum programmieren nutze.

es müssen zumbeispiel Hardwarefunktionalitäten auf bestimmte Pins gelagt werden um so zu funktionieren wie sie sollten. Das ist bei verschiedenen Baureihen unterschiedlich, ...

Ich kenne bisher nur die AVR Entwicklungsumgebung, und da sorge ich halt durch entsprechende includes dafür, das ich das richtig konfiguriere und nutzen kann. Ist das dann also beim Arduino in den Konfigurationsdateien für die "Boards" versteckt?

Gut, grundsätzlich scheint das ja zu gehen, wenn ich dich richtig verstanden habe. Ich werds aber wohl trotzdem erstmal lassen - man muss ja noch was für später haben :-)

Kommen wir zu den anderen Tips von dir :-)

Ich würde tatsächlich gerne auf einem Breadboard anfangen. D.h. ich brauche erstmal den Kram so, wie er hier beschrieben ist. Wenn ich mir einen µC mit Bootloader besorge, kann ich mir den ISP Kram schenken. Wenn nicht, brauch ich auch den "AVR programming adapter" so wie in der oben verlinkten Seite beschrieben, um den µC mit dem Bootloader zu versorgen. Danach gehts per USB in der Arduino IDE weiter, richtig?

Ein Microcontroller ist in der Lage mit der IDE zu kommunizieren 1. über den Arduino Bootloader oder/und 2. Irgendeinen Programmer dier die Protokolle der IDE verarbeiten und umsetzen kann. Wenn Du also z.B. einen STK500 Programmer hast, dann kannst Du den nehmen. Dafür müßtest Du tatsächlich die boards.txt bearbeiten.

OK, das lese ich jetzt so, das ich den Bootloader auch über mein STK500 in den µC bringen könnte. Da ich mir nicht vorstellen kann, das ich der erste bin, der ein STK500 mit Arduino IDE nutzen möchte, wirds dazu ja sicher irgendwo was geben. Oder muss ich die boards.txt dann für jede Kombination aus STK500 und µController erweitern? Könnte ich dann auch die eigentlichen Sketches aus Arduino so auf den µC bringen? Dann hätte mein STK500 wenigstens noch eine Daseinsberechtigung :-)

wenn Du einfach mal reinschnuppern willst... es gibt da auch ein paar sehr günstige Plagiate....

Wo kann ich da anfangen zu suchen? Gibts da ne Liste? Oder macht das keinen Sinn, weil der UNO für 20 Euro zu kriegen ist.

Mein Rat... nutze Arduino für den Start so wie er gedacht ist...

Werd ich tun :-)

Gruß Martin

So wie Du frägst hast Du noch nicht wirklich Ahnung. Nur mal etwas Hintergrund zu meinen verschlungenen Wegen. Zunächst habe ich mir ein STK500 geholt. Damit habe ich nie wirklich etwas gebacken gekriegt. Dann ein halbes Jahr später einen Arduino und plötzlich lief der Laden. Mittlerweile habe ich 1 Arduino, 3 Freeduinos, 1 Boarduino und jede Menge andere AVRs hier rumliegen. Weiterhin 2 AVR ISP MKII und einen billigen ISP aus der Bucht. Das STK 500 habe ich in der Bucht verkauft.

Regel 1 für Anfänger: zuerst muß die Toolchain funktionieren, vorher kann man keine Erfahrung sammeln. Regel 2 für Anfänger: immer nur an einer Schraube drehen und schauen ob danach noch alles klappt. Regel 3 für Anfänger: wenn nichts mehr klappt zurück zum letzten Punkt an dem alles geklappt hat

Erkenntnis: das STK500 hat keine Vorteile für Anfänger und für Profis ist es auch nicht wirklich zu brauchen. Für Anfänger ist es zu kompliziert und für Profis zu langsam. Außerdem kann es kein JTAG.

Der MKII ISP hingegen ist spitze. Viel schneller als das STK500 und funktioniert auch sehr gut. Die kompatiblen Klone sind billig aber bei weitem nicht so gut wie das MKII. Außerdem verletzen die billigen Klone Regel (1).

An Deiner Stelle würde ich mir einen billigen Arduino oder Freeduino holen. Das hat bei mir auch geholfen.

Wenn Du ohne Arduino loslegen willst ist die richtige Anlaufstelle hier: http://www.mikrocontroller.net/articles/AVR-Tutorial

Hallo Udo,

So wie Du frägst hast Du noch nicht wirklich Ahnung. Nur mal etwas Hintergrund zu meinen verschlungenen Wegen. Zunächst habe ich mir ein STK500 geholt. Damit habe ich nie wirklich etwas gebacken gekriegt.

Da haben wir ja eine ähnliche Karriere :-)

Wenn Du ohne Arduino loslegen willst ist die richtige Anlaufstelle hier: http://www.mikrocontroller.net/articles/AVR-Tutorial

Von da komme ich ... daher ja jetzt ein Arduino!

An Deiner Stelle würde ich mir einen billigen Arduino oder Freeduino holen

Werd ich dann wohl auch machen ...

Gruß Martin

hallo speerwerfer

Als Anfangsboard könntest Du den Arduino 2009 kaufen (zB bei http://www.watterott.com/de/Arduino-Duemilanove oder ansonsten http://arduino.cc/en/Main/Buy ) Der Arduino 2009 ist das vorletzte Model und wurde vom Arduino UNO ersetzt. Beide sind fast gleich der Unterschied ist das USB-Interface und der Bootloader aber beides haben im praktischen Betrieb keine nennenswerten Unterschiede. Man muß nichts anders machen zwischen den beiden. Falls Du kein Breadbord (+ Kabel) hast, ist eines sinnvoll. Den rest müßtest Du schon alles haben. Falls dann ein Bastelwunsch in eine bestimmte Richtung geht, brauchst Du dann entsprechende Sensoren oder Treiber. Die kannst Du nachkaufen.

Das Schöne (oder schlimme, je nach Ansicht) an Arduino ist, daß vieles dem Anwender abgenommen wird und unter der Oberfläche IDE versteckt wird. Das ist für einen Anfänger gut und für die Zielgruppe der Nicht-Elektronik-Genies wie Bastler Artisten und Designer genau richtig. Arduino kann man in 20 Minuten zun laufen bringen (in der Zeit ist das runterladen der IDE inbegriffen). Und hat somit gleich ein AHA Erlebnis und nicht im Frust für mehrere Tage versauern um zu verstehen wie ein Microcontroller funktioniert und wie er programmiet werden muß.

Ein 100% funktionierender Arduino ist von Vorteil wenn man Schaltungen mit dem Standalone Kontroller aufbauen will, weil man eine Testumgebung hat die zweifelsfrei von der Hardwareseite funktioniert. Wie Udo sagt, wenn man zuviele Möglichkeiten hat, wo der Fehler stecken könnte, ist es schwierig den Fehler zu finden und man schnell mal gefruset. Hardwarefehler ist für einen "Helfer" fast unmöglich zu diagostizieren da er Deinen Arduino ja nicht in der Hand hat und wenn Du einen Kabel am falschen Pin angeschlossen hast weil Du felsenfest der Meinung bist, daß das so richtig ist wirst Du nie fragen ob der richtig ist.

Viele Grüße Und viel Spaß Uwe

@ all: Habe gerade einen UNO & ein LCD Shield bestellt :-)

Gute Entscheidung. Dann bis zur ersten Frage. Grüße Uwe

Ihr habt es nicht anders gewollt :-) Nun liegt der UNO vor mir ... süß der Kleine.

Mal sehen, was ich heute Abend so rumspielen kann ...

Wir haben die Finger schon in Lauerstellung am Keyboard ;) Viel Spaß :)

Ich bin gerade erst vom laufen zurück ... aber es ist schon cool, wenn man das Teil einfach nur asteckt, das LCD shield drauf, Testcode kopiert und zack ... grinst einen Text vom LCD an :-)

Ich fürchte, ich werd viel Spaß mit dem Teil haben :-)