Dette er første gang jeg innså at ekstra SMD IC i nærheten av USB-porten til Arduino UNO faktisk er en fullverdig mikrokontroller, jeg trodde det var bare en USB til seriell omformer. Videre forskning på denne brikken etterlot meg flere spørsmål enn svar.
Først av alt, hvorfor bestemte Arduino seg for å bruke Atmega16U2 som en USB til seriell omformer? Kunne de ikke ha gått med en FTDI-brikke i stedet? Jeg kom over denne setningen på Quora. «Det beste er at du også kan programmere og lage dine egne applikasjoner på 16u2 hvis du har en In-circuit Serial Programmer». Hvordan akkurat fungerer dette?
Hva med de to andre settene med kontakter på brettet? (annet enn de to hovedradene med overskrifter) De som er merket ICSP og JP2? Er JP2 for 16U2? Jeg leste det disse kan brukes til å brenne koden på Atmega328P slik at den kan modifiseres, men ikke overskrives. Hva er andre bruksområder for 16U2 på Arduino UNO?
Kommentarer
- FTDI er dyrere enn 16U2 AFAIK. Eksempler på omprogrammering er: å bruke den som en USB MIDI-enhet eller HID.
- @Wesley Lee Hvordan omprogrammerer du det egentlig skjønt?
- Det er en egen ISP / ICSP-header for den. Bruk så noe som en Arduino som ISP, Atmel ICE, etc (jeg har ikke tid nå, men jeg kan kanskje skrive et svar og innlegg s hotos snart)
Svar
Den første grunnen til at jeg antar er pris:
- FT232 on octopart : USD2.65 ~ 3
- Atmega16U2 på octopart : USD2.12 ~ 2.2
De kan sannsynligvis få mye bedre tilbud med tanke på at Atmega328 også er fra Atmel (nå Microchip).
Om programmering:
Det er noen prosjekter som gjør Atmega16U2 til en MIDI-enhet via USB eller HID, for eksempel noen repoer: 1 , 2 , 3 . Jeg har brukt den andre tror jeg, og den fungerer bra.
Du kan programmere den med en ISP / ICSP-programmerer som Atmel ICE (nedenfor) eller Arduino ISP .
Bruk ISP-pinnene av Atmega16U2:
Kommentarer
- " De kan trolig få mye bedre tilbud " – Jeg ville ikke ' ikke bli overrasket om en del av denne avgjørelsen var at Atmel tilbød Arduino-teamet en kjæreste-avtale fra den delen.
- @duskwuff – Riktignok kunne det vært omvendt!