Arduino - Startpunkt/Tutorials/Projekte

  • Arduino sind im Prinzip das, was damals (TM) die sog. EMUFs waren.

    Einplatinen Mikrocomputer zur universellen Verwendung ;)

    Nur wesentlich einfacher und wesentlich vielseitiger als damals, auch durch eine Vielzahl von vorhandenen Bibliotheken, die dann sehr einfach Hardware anbinden. Um Source für eine bestimmte Hardware/Sensor zu finden am besten: google: Arduino (hardware). Z.B. Arduino DS3231.

    https://de.wikipedia.org/wiki/Arduino_(Plattform)


    Als allerersten Einstieg reicht es, einen Arduino UNO, ein paar externe Bauteile (Poti LED, Lautsprecher, Sensoren etc. zu haben.

    Gut sind auch ein Steckbrett und Verbindungskabel (Dupont Kabel).

    Dann wird noch die Arduino IDE benötigt.

    https://www.arduino.cc/en/Main/Software


    Hier sollen Links auf Tutorials und konkrete Projekte gesammelt werden.


    Arduino Seiten:

    https://www.arduino.cc/reference/de/. (Sprach-Referenz)


    Tutorials:

    https://funduino.de/anleitung

    https://www.arduino.cc/en/Tuto…ePage?from=Main.Tutorials. (EN)

    https://starthardware.org

    https://arduino-anleitung.de

    http://www.netzmafia.de/skript…o_Programmierhandbuch.pdf (PDF Version)

    https://tuduu.org/lernen/ardui…330wSZEAAYASAAEgJKm_D_BwE


    Projekte:

    http://www.arduinospielwiese.de

    https://github.com/petersieg/arduino. (Apple I Emu)

    https://github.com/petersieg/Talkie (Sprachausgabe - auch für MFA Karte genutzt)

    https://arduino-projekte.webno…ine-libraries/rtc-ds3231/ (RTC)

    https://create.arduino.cc/proj…eo-6m-with-arduino-8f90ad (GPS Modul)

    https://tkkrlab.nl/wiki/Arduin…Temperature_sensor_module (KY-103 Temp.Modul)

    ...


    Peter

    github.com/petersieg

  • Die original Arduino Boards mit den ATMEL Prozessoren sind aber schon etwas überholt. Inzwischen gibt es in der selben Preisklasse 32-Bit ARM Microcontroller, die man auch mit der Arduino IDE programmieren kann:


    https://create.arduino.cc/proj…torial-stm32f103c8-1073cb

    https://www.pjrc.com/teensy/teensyduino.html


    Zumindest die STM32 MCUs lassen sich auch gut direkt in C oder Assembler programmieren. Bekannte Beispiele für solche Projekte sind FlashFloppy und Greazeweazle von KeirF.

    C64 / Amiga 500, 1000, 1200, 2000 / SUN IPC, SparcStation 5, Ultra 1, Ultra 10 / MiSTer FPGA / ULX3S

  • Ja, das ist richtig. Neben STM32 gehen auch ESP Derivate

    - ABER -

    Das ist dann nicht unbedingt mehr Einsteigerfreundlich, weil letztgenannte Hardware meist keine 5V Hardwareanbindungen erlauben, sondern 3,3V max erlauben!

    D.h. Levelshifter etc.


    Daher lieber erstmal mit Arduino anfangen. Und für Vieles reicht das.


    Peter

    github.com/petersieg

  • Die original Arduino Boards mit den ATMEL Prozessoren sind aber schon etwas überholt. Inzwischen gibt es in der selben Preisklasse 32-Bit ARM Microcontroller, die man auch mit der Arduino IDE programmieren kann:

    Die sind nach wie vor hoch aktuell. Das was vor 5 Jahren ausgereicht hat, um eine LED einzuschalten oder einen Sensor abzufragen, reicht doch auch heute noch. Wieso braucht man dafür jetzt 32 Bit?

    Mit so einem Atmel kann auf die Millisekunden (und mit etwas mehr Auchwand sogar auf mehrere Mikrosekunden) genau steuern. Was will man mehr?

    Und so eine Arduino Uno oder Nano kostet beim Chinesen 2-3 Euro. Das ist Verbrauchsmaterial.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Ja, das ist richtig. Neben STM32 gehen auch ESP Derivate

    - ABER -

    Das ist dann nicht unbedingt mehr Einsteigerfreundlich, weil letztgenannte Hardware meist keine 5V Hardwareanbindungen erlauben, sondern 3,3V max erlauben!

    D.h. Levelshifter etc.

    Eben. Ein Atmel treibt mit einem Port bis zu 40mA. Da kann man LEDs ohne Treiber anschließen. Kann das der ARM?

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Der STM32 kann bis zu 20mA erden und auch der kleine STM32F103 hat mehr als 12 5V tolerante I/O Pins.

    Zum Debuggen unterhalte ich mich mit dem Ding über den Hardwaredebugger mit Openocd und die UART Schnittstelle. Für den Produktivbetrieb würde ich vermutlich gleich auf ein I2C Display setzen. Insofern brauchte ich noch keine LED zu betreiben.

    Die ATMELs würden sicherlich für das meiste auch ausreichen, aber wenn man neu anfängt könnte man sich schon überlegen, ob man auf eine (außerhalb von Arduino) exotische Plattform setzt oder auf eine, die einen überall umgibt. Gut, spielt keine Rolle, wenn man nur Arduino macht. Aber wenn man gerne direkt auf der Hardware arbeitet, macht das schon einen Unterschied... und ARM Assembler ist auch ein überraschend schöner Dialekt.


    Ich spiele mich gerade mit dem 68K Busprotokoll. Und da die 68K CPUs (zumindest nach Datenblatt) mindestens 4 MHz brauchen, sind die 72MHz von einem kleinen STM32 nicht überdimensioniert. Gut, mit DTACK ist das ein asynchrones Protokoll, aber trotzdem will man die CPU nicht ewig warten lassen.

    C64 / Amiga 500, 1000, 1200, 2000 / SUN IPC, SparcStation 5, Ultra 1, Ultra 10 / MiSTer FPGA / ULX3S

  • Der STM32 kann bis zu 20mA erden und auch der kleine STM32F103 hat mehr als 12 5V tolerante I/O Pins.

    Zum Debuggen unterhalte ich mich mit dem Ding über den Hardwaredebugger mit Openocd und die UART Schnittstelle. Für den Produktivbetrieb würde ich vermutlich gleich auf ein I2C Display setzen. Insofern brauchte ich noch keine LED zu betreiben.

    Die ATMELs würden sicherlich für das meiste auch ausreichen, aber wenn man neu anfängt könnte man sich schon überlegen, ob man auf eine (außerhalb von Arduino) exotische Plattform setzt oder auf eine, die einen überall umgibt. Gut, spielt keine Rolle, wenn man nur Arduino macht. Aber wenn man gerne direkt auf der Hardware arbeitet, macht das schon einen Unterschied... und ARM Assembler ist auch ein überraschend schöner Dialekt.


    Assembler? Hardwaredebugger? Lies doch nochmal den Eingangspost von PeterSieg. :mrgreen:


    Natürlich fängt der Anfänger erstmal mit der LED an und nicht mit dem Display am I2C-Bus.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Assembler? Hardwaredebugger? Lies doch nochmal den Eingangspost von PeterSieg. :mrgreen:


    Natürlich fängt der Anfänger erstmal mit der LED an und nicht mit dem Display am I2C-Bus.


    Mit den STM32 kann man eben beides machen... daher hab' ich eben die ATMELs (und schließlich auch die Arduino IDE) übersprungen, obwohl ich die nötige Hardware auch auf Lager habe.

    C64 / Amiga 500, 1000, 1200, 2000 / SUN IPC, SparcStation 5, Ultra 1, Ultra 10 / MiSTer FPGA / ULX3S

  • Assembler? Hardwaredebugger? Lies doch nochmal den Eingangspost von PeterSieg. :mrgreen:


    Natürlich fängt der Anfänger erstmal mit der LED an und nicht mit dem Display am I2C-Bus.


    Mit den STM32 kann man eben beides machen... daher hab' ich eben die ATMELs (und schließlich auch die Arduino IDE) übersprungen, obwohl ich die nötige Hardware auch auf Lager habe.

    In diesem Thread geht es aber um eine einfache Lösung für Einsteiger. Ist das also die Vorgehensweise, die du Anfängern empfehlen würdest?

    Also auch jemandem, der nie vorher programmiert hat?


    Bin gespant, wieviele du damit begeistern wirst.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • In diesem Thread geht es aber um eine einfache Lösung für Einsteiger. Ist das also die Vorgehensweise, die du Anfängern empfehlen würdest?

    Bin gespant, wieviele du damit begeistern wirst.

    Naja, also ich bin auch völliger Anfänger im Bezug auf Elektronik. Aber wenn man früher (wie vermutlich viele hier) C64 und Amiga direkt in Assembler programmiert hat, ist die Methode relativ naheliegend. Fühlt sich auch richtig gut an, mal wieder direkt ohne nerviges OS in die Hardwareregister zu schreiben... Auf MCUs muss man nicht mal vorher das OS ausschalten.

    Für junge Leute ohne Erfahrung in der direkten Hardwareprogrammierung wäre das natürlich ungeeignet. Aber ich glaube wir sind hier wirklich langsam off topic.

    C64 / Amiga 500, 1000, 1200, 2000 / SUN IPC, SparcStation 5, Ultra 1, Ultra 10 / MiSTer FPGA / ULX3S

  • Ich wollte mit meinem Post nur zusätzlich zu den Referenzen von Peter darauf hinweisen, dass es neuere Arduino kompatible Plattformen als die ATMELs gibt, die im Gegensatz zu jenen auf einer Standardarchitektur basieren. Und man die daher auch leicht alternativ direkt mit C oder Assembler programmieren kann wenn man will oder sich Arduino für ein Problem als nicht passend herausstellt.

    Das war nicht dazu gedacht, Arduino schlecht zu machen, nur um eine andere (neuere) arduinokompatible Hardwareplattform in die Diskussion einzubringen.

    C64 / Amiga 500, 1000, 1200, 2000 / SUN IPC, SparcStation 5, Ultra 1, Ultra 10 / MiSTer FPGA / ULX3S

  • Hallo,


    ich "reverse-Engineere" ja gerne mal Geräte, mit denen man sonst nix mehr anfangen kann, um dann mit Arduino/ESP/Raspberry damit etwas anderes zu machen. Da ist meine erste Wahl immer Arduino, auch wenn später Raspi oder ESP zum Einsatz kommen, wg. 5V, einfachem "bit-banging" auf allen Ports, I2C, etc. Dem Arduino vertraue ich am meisten, wenn ich da sage, ein Pin ist ein Output und der ist jetzt High, dann ist das so. Bei ESP&Co. muss ich ja oft noch mit Pegelwandlern arbeiten, das finde ich (noch) nicht so vertrauensvoll :)


    Am liebsten nehme ich dann aber irgendwas, wo (Micro-)Python drauf läuft, dann hat man auf Raspi und Microcontroller die gleiche Sprache/Umgebung.


    Beispiele ;)


    Permanente Gäste: mein Amiga 500 von damals™ mit A1k-SRAM-IDE, ein Amiga 2000 mit 2630 (4MB, FPU), BigRAM2630, VA2000, Kick 3.1, LAN-IDE-Clockport, eine A2088 braucht noch Zuwendung
    temporäre Gäste: C64/C1541, Pentium I PC, A500 zur Reparatur