Hallo,
ich suche seit einer Woche Informationen zusammen, weil ich endlich mal
etwas über uCs lernen will und erste Versuche starten.
Leider komme ich nicht weiter, habe allerhand PLatinen gesehen oder
STarterpakete mit Buch (fänd ich auch nicht schlecht, aber die meisten
Titel (oder die Hardware dabei) kamen mir nicht richtig passend vor).
* Habe grundlegende Vorkenntnisse in analoger Elektronik, digital hab
ich aber bisher noch nix gemacht.
* An Programmiersprache würde mir wohl am ehesten C liegen, da ich
früher mal mit Fortan vertraut war und mich ein wenig in C eingearbeitet
hatte.
* ALs Anwendungen fänd ich mal ein genaues Messgerät spannend, z.B.
Temperatur oder Luftfeuchte, wenn mir mal ein entsprechender genauer
Sensor in die Hände fällt. Oder eine Dimming-Regelung von LEDs, die
gleichzeitig von dunkel auf hell wie von warm nach kälter regelt (ANteil
der warmen LEDs bei geringer Helligkeit größer und die kühleren LEds
dann zunehmenD dazuregeln). Und für viele ANwendungen braucht man ja
eine Ansteuerung von Anzeigen, das würde mich also auch interessieren.
Grundsätzlich nett fand ich so eine Platine vor wie zum Beispiel Arduino
Nano, die man auf ein Steckbrett aufstecken kann, um sie dann zu
beschalten.
Wenn ich es richtig verstanden habe, kann man die dann zum Programmieren
per USB mit dem Rechner verbinden...?
Spricht etwas dagegen, mir so was für erste Versuche zuzulegen?
Ich hab auch etwas Schwierigkeiten, mir den Rest der Grundausstattung
vorzustellen. Da ist von Tastern die Rede, LEDs, aber was für ein
Display wäre z.B. zu empfehlen?
Oder kennt jemand ein empfehlenswertes Paket, das einem Anfänger gut in
die Materie einführen kann und auch anschließend nicht nutzlos
herumliegt (weil die Ansprüche gewachsen sind?)
Würde mich sehr über Input freuen.
Ich lese viel zu viel am COmputer, ich würde einfach gerne was bestellen
und in einem richtigen Buch lesen und rumbasteln.
Viele Grüße,
Dominique
Dominique schrieb:> Temperatur oder Luftfeuchte, wenn mir mal ein entsprechender genauer> Sensor in die Hände fällt.
Nimm einfach den SHT15. Beispielcode gibts hier im Forum oder auch in
der Application Note des Herstellers (Sensirion).
Gruß Anja
Hallo,
Seit nun einer etwas längeren Zeit programmiere ich hobby-mäßig µCs.
Angefangen habe ich mit Arduino. Das würde ich dir aber auf keinen Fall
empfehlen, da du von der wirklichen Hardware, die hinter dem Namen
"Arduino" steckt so gut wie nichts mitkriegst. Das bedeuted unter
anderem du musst/darfst nichts selber programmieren, alles ist schon in
fertigem Libs integriert. Wie ein richtiger Atmega wirklich funtkioniert
erfährst du nicht.
Fang lieber gleich mit einem richtigen µC an (am besten etwas größer
(ATmega 16/32/644)). Bei der Programmiersprache kann ich dir C
empfehlen, da kurze Einarbeitungszeit und große Community. Ausserdem
gibt es für C ein sehr gutes Youtube Tutorial von Patrick Hood-Daniel
(https://www.youtube.com/playlist?list=PLE72E4CFE73BD1DE1).
An Hardware kann ich dir von ehajo das aTeVaL und den µISP Stick
empfehlen. Sind zwar beides Bausätze, aber dafür billig und
funktionstüchitg ;) (http://www.ehajo.de/index.php). Vielleicht ist auch
noch das Starterkit bedrahtet was für dich
(http://www.ehajo.de/Starterkits/Starterkit-bedrahtet?source=2&refertype=1&referid=13).
Da wären die wichtigsten Bauteile dabei. Und nein ich mache keine
Werbung für ehajo.de.
Viel Spass schonmal.
MfG Bene
Danke Euch allen für den Input!
Die Suche hatte ich ja bemüht, aber letztendlich war ich einer
Entscheidung nicht sonderlich näher gekommen. Wenn man von Tuten und
Blasen keine Ahnung hat, muss man sich erst mal langsam vortasten.
Die von Euch vorgeschlagenen Optionen gefallen mir schon ganz gut, muss
mir noch was aussuchen.
@Benedikt: Ich dachte aber, dass man die Arduino Boards auch ohne
Arduino benutzen kann?
Hat noch jemand ein Buchtipp für einen einfachen Einstieg, mit netten
Beispielen vielleicht? Die in den Buchempfehlungen hier vorgestellten
klingen, als ob sie etwas trocken wären.
Na, dann lese ich hier im Tutorial mal weiter und schaue mal, ob ich bei
AVR vielleicht ein Anfängertaugliches Dokument als PDF finde.
Erstmal viele Grüße und bis bald,
Dominique
> Ich dachte aber, dass man die Arduino Boards auch ohne> Arduino benutzen kann?
Kann man auch. Man kann auch die Arduino IDE nutzen ohne die Libraries
zu verwenden.
Also IDE starten und folgendes eingeben/reinkopieren:
1
#include<avr/io.h>
2
#include<util/delay.h>
3
4
intmain()
5
{
6
DDRB=(1<<5);
7
for(;;){
8
PORTB|=(1<<5);
9
_delay_ms(250);
10
PORTB&=~(1<<5);
11
_delay_ms(250);
12
}
13
return0;
14
}
Auf "Upload" klicken und schon blinkt die LED.
Ohne die IDE kann man mit dem Tool "avrdude" seine hex-files hochladen.
Damit lassen sich die Boards auch mit AVR Studio oder sonstwas nutzen.
Ansonsten ist auch eine 6-pol. ISP Buchse für Programmiergeräte drauf.
Dieser Arduino Hass basiert nur auf Unwissen und Nachplappern.
wenn man von tuten und blasen keine ahnung hat, dann fang ruhig mit dem
arduino an.
und falls nicht damit, dann nimm eines der anderen fertig aufgebauten
boards. da kann man davon ausgehen das die funktionieren.
wenn man sich nicht auskennt, und dannhardwarefehler suchen will
schmeisst man das zeug sonst direkt in die ecke
A. B. schrieb:> wenn man sich nicht auskennt, und dannhardwarefehler suchen will> schmeisst man das zeug sonst direkt in die ecke
.....oder hat genug Ehrgeiz und Interesse, findet dadurch den Fehler und
lernt nebenbei eine ganze Menge in kurzer zeit.....
Ich denke, es kommt darauf an, wie du gerne programmieren willst. Ein
Arduino ist ein brauchbares board mit relativ schlechter IDE und
ziemlich viel bereits existierendem Code für verschiedene Aufgaben (die
Qualität der libraries ist leider oft sehr schlecht). Eignet sich meines
Erachtens nach gut zum Experimentieren, man bekommt ziemlich schnell
funktionierende Projekte. Wenn du einen Microcontroller also nur als
Werkzeug benutzen willst, um Sensoren auszulesen, dann sehe ich
eigentlich keinen Grund, der dagegen spricht, einen Arduino zu benutzen.
Der Code wird schrecklich aufgeblasen und langsam sein, das ist in
diesem Anwendungsfall aber erträglich und spart jede Menge
Entwicklungszeit.
Falls du natürlich daran interessiert bist, Microcontroller zu
programmieren, um dann zu wissen, wie man Microcontroller programmiert,
d.h. das ganze viel hardwarenäher und direkter angehen willst, dann
finde ich den Arduino nicht so gut. Es ist ein ganz normaler Atmega328P,
man kann den also auch "richtig" programmieren, aber ich würde dir in
diesem Fall zum Einstieg zu einem MSP430 Launchpad raten. Der Grund
dafür ist einfach: Die Hardware ist sehr gut und sehr günstig; die
Software ist sehr gut (und sehr teuer, es gibt aber kostenlose
Versionen). Der MSP430 selbst hat gut durchdachte und toll
konfigurierbare Hardware, die gut dokumentiert ist. Der Codestil von TI
gefällt mir viel besser als der von Atmel und ist auch weniger obskur,
meines Erachtens nach besser für Programmierer geeignet, die nicht nur
exklusiv Microcontroller programmieren. Code Composer Studio ist eine
brauchbare Entwicklungsumgebung (gcc gibt's aber auch) und vor allem
hast du Zugriff auf einen ordentlichen Debugger, was bei den
kostengünstigen Atmel-Lösungen nicht der Fall ist und beim Einstieg doch
sehr helfen kann. Das Launchpad kommt mit zwei Microcontrollern, so kann
man auch ein wenig experimentieren.
Dominique schrieb:> @Benedikt: Ich dachte aber, dass man die Arduino Boards auch ohne> Arduino benutzen kann?
Das geht natürlich auch. Du musst dann eben nur, wenn du per Bootloader
programmieren willst, den richtigen C Code in der Arduino IDE schreiben
oder ihn dort hinein programmieren. Mit einem externen Programmer kannst
du den Arduino, aber auch z. B. mit avrdude flashen.
Arduino Nano + Steckbrett + Div. Bauteile erscheint mir für dich eine
sinnvolle Kombination zu sein.
Wenn du magst den µC auch einfach so nackt kaufen und den Rest auch ncoh
selbst machen, ist nicht mehr viel :)
Gruss
Dominique,
nimm lieber eine kleines ARM-Cortex Board zu starten!
Du bist ja in der glückliche Lage nicht den ganzen 4,8,16-Bit Legacy
Mist dir antun zu müssen!
Benedikt K. schrieb:> Da wären die wichtigsten Bauteile dabei. Und nein ich mache keine> Werbung für ehajo.de.
Ich sag trotzdem Danke ;-)
Als Einsteigerset für µCs würde ich noch mein aTeVaL-Board empfehlen,
ist niegelnagelneu und läuft wirklich super:
http://www.ehajo.de/Bausaetze/aTeVaL
Der Bausatz ist auch ein wenig entschärft, man muss nur noch die
bedrahteten Bauteile bestücken.
Democode dazu hab ich hier:
http://dokuwiki.ehajo.de/artikel:ateval#c-codebeispiele
lg,
Hannes
Dominique schrieb:> Grundsätzlich nett fand ich so eine Platine vor wie zum Beispiel Arduino> Nano, die man auf ein Steckbrett aufstecken kann, um sie dann zu> beschalten.
Wenn du wirklich Steckbrettfan bist (wie ich auch :-) ), dann gibt es
kaum einen bequemeren Einstieg als den hier:
https://guloshop.de/shop/Mikrocontroller-Programmierung/gulostart-Mikrocontroller-Einsteigerset::45.html
Da lernst du mehr als mit einer fertigen Platine...... find ich
persönlich. Will aber jetzt keine grundsatzdiskussion zwischen
breadboard und PCB lostreten :-)
Ui! Vielen Dank Euch allen!
Nachdem ich nun Eure Links (und noch zahlreiche von dort weiterführende)
verfolgt habe, bin ich der Sache etwas näher gekommen.
Eine Erkenntnnis ist:
Ich kann beim besten Willen Nichts aussuchen, das mich auf Ewig
glücklich macht. Ich will ja auch gerne bald anfangen, und muss dann
eben in Kauf nehmen, dass ich irgendwann umsteige.
Für Atmel spricht (von meiner wenig informierten Warte aus) die große
Verbreitung und große Community. Und da gibt es auch sehr einfache Chips
mit wenig Pins.
Am besten gefällt mir für Atmel das board von ehajo, oder die eingangs
erwähnte arduino nano, wegen der Pins, die man gleich aufs Steckbrett
stecken kann.
DIe MSP430 mit der günstigen Entwicklerplattform gefallen mir auch gut.
"someone" schreibt ja oben, dass die IDE und Dokumentation gut sind und
das glaube ich, denn ich fand oft viele gut lesbare Dokumente bei TI.
Vielleicht bestelle ich mir auch zwei oder drei Optionen und sehe dann,
ob mir eine davon besonders liegt. :-)
Melde mich bald wieder.
Viele Grüße,
Dominique
Dominique schrieb:> Eine Erkenntnnis ist:> Ich kann beim besten Willen Nichts aussuchen, das mich auf Ewig> glücklich macht. Ich will ja auch gerne bald anfangen, und muss dann> eben in Kauf nehmen, dass ich irgendwann umsteige.
So ist es auch. Womit du anfängst ist garnicht so wichtig, hauptsache du
fängst an :)
Dominique schrieb:> Vielleicht bestelle ich mir auch zwei oder drei Optionen und sehe dann,> ob mir eine davon besonders liegt. :-)
Kann man auch machen. Und du wirst sehen, soooo unterscheidlich sind die
einzelnen Controller auch nicht. Viele Sachen lassen sich übertragen.
Dominique schrieb:> Für Atmel spricht (von meiner wenig informierten Warte aus) die große> Verbreitung und große Community.
Und genau das ist der springende Punkt. Du wirst Hilfe benötigen,
manchmal auch nur weil du den Wald vor lauter Bäumen nicht mehr siehst.
Arduino hat seinen schlechten Ruf m.E. zu Unrecht, ev. ist es auch nur
der "grottigen" IDE geschuldet. Ich hatte mir zum Einstieg auch einen
bestellt. Wenn man zu Beginn nicht jedes Registerbit beim Vornamen
kennen muss tut man sich viel leichter das große Ganze zu verstehen. Die
Feinheiten kommen später automatisch dazu, wenn die Komplexität der
Projekte steigt...