Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

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:

  1. In het menu Bestand, klik op Voorkeuren.
  2. Voer in Additional Boards Manager URLs de volgende URL in:
    https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json
  3. Ga naar Tools menu en selecteer Board > Boards Manager.
  4. Zoek in het Boards Manager-venster naar MiniCore en installeer de nieuwste versie.

De bovenstaande stappen worden grafisch getoond in de afbeeldingen.

De ATmega8 Microcontroller Programmeren met Arduino IDE – Stap-voor-Stap Handleiding
De ATmega8 Microcontroller Programmeren met Arduino IDE – Stap-voor-Stap Handleiding
De ATmega8 Microcontroller Programmeren met Arduino IDE – Stap-voor-Stap Handleiding
De ATmega8 Microcontroller Programmeren met Arduino IDE – Stap-voor-Stap Handleiding

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

De ATmega8 Microcontroller Programmeren met Arduino IDE – Stap-voor-Stap Handleiding

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:

  1. Open Bestand > Voorbeelden > 11.ArduinoISP > ArduinoISP
  2. Upload deze sketch naar je Arduino UNO.

Stap Drie: Bootloader Branden

  1. 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

De ATmega8 Microcontroller Programmeren met Arduino IDE – Stap-voor-Stap Handleiding
De ATmega8 Microcontroller Programmeren met Arduino IDE – Stap-voor-Stap Handleiding
  1. Ga naar Tools > Board en selecteer ATmega8. Je kunt ook je kloktype en frequentie selecteren in het Tools-menu.
  2. Selecteer programmer-type in Tools > Programmer: als "Arduino as ISP".
  3. Klik nu in het Tools-menu op Burn Bootloader.
De ATmega8 Microcontroller Programmeren met Arduino IDE – Stap-voor-Stap Handleiding

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

De ATmega8 Microcontroller Programmeren met Arduino IDE – Stap-voor-Stap Handleiding
De ATmega8 Microcontroller Programmeren met Arduino IDE – Stap-voor-Stap Handleiding

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

De ATmega8 Microcontroller Programmeren met Arduino IDE – Stap-voor-Stap Handleiding
De ATmega8 Microcontroller Programmeren met Arduino IDE – Stap-voor-Stap Handleiding

Productieproces

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