Hallo zusammen,
wie vielleicht viele der "etwas" jüngeren Generation von
Elektornikbastlern hab ich vor einiger Zeit mit dem Arduino gestartet.
Vorher hatte ich mit Digitaler Elektronik so gut wie gar nichts zu tun.
Da ich aber auch gern abseits vom Arduinolager ein paar Erfahrungen
sammeln würde, stellt sich die Frage wie und womit es weiter gehen
soll...
Ich hab da grad ein wenig den Überblick verloren.
FPGA´s sind mir glaub ich noch ein paar Nummern zu groß und als
Hobbybastler für mich etwas Overkill.
Wäre eventuell ein Einstieg in ARM Prozessoren hilfreich? Mit Pic
Prozessoren habe ich auch noch keine Erfahrungen...
Bitte um hilfreiche Vorschläge.
Besten Dank.
Hast du den Arduino auch mit den Arduino-C++-Libs benutzt? Oder den in
"normalem" C/C++ programmiert?
Falls ersteres zutrifft: such dir geeignete Tutorials und programmier
den Arduino einfach in normalem C/C++ (oder Bau diskret was auf nem
Steckbrett auf).
Du kannst dir natürlich auch ein STM32 Discovery Board kaufen und damit
weiter machen. Aber ich denke nicht, dass du den Arduino auch nur
annähernd ausgereizt hast.
Oder arbeite mal das Assembler-Tutorial auf der Seite hier durch: macht
einfach Spaß und hilft enorm fürs Verständnis über Mikrocontroller und
was auf unterster Ebene passiert, auch wenn man seine späteren Projekte
nicht unbedingt in Assembler schreibt.
Ich find die Discovery-Boards von ST auch super.
Vorallem sind sämtliche Leistungsklassen abgedeckt.
Ich habe vom STM8 bis zum 32F407 mehrere Varianten.
Für vieles reicht der STM8 gut aus und ist überschaubar...
Danke für eure Tips.
Programmiert hab ich den Arduino großteils mit den Libraries, einfachere
Dinge wie z.b. WS2812LED´s hab ich auch probeweise mal direkt via
AtmelStudio ausprobiert. Ein ICSP Programmer liegt hier auch noch
irgendwo rum.
Shields hab ich fast keine, die sind bei den Steckboards eher
unpraktisch. Ich bau mir die Sachen lieber so zusammen. Das wäre also
kein Kriterium.
Ich denke ich werde erstmal beim AtmelStudio und "reinem" C bleiben. Der
Rest ergibt sich dann vermutlich von Alleine.
Besten Dank.
Kein besonderer Grund, gesunde Neugierde und Bastlertrieb würd ich mal
sagen.
Mal ein wenig den Horizont erweitern..
Oft werden einem die Nachteile vom aktuellen System erst bewusst, wenn
man ein anderes sieht.
Hallo,
ich habe in meiner Jugend noch Digitaltechnik "zu Fuß" als TTL-Gräber
aufgebaut und bin vor 2 jahren zum Arduino gewechselt.
Du kannst dir z.B. auch die Controller im DIL-Gehäuse holen und baust
dir deine Schaltungen auf Lochraster oder selbst erstellten
Leiterplatten auf. Da du einen ISP Programmer bereits hast, würde sich
das doch anbieten. Außerdem kannst du für jedes Projekt einen
maßgeschneiderten Controller raussuchen. Auf dem Arduino-Board sitzt der
ATMEGA 328, aber wenn du nicht so viele I/O's brauchst, dann tut es oft
auch ein Tinny. Oder wenn du mehr I/O's brauchst, dann einen ATMEGA 1284
;-)
Es gibt fast endlos Hardware, die du da ranhängen kannst. Diverse
Sensorik, Luftdruck, Feuchtigkeit, Kompass, Kreisel, GPS, LED's Displays
(Siebensegmet, Punktmatrix, LCD alphanumerisch, LCD Punktmatrix...)
Es ist quasi nur deiner Phantasie und deinem Fleiß überlassen, was du
daraus machst. Hardware kostet (fast) nichts mehr :-)
Gruß Gerald
Hallo Gerald,
Hardware hab ich genug. 2 Uno, 6x Nano, 3x Mini Pro und 1x Mega2560.
Den Uno verwende ich allerdings selten, ich mag die Nanos, die lassen
sich gut direkt ins Steckbrett verpflanzen.
Sensoren und so Kram hab ich mir vor schon vor längerer Zeit mal beim
freundlichen Chinesen zugelegt. Daran mangelt es im Moment nicht.
Das ganze war eher als allgemeine Frage gedacht in welche Richtung ich
weitermachen soll.
Die Idee es mal mit direktem C Code und/oder Assembler zu probieren
gefällt mir schonmal ganz gut. Ich denke, da wäre dann ein Umstieg auf
andere Platformen das kleinere Problem. Ein ST32 Board merk ich mir mal
vor.
Daniel schrieb:> Kein besonderer Grund, gesunde Neugierde und Bastlertrieb würd ich mal> sagen.> Mal ein wenig den Horizont erweitern..
dann den Raspberry Pi nur nimmt der am GPIO schneller übel als der
Arduino, Strom begrenzt mehr als 2-3mA sollte man nicht, Spannung auch
gibt nur 3,3V aus, AD Wandler hat er keine und timing ist auch nie
einzuhalten wie beim Arduino z.B. wegen WS2811/12/b.
Ich habe meinem PI einen AVR zur Seite gestellt für 1w und ADC und mehr
Vom Pi hab ich schon zwei Stück, Linux kenn ich auch schon ganz gut.
Aber danke für den Vorschlag.
Meine Frage hat noch einen anderen Hintergrund:
Ich hab oft irgendwelche Geräte hier zur Reparatur. Dabei fällt mir oft
auf, dass in "normalen" Consumergeräten nie ein Pic oder Avr drinsteckt.
Das sind meistens Exoten von ST, Cypress, NXP oder Freescale. Oft mit
ARM Core drin.
Das muss ja irgendwo einen Grund haben, warum genau solche Chips drin
stecken.
Daniel schrieb:> Ich denke ich werde erstmal beim AtmelStudio und "reinem" C bleiben. Der> Rest ergibt sich dann vermutlich von Alleine.
Dann schau dir mal die Atmel SAM Reihe an. Da gibt es auch eine ganze
Reihe schöner Eval Boards.
Wenn du mit C++ weitermachen möchtest dann schau dir mal www.mbed.org
an.
Gruß
Tja, da siehst du schon, was persönliche Vorlieben ausmachen. Du hast
Interessen in eine andere Richtung, als ich weiter zu machen und jeder
hier wird dir was anderes vorschlagen :-)
Zu den unterschiedlichen Prozessoren, Herstellern und Familien in
Geräten:
Nach der Leistung geht es ums Geld - und das um Bruchteile von Cent!
Guck dir mal die Preise der ATMEGAs an und die Preise von kleinen ARM
Controllern! Der ARM ist um ein vielfaches leistungsfähiger, kostet aber
weniger. Was wird dann wohl verbaut werden? ;-)
Nicht ohne Grund ist ein Nucleus oder ARM Board von STM billiger, wie
ein Arduino.
Als Bastler bist du dagegen auf eine gute Dokumentation angewiesen.
Eine Firma dagegen unterschreibt auch ein NDA, wenn der Controller 1
Cent 70 billiger ist... gg
Außerdem willst du dich als Bastler nicht durch zig Datenblätter wühlen
und das Fahrrad neu erfinden. Da greift man dann schon gerne mal auf
eine Lib, die schon jemand geschrieben hat, zurück.
Daniel schrieb:> Ich hab oft irgendwelche Geräte hier zur Reparatur. Dabei fällt mir oft> auf, dass in "normalen" Consumergeräten nie ein Pic oder Avr drinsteckt.
wie bitte?
in meiner BSH Küchenmaschine MUM44 war ein PIC CMOS drin und natürlich
kaputt, die Ersatzplatine war dann wieder keine CMOS Variante vom PIC,
die (Tro)Tell haben einfach 3 Ausgänge zusammengeschaltet um den
Thyristor zu treiben, offensichtlich konnte der CMOS PIC das nicht so
gut so das sie wieder auf die "normale" Version umschwenkten.
Du könntest Dich ein wenig mit einem Multi-Tasking System wie Tiny-OS
beschäftigen. Das wäre schon mal eine nächste Stufe.
Dann vielleicht mit dem Parallax-Propeller, da lernt man viel über
alternative Prozessorstrukturen.
Was auch immer wichtiger wird: graphische Programmierung.
Da kannst Du Matlab zusammen mit einem Arduino verwenden. Mit der Art
der graphischen Matlab-Programmmierung lernt man wieder völlig andere
Denkweisen.
Womit du weitermachen sollst, musst du dir im Prinzip selber überlegen.
Optionen sind:
- (mehr) Schaltungen mit (arduino-kompatiblen) Microcontroller
selberbauen
- Arduino Hardwarenäher programmieren:
-- libraries weglassen und Protokolle wie I2C, SPI usw. lernen,
-- Mit C/C++ die Register usw. selber setzen
-- Assembler
- Echtzeitbetriebssystem einsetzen, dafür dann threading und so lernen
- oder eben gleich auf ARM (o.ä.) wechseln
Du musst im Prinzip selber wissen, was dich mehr reizt. Elektronik,
Praktische Dinge erstellen/kombinieren, Effizienz (auch
Energieeffizienz), Programmierkenntnisse... das können wir dir nicht
verraten, was dich interessiert.
Für mich waren als erstes Echtzeitbetriebssysteme interessant...