Hallo zusammen
Ich bin völliger Neuling im Bereicht der Mikrocontroller. Gerne würde
ich beginnen, das nötige Wissen mit einfachen Schaltungen/Programmen
aufzubauen. Welche Plattform soll ich zuerst in Angriff nehmen? Arduino
oder Raspberry Pi? Oder gibt es Alternativen?
Vielen Dank für eure Antworten
Erst mal überlegen, was du machen willst.
Deine Frage hat in etwa die Dimension: Ferrari oder Bulli?
Beides bringt dich von A nach B, hat vier Räder, 'nen Motor ... aber
ganz unterschiedliche Einsatzzwecke.
Wenn du µC programmieren willst, fliegt der Pi raus. Der ist eher ein
Mini-Linux-Rechner, der Dank GPIOs auch mit Sensoren / ... kommunizieren
kann - den programmierst du jedoch nicht wie einen µC, sondern frickelst
in der Regel Python-Skripte.
Hallo Basti,
da stimm ich Dirk voll und ganz zu.
So wie es sich anhört willst du dich mit µC befassen. Ich persönlich
kann dir Arduino empfehlen. Damit habe ich auch angefangen und arbeite
schon einige Jahre damit.
Gruß Alex
Beim Arduino arbeitest du quasi auf Hardware- bzw. Prozessor-Ebene, wenn
auch durch die IDE und die vielen Libs leidlich abstrahiert. Du kannst
aber jederzeit sogar Assembler-Code in deinem Programm einbauen bzw.
wahrlich an jedem einzelnen Bit "drehen".
Beim Pi hast du es mit einem richtigen Betriebssystem zu tun, dass dir
zwar einerseits vieles abnimmt (z.B. Dateizugriffe, die man beim Arduino
quasi auf Bitebene "zu Fuß" programmieren muss), andererseits auch
Stress bereitet, z.B. durch Rechte- und Geschwindigkeitsprobleme beim
Zugriff auf die Hardware durch das System "hindurch".
Musst du abschätzen, was für dich wichiger ist ...
Beim Arduino bist du nicht an die Arduino-IDE gebunden. Da ist ein AVR
drauf, ATmega328 oder ATmega2560 bei den meisten. Da geht auch
Assembler, C, BASCOM und was es sonst noch alles gibt.
Smile, immer wieder die Diskussion ... Arduino, RaspBerry Pi ... nackter
Controller.
Ich war anfangs immer gegen die Arduino (weil die "Java-Oberfläche" von
Arduino wirklich nicht meines ist).
Aaaaaaber: Mittlerweile gibt es derart preiswerte Arduino-Boards
(vorzugsweise aus China) die ein billiges Einsteigen ermöglicht.
Prinzipiell habe ich sogar meine eigene Arduino-Platine für die
Ausbildung geroutet, das Lehrlinge selbst zusammenlöten.
Programmiert wird dieses allerdings definitiv OHNE die
Arduino-Oberfläche sondern schön zu Fuß in C (und das ganze sogar schön
zu Fuß OHNE Atmel Studio, sondern mit schlichtem Texteditor und aufrufen
des Compilers und Linkers auf Konsolenebene.
Der "Vorteil" des Arduinoboards besteht dann schlicht darin, dass es
keinen ISP-Programmer benötigt sondern die Programme mittels Bootloader
übertragen werden können.
Jörg Wünsch sei für das geniale Avrdude gedankt, dass auch ein
avrdude -c arduino -p m328p -P com4 -b 115200 -U flash:w:meinprog.hex
funktioniert und somit ein Arduinoboard als "normales" Entwicklungsboard
für AVR-Controller verwendet werden kann.
Besorg dir ein billiges Arduino - Uno Board (allerdings bitte MIT
USB-Anschluss - in China gibts genügend ohne - ) und beginne damit
"rumzuspielen"
Gruß,
Ralph
Arduino ist gut, Raspberry Pi ist gut und es gibt Alternativen.
Anstatt hier den tausendsten Endlos-Thread zu starten, wo die Leute die
Vorteile ihrer bevorzugten Plattform breit treten,
sei bitte so freundlich und erzähle uns, was du damit konkret machen
willst. Dann können wir Dir eine sinnvolle Empfehlung aussprechen.
"einfache Schaltungen aufbauen" ist keine konkrete Anwendung. Konkret
wäre zum Beispiel:
- Ich möchte eine LED blinken lassen.
- Ich möchte meine Kaffeemaschine mit dem Handy übers Internet
fernsteuern.
- Ich möchte einen Summer bauen, der ein ganz spezielle Geräusch abgibt.
- Ich möchte die Türklinke meines Kinderzimmers unter Strom setzen.
Nenne derart konkrete Anwendungen, dann kommen wir sinnvoll weiter.
Basti schrieb:> das nötige Wissen mit einfachen Schaltungen/Programmen> aufzubauen.
Dann ist Arduino nicht schlecht, wenn du dich zu Beginn nicht .
"Mehr als nötig2 mit den "Hintergründen2 befassen willst.
Ich schlage vollgende Reienfolge vor:
Arduino--> "bare Metal C Controller" --> Pi (oder anderes embedded
Linux)
Warum:
Arduino für den Einstieg in Hardwarenahe Projekte
"Standard C" -> für erweiteres Lernen
PI: Drauf aufbauend zur Einarbeitung in embedded Linux und die
Verknüpfung mit dem erlernten.
Vielleicht stellst du fest, das es für deine Projekte nicht zwingend :
A ODER B heißen muss, sondern A UND B heißen kann.
Allerdings schätze ich, dass man beim Raspberry Pi nicht viel neues
lernen kann.
Es ist doch nur ein abgespeckter Linux Computer. Da kann ich zum Lernen
gleich ein normales Linux auf meinen Laptop installieren, oder als
Virtuelle Maschine laufen lassen.
Stefan U. schrieb:> Allerdings schätze ich, dass man beim Raspberry Pi nicht viel neues> lernen kann.
? Linux sowieso, PI Besonderheit im speziellen und GPIO
Nicht alle Pakete für Linux findet man für den PI passend, sowiso nicht
alle Kernel, die echten Profis mögen ja noch selber kompilieren so sie
Zugang zu Crosscompiler haben.
Lothar schrieb:> Der ARM11 im Pi kann genau wie jeder ARM µC direkt in ASM oder C> programmiert werden - ohne dass ein Betriebssystem läuft.
Wie sinnvoll das ist kommt auf den Einzelfall an. Der PI hat, so weit
ich weiß, im Vergleich zum Arduino keinen ADC, verbraucht mehr Strom
usw.. Es bleibt die Frage, was der TO machen möchte.
Lothar schrieb:> Dirk K. schrieb:>> Wenn du µC programmieren willst, fliegt der Pi raus>> den programmierst du jedoch nicht wie einen µC, sondern frickelst>> in der Regel Python-Skripte.>> Der ARM11 im Pi kann genau wie jeder ARM µC direkt in ASM oder C> programmiert werden - ohne dass ein Betriebssystem läuft.
Kann man.
Macht nur meiner Beobachtung nach kaum jemand.
Die meisten pfriemlen (nicht negativ gemeint) ihre Sachen mit anderen
Sprachen als ASM oder C zusammen. Und da das Ratz fatz geht und der Pi
schnell genug ist, spielt das auch keine grosse Rolle ob du oder ich das
technisch elegant finden. Fakt ist: zb. ein Web Radio kann ich nicht in
30 Minuten aus der Taufe heben. Mit einem Pi und etwas HTML/PHP/Phython
Gefrickel kann aber jeder in ein paar Minuten die ersten Sender spielen
lassen.
Karl schrieb:> Der PI hat, so weit ich weiß, im Vergleich zum Arduino keinen ADC
Stimmt, aber I2C und SPI ist (mehrfach) vorhanden, und meist braucht man
im Projekt ohnehin einen besseren ext. ADC (höhere Auflösung, schneller,
direkt für PT100)
PI
Lothar schrieb:> Stimmt, aber I2C und SPI ist (mehrfach) vorhanden,
fehlt da nicht real time?
mit einem Atmel weiss ich wann der zugreift und welches jitter mich
evtl. erwartet.
Der PI ist an den GPIO ein Sensibelchen, sind schon genug gestorben weil
GPIO irgendwie mit Port am AVR gleichgesetzt wird.