De ATmega8 Microcontroller Programmeren met Arduino IDE – Stap-voor-Stap Handleiding
Onderdelen en Benodigdheden
| Arduino UNO | 1 |
| Microchip Technology ATmega8A-PU | 1 |
| CH340G USB-naar-TTL Converter | 1 |
| 16 MHz Kristal | 1 |
| Condensator 22 pF | 2 |
| Weerstand 10k ohm | 1 |
| Drukknop (12mm) | 1 |
| Breadboard | 1 |
| Jumper wires (generic) | 12 |
| Male/Female Jumper Wires | 4 |
Over Dit Project
"Ik heb mijn code geschreven voor het Arduino UNO-board. Is het mogelijk mijn sketch te uploaden naar een AVR-microcontroller behalve de ATmega328? Dit is waarschijnlijk de meest gestelde vraag onder Arduino-liefhebbers. Er kunnen verschillende redenen zijn, zoals:
- Een goedkopere AVR-microcontroller gebruiken
- Een AVR-microcontroller nodig hebben met meer of minder pinnen dan de ATmega328
- Je hebt alle soorten AVR's, behalve de ATmega328 :D
In deze tutorial leer je hoe je een ATmega8 programmeert met de Arduino IDE. Het is niet beperkt tot de ATmega8 en kan gegeneraliseerd worden naar andere cores die beschikbaar zijn op MCUDude's GitHub. Het bestaat uit twee delen. In deel één wordt beschreven hoe je de Arduino-bootloader op de ATmega8 installeert. Deel twee laat zien hoe je een ATmega8 programmeert met de Arduino IDE en een USB-naar-TTL-converter.
Deel Één: Arduino Bootloader Installeren
In dit deel voegen we ATmega8-ondersteuning toe aan de Arduino IDE. Vervolgens stellen we het breadboard in en verbinden we de ATmega8 met het Arduino UNO-board.
Stap Één: ATmega8-ondersteuning Toevoegen aan Arduino IDE via Board Manager
Er zijn verschillende cores beschikbaar op de GitHub-repository van MCUDude. MiniCore wordt gebruikt voor de ATmega8-microcontroller. Ondersteunde microcontrollers in deze core:
- ATmega8
- ATmega48
- ATmega88
- ATmega168
- ATmega328
Volg deze stappen om MiniCore in je Arduino IDE te installeren:
- In het menu Bestand, klik op Voorkeuren.
- Voer in Additional Boards Manager URLs de volgende URL in:
https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json - Ga naar Tools menu en selecteer Board > Boards Manager.
- Zoek in het Boards Manager-venster naar MiniCore en installeer de nieuwste versie.
De bovenstaande stappen worden grafisch getoond in de afbeeldingen.




De pinout van de ATmega8 is weergegeven in de volgende figuur.

Stap Twee: Arduino Programmeren als ISP (In-System Programming)
Om de Arduino-bootloader te branden, moeten we onze Arduino UNO als ISP programmeren. Er is een sketch genaamd ArduinoISP in de ingebouwde voorbeelden van de Arduino IDE. Volg deze stappen:
- Open Bestand > Voorbeelden > 11.ArduinoISP > ArduinoISP
- Upload deze sketch naar je Arduino UNO.
Stap Drie: Bootloader Branden
- Verbind de Arduino met de ATmega8 zoals hieronder:
Arduino ---------- ATmega8
SCK / Pin 13 ---------- SCK / PB5
MISO / Pin 12 ---------- MISO / PB4
MOSI / Pin 11 ---------- MOSI / PB3
SSN / Pin 10 ---------- RESET


- Ga naar Tools > Board en selecteer ATmega8. Je kunt ook je kloktype en frequentie selecteren in het Tools-menu.
- Selecteer programmer-type in Tools > Programmer: als "Arduino as ISP".
- Klik nu in het Tools-menu op Burn Bootloader.

Als de operatie succesvol was, staat er "Done burning bootloader". Gefeliciteerd! Je hebt het gedaan.
Deel Twee: ATmega8 Programmeren met Arduino IDE en een USB-naar-TTL-Converter
Hier hebben we een ATmega8 met Arduino-bootloader. Zoals je weet, zit er een USB-naar-TTL-converter op alle Arduino-boards. Deze fungeert als brug tussen microcontroller en Arduino IDE. We gebruiken de CH340 USB-naar-TTL-converter-module om de sketch naar de ATmega8 te uploaden.
Stap Vier: De Verbindingen Instellen
Verbind de componenten zoals hieronder getoond.
CH340 ---------- ATmega8
VCC ---------- VCC
GND ---------- GND
Tx ---------- RX / PD0
Rx ---------- Tx / PD1


Stap Vijf: De Sketch Uploaden naar ATmega8
Druk op de reset-drukknop in en houd hem ingedrukt. Klik nu op upload in de IDE. Houd de knop ingedrukt tot de statusbalk "Uploading..." aangeeft. Laat de knop los zodra het uploadproces begint. Dit is nodig omdat de microcontroller in de RESET-toestand moet zijn wanneer het uploadproces start.
Let op: Als het proces mislukt, plaats dan een 100nF condensator zo dicht mogelijk bij Vcc en GND van de microcontroller.
Let op: Sommige USB-naar-TTL-converter-modules hebben een pin genaamd DTR. Als de jouwe die heeft, kun je die verbinden met de RESET-pin van de ATmega8 en hoef je de drukknop niet handmatig te gebruiken om de microcontroller te resetten.
Schema's


Productieproces
- Temperatuur- en vochtigheidsdata overdragen tussen twee Arduinos via Firebase
- Arduino Digitale Dobbelsteen: Bouw Je Eigen LCD-willekeurige Getalgenerator
- Meerpositie-temperatuursensorsysteem voor slimme thuisintegratie
- DIY Arduino USB Gaming Controller – Bouw Je Eigen High-Performance Gamepad
- MotionSense: Slimme inbraakdetectie met Arduino en ESP8266
- 3D-Printer Brandpreventie: Slimme Sensor Veiligheidssysteem
- Realtime afstandsmeting met Arduino Sonar & Processing visualisatie
- Pixel Chaser: Interactieve één-tik LED-spel met Arduino Nano
- Naadloze LED-dimmer met Bolt IoT en Arduino UNO
- Web-IoT Meter Bouwen met Arduino, Yaler en IFTTT
- Bouw een Real-time Digitale Kompas met Arduino & Processing