Forum: Mikrocontroller und Digitale Elektronik Arduino Nano programmieren - wie?


von Christoph K. (chriskuku)


Angehängte Dateien:

Lesenswert?

Bin in der Situation, daß ich für ein Midi-Projekt einen Arduino-Nano 
einsetzen muß. Obwohl das Ding ja schon einige Jahre existiert, ist die 
Programmierung Neuland für mich.

Habe das Teil über die Bucht für ein paar Euro gekauft. Im Gegensatz zu 
älteren Modellen, die man so im Netz findet, ist dort ein USB-C Stecker 
verbaut.

Habe das Teil an meinen Mac angeschlossen und es werden serielle Devices 
angelegt.
1
crw-rw-rw-  1 root   wheel       22,   8  9 Sep 19:34 tty.usbserial-1420
2
crw-rw-rw-  1 root   wheel       22,   9  9 Sep 19:34 cu.usbserial-1420

Auf dem Chip steht ATMEL MEGA 328P und auf der Unterseite befindet sich 
ein CH340. Es scheint eine Blinky-App vorinstalliert zu sein.

Ich habe das Arduino IDE 1.8.19 installiert. Frage ist, ob ich einen 
Programmer brauche oder ob ich es andere Möglichkeiten gibt? 
Boardinformationen kann ich nicht abrufen. Da kommt die Meldung "Nativer 
serieller Port, kann Informationen nicht abrufen". Ich will ja auch 
nicht den USB seriellen Port Treiber kaputtschreiben. Was brauche ich 
also? Evtl. hätte ich noch einen AVRISP mkII.

: Bearbeitet durch User
von Achim M. (minifloat)


Lesenswert?

Christoph K. schrieb:
> Was brauche ich also

Nix weiter. Da ist ein Bootloader auf dem 328P drauf, mit dem wird über 
die serielle geflasht.

mfg mf

von J. S. (jojos)


Lesenswert?

Da müsste mal jemand ein Tutorial schreiben wie man einen Nano 
programmiert.

von Zerstreuter (Gast)


Lesenswert?

J. S. schrieb:
> Da müsste mal jemand ein Tutorial schreiben wie man einen Nano
> programmiert.

Ja das ist so ein komplizierter Vorgang, da braucht es unbedingt
eine Anleitung.

von Christoph K. (chriskuku)


Lesenswert?

Achim M. schrieb:
> Christoph K. schrieb:
>> Was brauche ich also
>
> Nix weiter. Da ist ein Bootloader auf dem 328P drauf, mit dem wird über
> die serielle geflasht.
>
> mfg mf

Über die USB-Serielle? Mich wundert, daß das IDE da nicht automatisch 
etwas "sieht".

von Zerstreuter (Gast)


Lesenswert?

Christoph K. schrieb:
> Was brauche ich
> also? Evtl. hätte ich noch einen AVRISP mkII.

Oh mann, dann steck ihn doch an und gut is. Oder hast den
Programmierstecker noch nicht gefunden?

von Christoph K. (chriskuku)


Lesenswert?

AVRISP mkII war Fehlanzeige. Einen AVR-Dragon fand ich, aber der scheint 
im IDE nicht gelistet als Programmer.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

J. S. schrieb:
> Da müsste mal jemand ein Tutorial schreiben wie man einen Nano
> programmiert.

Ich glaube eher, dass du eine persönliche Einweisung in die Nutzung des 
Internets brauchst. Denn solche Anleitungen findest du mit jeder 
Suchmaschine, direkt auf der Arduino Webseite und auch bei Youtube.

von Christoph K. (chriskuku)


Lesenswert?

Stefan ⛄ F. schrieb:
> J. S. schrieb:
>> Da müsste mal jemand ein Tutorial schreiben wie man einen Nano
>> programmiert.
>
> Ich glaube eher, dass du eine persönliche Einweisung in die Nutzung des
> Internets brauchst. Denn solche Anleitungen findest du mit jeder
> Suchmaschine, direkt auf der Arduino Webseite und auch bei Youtube.

Dann brauchen wir Mikrocontroller.net ja nicht mehr. Allenfalls noch zum 
persönlichen Abreagieren, Dissen und Ranten. Typisch, der Laden hier.

von J. S. (jojos)


Lesenswert?

Und dir müsste man mal die Bedeutung von Ironie erklären.
Gibt es ein Programmiersystem für das es mehr Anleitungen gibt?

von Uwe G. (scd)


Lesenswert?

Arduino IDE starten, unter dem Reiter "Werkzeuge" Board, Prozessor und 
Port einstellen, Sketch laden und auf hochladen (bei den Ikons Pfeil 
nach rechts neben dem Haken) drücken. Brauchst Du ein Bild?

Das Ding (ATMEGA328) hat üblicherweise einen seriellen Bootloader drauf.

Das können 8-Jährige ohne jede Anleitung, sorry, das ist keine Häme, 
sondern Realität.

von Der Klaus (Gast)


Lesenswert?

Zerstreuter schrieb:
> J. S. schrieb:
>> Da müsste mal jemand ein Tutorial schreiben wie man einen Nano
>> programmiert.
>
> Ja das ist so ein komplizierter Vorgang, da braucht es unbedingt
> eine Anleitung.

Bitte unbedingt als DuRöhre-Video - für die Kollegen, die nicht lesen 
können...

von Axel S. (a-za-z0-9)


Lesenswert?

J. S. schrieb:
> Da müsste mal jemand ein Tutorial schreiben wie man einen Nano
> programmiert.

Wahrscheinlich noch eher eine Anleitung, wie man ein Tutorial verwendet. 
Und eine Einführung (als mehrteiliges Youtube Video?) wie die Anleitung 
zu benutzen ist. Natürlich flankiert von Hinweisen in Instagram und 
TikTok, daß es das Youtube Video gibt.

</ironie>

von Jack V. (jackv)


Lesenswert?

Uwe G. schrieb:
> Das Ding (ATMEGA328) hat üblicherweise einen seriellen Bootloader drauf.

Nicht zwangsläufig. Aber der ISP-Header ist laut Bild ja vorhanden, so 
dass man ihn notfalls mit dem Dragon drauftun könnte.
Für solche Sachen würde ich auch avrdude direkt hernehmen – da kann man 
detailliert angeben, was wie genutzt wird, und bei Fehlern gibt es eine 
Ausgabe, die man notfalls hier reinstellen kann.

von J. S. (jojos)


Lesenswert?

Der Klaus schrieb:
> Zerstreuter schrieb:
>> J. S. schrieb:
>>> Da müsste mal jemand ein Tutorial schreiben wie man einen Nano
>>> programmiert.
>>
>> Ja das ist so ein komplizierter Vorgang, da braucht es unbedingt
>> eine Anleitung.
>
> Bitte unbedingt als DuRöhre-Video - für die Kollegen, die nicht lesen
> können...

Gibt es sogar von Kindern erklärt.

von Stefan F. (Gast)


Lesenswert?

Jack V. schrieb:
>> Das Ding (ATMEGA328) hat üblicherweise einen seriellen Bootloader drauf.
> Nicht zwangsläufig

Das Blinken der LED zeigt, dass der Bootloader vorinstalliert ist, so 
wie sich das gehört.

Wenn da kein Bootloader drauf wäre, dann wäre es ein halb fertiges 
Produkt. Den würde man dann ebenso umtauschen, wie eine Waschmaschine 
ohne Firmware.

von EAF (Gast)


Lesenswert?

Christoph K. schrieb:
> Mich wundert, daß das IDE da nicht automatisch
> etwas "sieht".

Was soll sie da sehen?
Die bietet dir den Port zur Auswahl an.
Auswählen musst du!

von Stefan F. (Gast)


Angehängte Dateien:

Lesenswert?

Ich kann bei meinen funktionierenden Arduino Nano Boards (unter Linux) 
auch keine Boardinformationen holen. Das scheint normal zu sein.

Kontrolliere, ob du den seriellen Port öffnen darfst. Das kannst du mit 
dem seriellen Monitor in der IDE tun, oder mit irgendeinem anderen 
Terminalprogramm.

von Christoph K. (chriskuku)


Lesenswert?

Uwe G. schrieb:
> Arduino IDE starten, unter dem Reiter "Werkzeuge" Board, Prozessor und
> Port einstellen, Sketch laden und auf hochladen (bei den Ikons Pfeil
>

Danke. Hat geklappt. Erledigt.

von EAF (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Das scheint normal zu sein.

Das (die Anzeige) ist abhängig vom Board.
Von der USB Anbindung
Der CH340 liefert, außer VID und PID, keine an der Stelle, verwertbaren 
Daten

Und von den Einträgen in der boards.txt oder boards.local.txt

Bei mir habe ich folgende Einträge hinzugefügt, um sowohl den Menüpunkt 
etwas auskunftsfreudiger zu machen und auch den Eintrag bei der 
Portauswahl. Denn bei einem halben Dutzend Serieller ist es nicht immer 
ganz offensichtlich, welchen man wählen muss.
1
# wenn schon nicht das Board erkannt wird, dann wenigstens der Schnittstellenbaustein
2
boardFTDI232R.name=Board mit FTDI232R
3
boardFTDI232R.build.board=BOARDFTDI232R
4
boardFTDI232R.hide=
5
boardFTDI232R.vid.0=0x0403
6
boardFTDI232R.pid.0=0x6001
7
8
boardCH340.name=Board mit CH340
9
boardCH340.build.board=BOARDCH340
10
boardCH340.hide=
11
boardCH340.vid.0=0x1A86
12
boardCH340.pid.0=0x7523
13
14
15
boardCP210n.name=Board mit CP2102/CP2104
16
boardCP210n.build.board=BOARDCP210N
17
boardCP210n.hide=
18
boardCP210n.vid.0=0x10C4
19
boardCP210n.pid.0=0xEA60
20
21
boardCP2108.name=Board mit CP2108
22
boardCP2108.build.board=BOARDCP2108
23
boardCP2108.hide=
24
boardCP2108.vid.0=0x10C4
25
boardCP2108.pid.0=0xEA71
26
27
boardbluepill.name=BluePill
28
boardbluepill.build.board=ARM_BOARDBLUEPILL
29
boardbluepill.hide=
30
boardbluepill.vid.0=0x0483
31
boardbluepill.pid.0=0x5740
32
33
boardmarple.name=STM32 Marple Bootloader
34
boardmarple.build.board=ARM_BOARDMARPLE
35
boardmarple.hide=
36
boardmarple.vid.0=0x1EAF
37
boardmarple.pid.0=0x0004
38
39
boardDMX512.name=DMX Adapter
40
boardDMX512.build.board=BOARDDMX512
41
boardDMX512.hide=
42
boardDMX512.vid.0=0x16C0
43
boardDMX512.pid.0=0x05DC
44
boardDMX512.vid.1=0x6244
45
boardDMX512.pid.1=0x0451
46
47
48
# Arduino DUE native USB Port
49
boardBossa.name=DUEnative/Bossa
50
boardBossa.build.board=ARM_BOARDBOSSA
51
boardBossa.hide=
52
boardBossa.vid.0=0x03EB
53
boardBossa.pid.0=0x6124
54
55
56
57
# Raspberry Pi Pico RP2040
58
rpipico.name=Raspberry Pi Pico
59
rpipico.build.board=RASPBERRY_PI_PICO
60
rpipico.hide=
61
rpipico.vid.0=0x2E8A
62
rpipico.pid.0=0x00C0

von Jack V. (jackv)


Lesenswert?

Stefan ⛄ F. schrieb:
> Das Blinken der LED zeigt, dass der Bootloader vorinstalliert ist, so
> wie sich das gehört.

Das Blinken zeigt in erster Linie an, dass da ein Programm läuft, das 
die LED blinken lässt. Da es kein Arduino ist, wär’s auch kein Grund zum 
Umtauschen, wenn der Bootloader trotzdem nicht drauf gewesen wäre.

von Wolfgang (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Wenn da kein Bootloader drauf wäre, dann wäre es ein halb fertiges
> Produkt. Den würde man dann ebenso umtauschen, wie eine Waschmaschine
> ohne Firmware.

Die Zeit zum Einpacken für den Rückversand kann man sich besser sparen 
und statt dessen einen ISP-Programmer auf einen anderen Arduino 
aufspielen, um damit den Bootloader auf das "halb fertige Produkt" zu 
bringen.
(spart deutlich CO2 und schont das Klima - oh man)

von Christoph K. (chriskuku)


Lesenswert?

@EAF(Gast): Wo steht die boards.txt bzw. boards.local.txt? Ich habe sie 
in meiner Arduino IDE-Umgebung (Mac) nicht gefunden.

von EAF (Gast)


Lesenswert?

Christoph K. schrieb:
> Wo steht die boards.txt bzw. boards.local.txt?
Ausführliche Meldungen aktivieren, dann zeigt dir die IDE welche 
Boarddefinition verwendet wird, und wo die auf deinem Rechner zu finden 
ist.

von EAF (Gast)


Lesenswert?

> boards.local.txt
Die müsstest du anlegen.
Was ich auch empfehlen würde, damit man die originale Datei nicht kaputt 
fummelt.

von Manfred (Gast)


Lesenswert?

Christoph K. schrieb:
>> Ich glaube eher, dass du eine persönliche Einweisung in die Nutzung des
>> Internets brauchst. Denn solche Anleitungen findest du mit jeder
>> Suchmaschine, direkt auf der Arduino Webseite und auch bei Youtube.
> Dann brauchen wir Mikrocontroller.net ja nicht mehr. Allenfalls noch zum
> persönlichen Abreagieren, Dissen und Ranten. Typisch, der Laden hier.

"Typisch, der Laden ..", dass auf aus Faulheit gestellte Fragen trotzdem 
Antworten kommen! Sage besser danke für die Hilfe.

Als ich meinen ersten Arduino (China) auf dem Tisch hatte und nichts auf 
dem PC, hatte ich den unter einer Stunde in Gang, ohne fragen zu müssen.

Stefan ⛄ F. schrieb:
> Wenn da kein Bootloader drauf wäre, dann wäre es ein halb fertiges
> Produkt. Den würde man dann ebenso umtauschen, wie eine Waschmaschine
> ohne Firmware.

Ach ja? Bei anderen Gelegenheiten hast Du verteidigt, diese nicht zu 
reklamieren und selbst den Bootloader aufzuspielen. Das ist mal 
konsequent!

Wolfgang schrieb:
> Den würde man dann ebenso umtauschen, wie eine Waschmaschine
>> ohne Firmware.
> Die Zeit zum Einpacken für den Rückversand kann man sich besser sparen
> und statt dessen einen ISP-Programmer auf einen anderen Arduino
> aufspielen,

Nö, Plunder gehört reklamiert. Die wenigen fehlerhaften, die ich über 
Ali hatte, wurden klaglos gutgeschrieben und nicht zurückgesendet.

Und erstmal muß man einen ISP-Programmer haben. Wer sich zu detsch 
anstellt, einen intakten Arduino in Betrieb zu bekommen, wird daran erst 
recht scheitern.

Christoph K. schrieb:
> Wo steht die boards.txt bzw. boards.local.txt? Ich habe sie
> in meiner Arduino IDE-Umgebung (Mac) nicht gefunden.

Der Mac hat keine Datei-Suchfunktion? Bist Du sicher, dass 
Tischlerarbeiten oder Gartenbau nicht besser zu Dir passen?

EAF schrieb:
>> boards.local.txt
> Die müsstest du anlegen.

Wozu? Solange man keine Sonderlocken drehen will, abweichende Boards / 
abweichender Booter, ist das unnötig. Wenn man daran fingert, legt man 
vorher eine Kopie an "boards.txt_20220910", damit es einen Rückweg gibt.

von EAF (Gast)


Lesenswert?

Manfred schrieb:
> Wozu? Solange man keine Sonderlocken drehen will,

Genau!
Es dreht sich um Sonderlocken!

Einträge in der boards.local.txt überschreiben die Einträge in der 
boards.txt.
Und das ist genau richtig so.
Denn die *.local.txt Dateien dienen zur Individuellen *Erweiterung* 
von schon vorhandene Board Definitionen
Also genau das was hier gewünscht wird, wonach dann gefragt wurde.

Aber das willst du ja gar nicht wissen......
Recht haben reicht dir ja...

Beitrag #7187468 wurde von einem Moderator gelöscht.
von Alt G. (altgr)


Lesenswert?

Der hat einen MAC und wir haben es zugelassen dass er sein problem 
gelöst bekommt ohne die tiefe überzeugung "Mac ist scheisse" in sein 
herz aufzunehmen.

Schade.

von EAF (Gast)


Lesenswert?

Alt G. schrieb:
> "Mac ist scheisse"
Kein Problem!!

"Arduino ist ja auch scheiße".
Linux auch (da sind ja goto im Kernel)
Und Win ebenso.
Alles Scheiße.

Also: Egal!
Wer Scheiße sucht, wird auch wohl selber scheißen.
Scheißen und Geige spielen.... das ist das Leben!
(PS: nicht jeder kann gut Geige spielen)

von Manfred (Gast)


Lesenswert?

EAF schrieb:
> Denn die *.local.txt Dateien dienen zur Individuellen *Erweiterung*
> von schon vorhandene Board Definitionen
> Also genau das was hier gewünscht wird, wonach dann gefragt wurde.

Einbildung ist auch eine Bildung.

Hier wurde gefragt, wie man einen Arduino-Nano programmiert, dazu muß 
nicht in der A*-IDE gefummelt werden.

1. A*-IDE herunterladen / installieren.
2. USB-Treiber kontrollieren, ggfs. einspielen.
3. In der IDE Boardtyp und Schnittstelle definieren.
4. Program prüfen - Upload - fertig die Laube.

EAF schrieb:
> "Arduino ist ja auch scheiße".
> Linux auch (da sind ja goto im Kernel)
> Und Win ebenso.
> Alles Scheiße.

Geh' endlich auf's Klo.

von EAF (Gast)


Lesenswert?

Manfred schrieb:
> Hier wurde gefragt,
Christoph K. schrieb:
> Wo steht die boards.txt bzw. boards.local.txt?

Die Frage hast du offensichtlich übersehen wollen.

Manfred schrieb:
> Wenn man daran fingert, legt man
> vorher eine Kopie an "boards.txt_20220910", damit es einen Rückweg gibt.
Aber dein scheiß Tipp ist natürlich goldig.
Klar ist der quer zur Arduino Empfehlung, aber das stört dich ja nicht.
Genies haben eigene Ideen......

von Manfred (Gast)


Lesenswert?

EAF schrieb:
> Manfred schrieb:
>> Hier wurde gefragt,
> Christoph K. schrieb:
>> Wo steht die boards.txt bzw. boards.local.txt?
> Die Frage hast du offensichtlich übersehen wollen.

Die habe ich übersehen, weil ihm dort eine Lösung in den Mund gelegt 
wurde, die er nicht braucht.

von EAF (Gast)


Lesenswert?

Manfred schrieb:
> Die habe ich übersehen,
Interessiert dich also gar nicht.....
Einfach los plärren, ohne Wissen worum es sich dreht.
Übersehen... schwachfug!


Hast du denn jetzt wenigstens kapiert, warum deine "Umbenenn Lösung" so 
herzerweichend dämlich ist, und geprägt von Unwissen und Ignoranz?

von Nick (Gast)


Lesenswert?

>Hast du denn jetzt wenigstens kapiert, warum deine "Umbenenn Lösung" so
>herzerweichend dämlich ist, und geprägt von Unwissen und Ignoranz?

Er will sie nicht umbenennen. Er will eine Sicherheitskopie als Fallback 
anlegen und gibt ihr einen eigenen Namen. Ein durchaus übliches 
Verfahren.

von EAF (Gast)


Lesenswert?

Nick schrieb:
> Ein durchaus übliches
> Verfahren.

Vielleicht ist das bei ihm und bei dir üblich!
In der Arduinowelt verändert man nicht die originalen 
Konfigurationsdateien, sondern legt eigene lokale an.
So ist es empfohlen, so macht es auch Sinn.

Es ist schlicht überflüssig und ausgesprochen dämlich in den originalen 
rum zu fummeln.

Nick schrieb:
> Sicherheitskopie als Fallback
Das kann man dann immer noch mit anderen Dateien tun, oder mit den 
eigenen lokalen.
Aber der Tipp, das mit den originalen zu tun ist blöd, unsinnig, 
überflüssig und dämlich.
Und dann noch weiter darauf zu beharren, ist noch viel viel dümmer.

Grundsatz: (ausführlich)
Man fasst die originalen  boards.txt und plattform.txt nicht an. 
Reinschauen ja, verändern nein. Es gibt keinen Grund dafür.
Siehe dazu:
https://arduino.github.io/arduino-cli/0.27/platform-specification/#boardslocaltxt

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.