Inhoudsopgave:

Chips programmeren met uw Arduino - AVR ISP voor ATTiny85, ATTiny2313 en ATMega328 - Ajarnpa
Chips programmeren met uw Arduino - AVR ISP voor ATTiny85, ATTiny2313 en ATMega328 - Ajarnpa

Video: Chips programmeren met uw Arduino - AVR ISP voor ATTiny85, ATTiny2313 en ATMega328 - Ajarnpa

Video: Chips programmeren met uw Arduino - AVR ISP voor ATTiny85, ATTiny2313 en ATMega328 - Ajarnpa
Video: Arduino als ISP. 2024, November
Anonim
Chips programmeren met uw Arduino - AVR ISP voor ATTiny85, ATTiny2313 en ATMega328
Chips programmeren met uw Arduino - AVR ISP voor ATTiny85, ATTiny2313 en ATMega328
Chips programmeren met uw Arduino - AVR ISP voor ATTiny85, ATTiny2313 en ATMega328
Chips programmeren met uw Arduino - AVR ISP voor ATTiny85, ATTiny2313 en ATMega328

Ik vond dit als een ontwerp van vele jaren geleden. Het is nog steeds nuttig voor mij, dus ik ga het publiceren!

Dit Instructable is een bundeling van kennis verzameld van rond het 'net en ook de 'nstructables. Het behandelt het programmeren van AVR-microcontrollers, met behulp van de voorbeelden van de ATTiny85, ATTiny2313 en ATMega328, met een Arduino. Ik heb deze techniek in de loop der jaren gebruikt om een reeks gadgets te bouwen en heb het recentelijk gebruikt om Arduino's terug te winnen die verloren zijn gegaan in projecten, en ze te vervangen door een "opgestart" ATMega328 en een handvol componenten. Deze Instructable is, zoals velen, gebouwd op de schouders van reuzen. Er zijn heel veel bronnen en ik hoop ze allemaal op te nemen, enkele van de grootste bijdragers zijn:Arduino aan BreadboardHigh Low Tech BlogLady Ada's AVR Dude Tutorial Randal Bohn's Arduino Sketch Als je echt meer wilt weten over het proces, is het de moeite waard om alle bronnen te bekijken vermeld omdat ze handige trucs en tips bevatten voor als dingen niet meer werken. Oké, dus we zijn er klaar voor? Laten we onze tools verzamelen. Daarna zullen we kijken naar de code die al het harde werk doet, dan naar een paar voorbeelden met de Arduino IDE, en we zullen zelfs een korte trip naar de donkere kant maken met AVRDude!

Stap 1: Verzamel uw gereedschap

Dit is een vrij eenvoudige opstelling. Ik heb nooit ontdekt dat condensatoren een probleem zijn bij het gebruik van een officiële Arduino uno als basis, dus dit lijkt misschien een beetje kaal voor sommigen die ervaring hebben met AVR-programmering. Je hebt nodig:

  • Een Arduino Uno
  • Breadboard
  • Startkabels
  • Drie LED's en drie weerstanden voor 5V

en uw AVR-chip naar keuze

  • ATtiny85
  • ATtiny2313
  • ATMega328

Je hebt de LED's niet echt nodig, maar ze zijn erg handig om te weten of je programmeur werkt of als je een fout hebt. Wat betreft de AVR-chip, je kunt de meeste AVR's met deze methode programmeren, zolang je maar weet waar de RST, MISO, MOSI en SCK zich bevinden. De uitzondering (die in me opkomt) is die van de ATTiny10 en dergelijke, die gebruiken een andere methode.

Stap 2: Stel uw programmeur in

Stel uw programmeur in
Stel uw programmeur in

Laten we eerst de hardware instellen. We gaan de LED's aansluiten zodat we kunnen zien wanneer het bord tot leven komt. Bekijk het onderstaande schema. Steek het kortere been van de LED's in de -ve of grondlijn op het breadboard, dat is degene met de zwarte draad erin. Excuses als een van de dingen die ik zeg op de een of andere manier neerbuigend overkomt, maar ik herinner me echt hoe het is om in de elektronica te beginnen, er werd zoveel veronderstelde kennis en kleine dingen hielden me echt een tijdje tegen! Als je dat nog niet hebt gedaan, download dan de nieuwste versie van de Arduino IDE van de knappe mensen bij Arduino. Als je geen officiële Arduino gebruikt, kun je bij deze methode een paar haperingen tegenkomen of misschien niet - je kunt ze ook wat biergeld sturen omdat ze echt geweldig zijn en als gemeenschap hebben we veel aan hen te danken! Dus je hebt de IDE? (dat is de software die je zojuist hebt gedownload - IDE staat voor Integrated Development Environment btw) Installeer dat en sluit je Arduino aan, je kunt de stuurprogramma's gebruiken die bij de IDE worden geleverd als je computer de Uno niet meteen oppikt. Start nu de IDE. De Arduino IDE wordt geleverd met een AVRISP-schets die helemaal klaar is in de> Voorbeelden, maar deze is echt oud. Ga via deze link naar Github, klik op het scherm met alle tekst, houd Control ingedrukt en druk op A om alles te selecteren. Houd nu de besturing ingedrukt en druk op C om de hele tekst te kopiëren. Navigeer terug naar je Arduino IDE en Control V om het te plakken. Zorg ervoor dat de juiste COM-poort is geselecteerd (als u niet weet welke de juiste is, kunt u met de rechtermuisknop op de computer klikken in het startmenu van Windows (sorry ondersteunt op dit moment geen ander besturingssysteem!) vouw het menu Poorten (COM & LPT) uit en het zou je Arduino als COM moeten weergeven. Upload nu de schets. Als alles goed gaat en al je LED's in volgorde moeten flikkeren, zal één (ik koos voor blauw) beginnen te pulseren. Probeer niet gehypnotiseerd te raken. Werkte niet? Reageer hieronder en we kijken hoe we je kunnen helpen! Als het eenmaal werkt, sla je de schets op in je schetsboek met Opslaan als. U wilt dit bij de hand houden voor toekomstig gebruik.

Stap 3: Bootload een ATMega328 - Een Arduino-kloon maken

Een ATMega328 opstarten - Een Arduino-kloon maken!
Een ATMega328 opstarten - Een Arduino-kloon maken!

Nu begin ik met de ATMega328 omdat het de gemakkelijkste is om "uit de doos" te doen en er is een onmiddellijke toepassing. Een bootloader branden om je eigen breadboard Arduino of Shrimp te maken. Bekijk de afbeelding hieronder. Maak je geen zorgen dat het er nu exponentieel complexer uitziet dan de laatste stap - het zijn gewoon je hersenen die je voor de gek houden, kalmeer en kijk er nog eens naar. De blauwe draden naar de LED's zijn hetzelfde, die heb je gedaan, dus laten we ons daar geen zorgen over maken. De zwarte en rode draden van de Arduino ook, het zijn je stroomdraden, we willen stroom naar de chip krijgen. Dus voeg die toe. Nu zijn er nog maar 4 draden over. Deze gaan verbinding maken met je pinnen 10 tot en met 13 en voor de nieuwsgierigen zijn dit:

  • Digitaal 10 - RST (Reset)
  • Digitaal 11 - MOSI (Master Uit - Slave In)
  • Digitaal 12 - MISO (Master In - Slave Uit)
  • Digitaal 13 - SCK (Seriële Klok)

Dus wat we eigenlijk doen, is de chip programmeren via SPI Serial Peripheral Interface. Dat wordt behandeld in deze geweldige tutorial van de machtige Sparkfun. Om de reden dat we eerst naar deze hebben gekeken. Ga naar >Extra op uw IDE, Nu >Programmer>Arduino als ISP. Als dat is aangevinkt, kunnen we teruggaan naar>Extra>Burn Bootloader. Nu gaan we wat knipperende LED's zien en even wachten. Het bericht onderaan uw IDE zou uiteindelijk moeten veranderen in Bootloading complete. Hey presto, die chip op het breadboard kan nu worden omgezet in een barebones Arduino!

Aanbevolen: