![De ATTiny85, ATTiny84 en ATMega328P programmeren: Arduino als ISP: 9 stappen (met afbeeldingen) De ATTiny85, ATTiny84 en ATMega328P programmeren: Arduino als ISP: 9 stappen (met afbeeldingen)](https://i.howwhatproduce.com/images/003/image-8392-15-j.webp)
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-23 15:01
![De ATTiny85, ATTiny84 en ATMega328P programmeren: Arduino als ISP De ATTiny85, ATTiny84 en ATMega328P programmeren: Arduino als ISP](https://i.howwhatproduce.com/images/003/image-8392-16-j.webp)
![De ATTiny85, ATTiny84 en ATMega328P programmeren: Arduino als ISP De ATTiny85, ATTiny84 en ATMega328P programmeren: Arduino als ISP](https://i.howwhatproduce.com/images/003/image-8392-17-j.webp)
Voorwoord
Ik heb onlangs een paar op ESP8266 gebaseerde IoT-projecten ontwikkeld en ontdekte dat de kernprocessor moeite had om alle taken uit te voeren die ik nodig had om te beheren, dus besloot ik enkele van de minder belangrijke activiteiten te distribueren naar een andere microcontroller(s) in op deze manier wordt de ESP8266 vrijgemaakt om door te gaan met zijn taak als IoT-apparaat.
Aangezien ik mijn project voor een zo breed mogelijk publiek wilde publiceren, heb ik ervoor gekozen om de Arduino IDE te gebruiken als het ontwikkelingsplatform bij uitstek, omdat het zo'n breed ondersteunde community heeft.
Ontwerpbeperkingen
Om te voorzien in een redelijke spreiding van doelapparaten die de selectie van een geschikte microcontroller voor de betreffende toepassing mogelijk maken, heb ik gekozen voor de volgende Atmel-onderdelen; ATMega328P, ATTiny84 en ATTiny85. Om de complexiteit van de benodigde programmeur te beperken heb ik de keuze van de klok beperkt tot intern voor alle apparaten en 16MHz extern voor alleen de ATMega328P en ATTiny84.
Wat volgt is een verzameling opmerkingen over programmeren met de Arduino en een beschrijving van hoe ik een eenvoudige op Arduino Uno gebaseerde programmer voor deze apparaten heb samengesteld (foto's hierboven).
Welke onderdelen heb ik nodig?
Om de programmer te bouwen heb je de volgende onderdelen nodig:
- 1 uit Arduino Uno
- 2 28-pins Zero Insertion Force (ZIF) DIP-sockets (voor ATMega328P, ATTiny85, ATTiny84)
- 1 uit Arduino prototype schild (ik heb de mijne hier;
- 2 van 5MM LED's
- 2 off 1K weerstanden
- 1 off 10K weerstand
- 4 off 22pF keramische condensatoren
- 2 off 16MHz-kristallen
- 3 off 0.1uF keramische condensatoren
- 1 off 47uF elektrolytische condensator
- 1 off 10uF elektrolytische condensator
- Verschillende lengtes draadwikkeldraad.
Welke software heb ik nodig?
Arduino IDE 1.6.9
Welke vaardigheden heb ik nodig?
- Kennis van Arduino IDE
- Enige kennis van elektronica en solderen
- Veel handvaardigheid
- Veel geduld en een goed gezichtsvermogen
Behandelde onderwerpen
- Algemene inleiding tot het programmeren van Atmel-microcontrollers
- ISP of Bootloader: het is allemaal een beetje verwarrend
- Circuitoverzicht
- Uw programmeur instellen
- Uw Arduino ISP-programmeur gebruiken
- Code ontwikkelen op uw doelsysteem
- Gotchas
- Conclusie
- Gebruikte referenties
Vrijwaring
Zoals altijd gebruikt u deze instructies op eigen risico en worden ze niet ondersteund
Stap 1: Algemene inleiding over het programmeren van Atmel-microcontrollers
![Algemene inleiding over het programmeren van Atmel-microcontrollers Algemene inleiding over het programmeren van Atmel-microcontrollers](https://i.howwhatproduce.com/images/003/image-8392-18-j.webp)
![Algemene inleiding over het programmeren van Atmel-microcontrollers Algemene inleiding over het programmeren van Atmel-microcontrollers](https://i.howwhatproduce.com/images/003/image-8392-19-j.webp)
![Algemene inleiding over het programmeren van Atmel-microcontrollers Algemene inleiding over het programmeren van Atmel-microcontrollers](https://i.howwhatproduce.com/images/003/image-8392-20-j.webp)
Er zijn twee methoden beschikbaar voor het programmeren van Atmel-microcontrollers;
- Bij Systeemprogrammering (ISP),
- Zelfprogrammering (via een bootloader).
De eerste methode (1) programmeert de microcontroller direct via de SPI-interface nadat het apparaat eerst is gereset. Tenzij anders aangegeven, wordt een gecompileerd uitvoerbaar bronprogramma stapsgewijs naar het apparaat geschreven in het codegeheugen van waaruit het bij het opstarten wordt uitgevoerd. Er zijn veel ISP-apparaten die Atmel-apparaten kunnen programmeren, waarvan er enkele (foto 1); AVRISPmkII, Atmel-ICE, Olimex AVR-ISP-MK2, Olimex AVR-ISP500. Afbeelding 2 laat zien hoe het ISP-apparaat verbinding maakt met de ATMega328P (vreemd gemarkeerd ICSP) op het Arduino Uno R3-bord (foto 3 geeft de ISP-pin uit). Het is ook mogelijk om via de SPI interface een Atmel microcontroller te programmeren met een Arduino Uno als ISP (foto 4), hier wordt de Uno gebruikt om een ATMega328P te programmeren.
De laatste methode (2) maakt gebruik van een kleine code-stub die bekend staat als een 'bootloader' die permanent in het uitvoerbare codegeheugen aanwezig is (meestal vergrendeld om onbedoeld overschrijven van foto 5 te voorkomen). Deze code wordt als eerste uitgevoerd bij het opstarten of het resetten van het apparaat en stelt de microcontroller in staat zichzelf opnieuw te programmeren met nieuwe code die via een van zijn interfaces is ontvangen van een externe bron. De bootloader-methode wordt gebruikt door de Arduino IDE om Arduino's opnieuw te programmeren die zijn toegewezen als een USB-communicatiepoort op de pc (of MAC, Linux-box enz., foto 6) en in het geval van de Arduino communiceert Uno met het Atmel-apparaat via zijn seriële interface op IC-pinnen 2 en 3 van de ATMega328P. Ook de Arduino Uno (met de ATMega328P micrcontroller verwijderd) kan worden gebruikt om een ATMega328P te programmeren via de bootloader-methode die effectief werkt als een USB-naar-serieel adapterapparaat (foto 7).
Wat is een USB-naar-serieel-adapter?
Een USB-naar-serieel-adapter is een stuk hardware dat wordt aangesloten op de USB-poort van uw pc en eruitziet als een seriële com-poort (een erfenis uit vroeger tijden toen computers een seriële communicatiestandaard gebruikten die bekend staat als EIA-232, V24 of RS232), waarmee u seriële gegevens verzenden en ontvangen op dezelfde elektrische niveaus van de microcontroller. Wanneer u Tools -> Port -> COMx selecteert in de Arduino IDE, verbindt u uw pc met uw Arduino.
Een apparaat als dit wordt soms een FTDI genoemd (foto 8, wat eigenlijk een merknaam is) of CH340G enz. USB naar serieel op de Arduino uno wordt bereikt via een ATMega16U2-MU(R) IC ZU4 zoals in het Arduino-schema onderstaand.
Voor de duidelijkheid identificeert afbeelding 9 de twee Atmel-apparaten en hun respectievelijke ISP-connectoren op de Arduino Uno R3.
Opmerking 1: Als u ervoor kiest om de FTDI-apparaatroute te volgen, zorg er dan voor dat u bij een gerenommeerde verkoper koopt, want er zijn veel goedkope namaakapparaten op de markt die het niet hebben gedaan na het toepassen van een Windows-update.
Aanbevolen:
Arduino als ISP -- Hex-bestand branden in AVR -- Zekering in AVR -- Arduino als programmeur: 10 stappen
![Arduino als ISP -- Hex-bestand branden in AVR -- Zekering in AVR -- Arduino als programmeur: 10 stappen Arduino als ISP -- Hex-bestand branden in AVR -- Zekering in AVR -- Arduino als programmeur: 10 stappen](https://i.howwhatproduce.com/images/001/image-2389-51-j.webp)
Arduino als ISP || Hex-bestand branden in AVR || Zekering in AVR || Arduino als programmeur:…………………….. ABONNEER aub op mijn YouTube-kanaal voor meer video's…….. Dit artikel gaat helemaal over arduino als isp. Als u een hex-bestand wilt uploaden of als u uw zekering in AVR wilt plaatsen, hoeft u geen programmeur te kopen, u kunt dit doen
Een ATtiny programmeren met Arduino: 7 stappen (met afbeeldingen)
![Een ATtiny programmeren met Arduino: 7 stappen (met afbeeldingen) Een ATtiny programmeren met Arduino: 7 stappen (met afbeeldingen)](https://i.howwhatproduce.com/images/003/image-6720-j.webp)
Programmeer een ATtiny met Arduino: Hieronder volgen aanwijzingen voor het programmeren van de ATtiny-microcontrollers met behulp van de Arduino IDE. In gewoon Engels is dit hoe u 8-pins Atmel-chips programmeert zoals u normaal een Arduino zou doen. Dit is cool omdat de ATtiny klein is, en - nou ja - dit maakt het mogelijk
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 Chips programmeren met uw Arduino - AVR ISP voor ATTiny85, ATTiny2313 en ATMega328 - Ajarnpa](https://i.howwhatproduce.com/images/002/image-4916-30-j.webp)
Chips programmeren met uw Arduino - AVR ISP voor ATTiny85, ATTiny2313 en ATMega328: ik vond dit als een concept van vele jaren geleden. Het is nog steeds nuttig voor mij, dus ik ga het publiceren! Deze Instructable is een bundeling van kennis die is verzameld op het internet en ook op de 'nstructables. Het behandelt de programmering van AVR Microco
Arduino Uno om ATTINY84 te programmeren (Arduino V. 1.8.5): 6 stappen
![Arduino Uno om ATTINY84 te programmeren (Arduino V. 1.8.5): 6 stappen Arduino Uno om ATTINY84 te programmeren (Arduino V. 1.8.5): 6 stappen](https://i.howwhatproduce.com/images/003/image-7794-19-j.webp)
Arduino Uno om ATTINY84 te programmeren (Arduino V. 1.8.5): De Arduino Uno gebruiken om ATTINY84-20PU te programmeren (Digikey-item # ATTINY84-20-PU-ND). Deze Instructable laat zien hoe je het Arduino-platform kunt gebruiken om met fysiek kleinere processors te werken, zoals de ATtiny84 (84/44/24). Dit voorbeeld is specifiek voor
Inleiding tot 8051 programmeren met AT89C2051 (gastrollen: Arduino): 7 stappen (met afbeeldingen)
![Inleiding tot 8051 programmeren met AT89C2051 (gastrollen: Arduino): 7 stappen (met afbeeldingen) Inleiding tot 8051 programmeren met AT89C2051 (gastrollen: Arduino): 7 stappen (met afbeeldingen)](https://i.howwhatproduce.com/images/003/image-8922-27-j.webp)
Inleiding tot 8051-programmering met AT89C2051 (Guest Starring: Arduino): De 8051 (ook bekend als MCS-51) is een MCU-ontwerp uit de jaren 80 dat vandaag de dag nog steeds populair is. Moderne 8051-compatibele microcontrollers zijn verkrijgbaar bij meerdere leveranciers, in alle soorten en maten, en met een breed scala aan randapparatuur. In dit instructieb