Stap 4: Arduino bootloader branden in Atmega328P
Zoals het artikel beschrijft, is deze stap voor die jongens die willen maken een Arduino op een breadboard nominale componenten gebruiken en nog steeds kunnen krijgen voordeel van de Arduino libraries.
In feite na het branden de bootloader van de arduino in de kern atmega328p chip, zal u niet langer een speciale programmeur (USBasp/Parallel/Arduino als ISP) nood voor brandwond programma op de atmega328. Daarna kunt u een FTDI 5v breakout te branden programma's naar de atmega328p of van de Arduino IDE of fromWinAVR IDE zoals beschreven in de vorige stap.
De chip zal fungeren als een Arduino op een breadboard. Hoewel er talrijke instructables over dit onderwerp maar ik dacht dat ter dekking van dit onderwerp in mijn instructables.
Ten eerste, er zijn twee mogelijke manieren om de bootloader van de Arduino te branden in de kern Atmega328p.
1) Using Arduino als een programmeur. (Natuurlijk moet u een arduino board hiervoor).
2) Using USBasp AVR-programmer (als je er geen hebt, kunt u lenen het van iemand. Hoewel ik adviseren zou om te verzamelen in uw arsenaal als soms komen ze echt van pas).
In deze stap, zullen we zien dat hoe te branden van een bootloader met behulp van een Arduino board. Stappen zijn als volgt:
1) setup de Arduino UNO & de kern Atmega328p in het breadboard zoals aangegeven in het eerste PIc.The kristal is 16 Mhz kristal en de twee doppen zijn 22pf. Geen externe voeding nodig is. U kunt de macht van de chip van de doelstelling van de Arduino board. In principe is de Arduino UNO zal gedragen als een ISP AVR-programmer. Om dat te doen, zullen we moeten program van de UNO-bestuur.
2) om program, open de Arduino IDE en klik op "bestand > voorbeelden > ArduinoISP > ArduinoISP" en maximaliseert.
3) nu Selecteer boord door te klikken op "Tools > Raad van bestuur: > Arduino/waar UNO" (de mijne was Arduino UNO, selecteert u volgens je board).
4) Selecteer de poort waarop de Arduino is aangesloten op door te klikken op "Tools > Port". (Raadpleeg de vorige stap hoe vindt u de poort in Device manager).
5) Klik nu op "schets > uploaden". De IDE zal eerst het compileren van het programma en na dat het willupload de sketchto je Arduino board. Nadat de schets is geüpload, nu is je arduino zal fungeren als een AVR ISP(In system programming) programmeur.
6) nu opnieuw selecteren bestuur als Arduino zoals beschreven in stap 3. maar onthoud, ditmaal u kiest het bestuur afhankelijk van de target chip (In ons geval Atmega328P kunnen worden uitgevoerd op die de Bootloader om te worden verbrand.
7) Klik nu op "Tools > programmeur > Arduino als ISP" (er is een benoemde ArduinoISP.Don't verwarren met die optie)
8) Klik nu op "Tools > Burn Bootloader".
Als alles in orde is, dan in het voortgangsvenster aan de onderkant van de Arduino IDE, het getoond iets als "Done brandende bootloader". Raadpleeg Pic #2.Now sluit de Arduino IDE.
Nu is het tijd om het testen van een LED knipperen-programma. Nu als de bootloader is al verbrand, zullen we de FTDI 5v breakout gebruiken voor het uploaden van de schets van de Arduino Blink in de Atmega328P.
Koppel de Arduino en de FTDI verbinden met de Atmega328P, zoals getoond in de Pic#3.The DST pin is aangesloten op een 100nF cap. Ditmaal ook wilskracht we de arduino test breadboarded via de FTDI 5v breakout. Let wel op een ding, dat de Reset pin van Atmega328p(Pin #1) is verbonden met de DTR-pin van de FTDI via een 100nF cap. Deze regeling wordt gedaan om te herstellen van de Microcontroller om te beginnen met een nieuwe programmering-reeks.
Nu de beschrijving om te branden de Blink sketch in is onze nieuwe breadboarded Arduino als volgt:
1) open Arduion IDE.
2) de FTDI verbinden met de PC. Afrekenen de poort niet als decsribed in de vorige stap.
3) Selecteer het bord "Tools > Raad van bestuur: > Arduino/waar UNO" als we zijn met behulp van Atmega328P @ 16 Mhz.
4) Klik op "Tools > haven > 'Uw FTDI verbonden haven'. Mijne was poort #10.So ik kies "Tools > haven > COM10.
5) Klik nu op "bestand > Exampleas > Basic > Blink"
6) nu sluiten de Arduino IDE op de achtergrond zoals in Pic #4.
7) nu de Blink schets maximaliseren en klik op "Sketch > uploaden". Uw programma moet worden gecompileerd en geüpload. Nu zeker sluit de Arduino IDE.
8) nu de lijn voor DTR/Tx/Rx van de FTDI verbreken met het breadboard en bevestig de LED via de weerstand van Pin #19 van de Atmega328P.Refer naar de Pic #5.Here ik de setup met LM358 zoals in de officiële Arduino borden hebben weggelaten als Atmega een één LED met succes rijden kunt. Nu uw LED met 1s knipperen moet interval. Haal de hele setup vanaf USB en replug opnieuw.
De reden achter de LED bij het opstarten niet te koppelen terwijl de programmering van de chip en het verwijderen van de lijn voor DTR nadat programmering is dat terwijl ik aan het experimenteren was, zag ik dat de de AVR was wordt willekeurig resetted wanneer ik was de opening van de Arduino IDE om hem te programmeren. Ik denk dat de Arduino IDE was signaal Reset aan de FTDI willekeurig. Dat is waarom ik aanbevelen aan het verbreken van atleast de DTR-lijn na voltooiing van succesvolle programma uploaden om te voorkomen dat per ongeluk reset.