Arduino Nano programmieren - wie?

OP #7186743
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.
Angehängte Dateien:
Gast #7186782
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.
OP #7186786
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.
#7186792
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.
#7186798
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>
#7186800
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.
#7186801
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.
Gast #7186804
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.
Gast #7186818
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.
Angehängte Dateien:
Gast #7186850
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
Gast #7186894
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)
Gast #7187423
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.
Gast #7187457
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.
Gast #7187503
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)
Gast #7187573
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.
Gast #7187597
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......
Gast #7187666
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.
Gast #7187683
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?
Gast #7187770
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.
Gast #7187897
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren