En avancerad metod för Arduino & AVR programmering (4 / 7 steg)
Steg 4: Brinnande Arduino bootloader i Atmega328P
Som artikeln beskriver, är detta steg för de killar som vill göra en Arduino på en skärbräda med nominella komponenter och fortfarande kan få nytta av Arduino bibliotek.
I princip efter bränning uppstartshanteraren arduino i core atmega328p chip, behöver du inte längre en särskild programmerare (USBasp/parallell/Arduino som ISP) att bränna program för att atmega328. Efteråt kan du använda en FTDI 5v breakout för att bränna program till atmega328p antingen från Arduino IDE eller fromWinAVR IDE som beskrivs i det sista steget.
Chip kommer att fungera som en Arduino på en skärbräda. Även om det finns ett flertal instructables om detta ämne men jag trodde att täcka detta ämne inom min instructables.
Först, det finns två möjliga sätt att bränna uppstartshanteraren Arduino kärna Atmega328p.
1) använda Arduino som programmerare. (Naturligtvis du behöver en arduino ombord för detta).
2) använda USBasp AVR programmerare (om du inte har en, du kan låna den från någon. Även om jag skulle rekommendera att samla in en i din arsenal som ibland komma de verkligen till hands).
I det här steget kommer vi se hur att bränna en bootloader med en Arduino ombord. Stegen är följande:
1) setup Arduino UNO & core Atmega328p i bakbord som visas i första PIc.The kristallen är 16 Mhz kristall och de två locken är 22pf. Det behövs ingen extern strömkälla. Du kan driva target chip från Arduino styrelsen. Arduino UNO fungerar i princip som en ISP AVR programmerare. För att göra att vi kommer att behöva programmera UNO styrelsen.
2) för att program, öppna Arduino IDE och klicka på "Arkiv > exempel > ArduinoISP > ArduinoISP" och maximera det.
3) nu Välj ombord genom att klicka på "Verktyg > styrelsen: > Arduino/Genuino UNO" (min var Arduino UNO, Välj enligt din styrelse).
4) Markera den Port där Arduino är kopplad till genom att klicka på "Verktyg > Port". (Se föregående steg hur man hitta porten från Device manager).
5) nu Klicka på "skiss > Ladda upp". IDE kommer först kompilera programmet och efter att den willupload sketchto din Arduino ombord. När skissen har lagts upp, nu utföra din arduino som AVR ISP(In system programming) programmerare.
6) nu igen väljer styrelsen som Arduino som beskrivs i steg 3. men kom ihåg, denna gång du väljer styrelsen beroende på target chip (i vårt fall Atmega328P att köras som starthanteraren att brännas.
7) nu Klicka på "Verktyg > programmerare > Arduino som ISP" (det finns ett alternativ som heter ArduinoISP.Don't blanda ihop med det)
8) nu Klicka på "Verktyg > Bränn Bootloader".
Om allt är bra, sedan visas i fönstret längst ned i Arduino IDE, det något liknande "Gjort brinnande bootloader". Se Pic #2.Now nära Arduino IDE.
Nu är det dags att testa en blinkar LED program. Nu som bootloader bränns redan, kommer att vi använda FTDI 5v utbrytning överföringen Arduino Blink skissen till Atmega328P.
Koppla Arduino och Anslut FTDI till Atmega328P som visas i Pic#3.The DTR pin är ansluten till en 100nF cap. Den här gången också, kommer vi driva test breadboarded arduino via FTDI 5v utbrytning. Vänligen Lägg märke till en sak, som Återställ pin av Atmega328p(Pin #1) är ansluten till DTR stift FTDI via en 100nF cap. Detta arrangemang görs för att återställa mikrokontroller för att starta en ny programmering ordning.
Nu decription att bränna ett ögonblick skiss är våra nya breadboarded Arduino följande:
1) öppna Arduion IDE.
2) ansluta FTDI till datorn. Kassan i Port inte som basgruppen i föregående steg.
3) Välj styrelsen "Verktyg > styrelsen: > Arduino/Genuino UNO" vi använder Atmega328P @ 16 Mhz.
4) Klicka på "Verktyg > Port >"Din FTDI ansluten port". Min var port #10.So jag välja "Verktyg > Port > COM10.
5) nu Klicka på "Arkiv > Exampleas > grundläggande > Blink"
6) nu nära Arduino IDE i bakgrunden som visas på bild #4.
7) nu maximera Blink skissen och klicka på "skiss > Ladda upp". Ditt program bör sammanställas och laddade upp framgångsrikt. Nu säkert nära Arduino IDE.
8) nu koppla DTR/Tx/Rx fodra av FTDI från bakbord och bifoga LED via motstånd från Pin #19 i Atmega328P.Refer till Pic #5.Here har jag utelämnat installationen med LM358 under Arduino officiella styrelser så Atmega kan driva en enda ledde framgångsrikt. Nu din LED bör blinka med 1s intervall. Koppla från hela installationen från USB och sätta tillbaka igen.
Anledningen bakom inte fästa lampan vid start samtidigt programmering chip och ta bort raden DTR efter programmering är att medan jag experimenterade, jag såg att det AVR höll på att slumpmässigt återställd när jag var öppna Arduino IDE programmera den. Jag tror Arduino IDE var att skicka Reset signal till FTDI slumpmässigt. Det är därför jag rekommenderar att koppla bort iallafall DTR linjen efter slutförandet av framgångsrika program ladda upp att undvika oavsiktlig återställning.