Atmel ATmega328 handleiding

Inleiding

ATMGEA328 IoT Trainer Kit essentiële ontwikkelingsfuncties een plug-and-play ontwerp dat het gemakkelijk maakt om verbindingen te maken en studenten, hobbyisten, enthousiastelingen en professionals helpt zich meer te concentreren op de ontwikkeling van programma's/toepassingen. ATMGEA328 IoT Trainer Kit uitgerust met on-board IO's, communicatie-interfaces & randapparatuur. Het is heel eenvoudig om circuits te ontwerpen, ermee te experimenteren en te testen zonder te solderen. Het wordt gebruikt in veel onderwijsinstellingen en R&D LAB's over de hele wereld.

  • Schakel de voedingsspanning van dit product en de aangesloten apparaten uit voordat u ze aansluit of loskoppelt.
  • Gebruik altijd geïsoleerd gereedschap tijdens het werken.
  • Raak geen componenten van de printplaat aan met open handen wanneer de stroom is ingeschakeld.

Functies

  • Plug & Play Interface Connectiviteit.
  • Professioneel EMI/RFI-conform PCB-lay-outontwerp
  • Modulair blokontwerp maakt eenvoudige toegang & snel prototypen mogelijk
  • FRC-connectiviteitsfuncties minimaliseren de verbindingsfout.
  • Hoogwaardige printplaat met houten behuizing.
  • 8 interfacing LED's.
  • 1 * 4 Menutoetsenblok.
  • 4 * 4 Matrix Toetsenblok.
  • RS232, RS485, USB-communicatiepoort.
  • 7 Segment Gemultiplexeerde Display.
  • 16*2 LCD & OLED Display
  • ADC & DAC-kaart.
  • 8 bit 4 poort IO.
  • On Board Wi-Fi/Bluetooth-connectiviteit
  • 3.3 tot 5V Level Converter.
  • Voeding 3.3V en 5V
  • SD CARD Interface.
  • RTC & EEPROM Interface.
  • DC Motor/ Stappenmotor Driver.
  • Relais, Buzzer.
  • 1x temperatuursensor.
  • 3x Analoge Test POT.

ATmega328 Board Beschrijving

Overzicht - Deel 1

  1. Voeding
  2. Aan/uit-schakelaar
  3. Spanningsregelaar
  4. OLED-scherm
  5. Digitale ingangsschakelaar
  6. ADC (Variabele weerstand POT)
  7. Temperatuursensor LM35
  8. RTC
  9. L298 Driver
  10. Logisch niveau omzetter
  11. Buzzer
  12. Relais
  13. SD-kaarthouder
  14. Jumperinstellingen voor I2C
  15. EEPROM
  16. Jumperinstellingen voor EEPROM
  17. 1*4 Toetsenblokschakelaars
  18. RDL BUS FRC-connector
  19. 4*4 Toetsenblokmatrix
  20. ATMEGA328 Controller
  21. 7 Segment Display
  22. 2*4 LED's
  23. Jumperinstellingen voor UART Select Pins
  24. 16*2 LCD-scherm
  25. Wi-Fi/XBEE-module
  26. RD485-module
  27. On Board ISP-programmeur
  28. Jumperinstellingen voor UART TTL
  29. USB-poort
  30. DB9 Seriële Vrouwelijke Connector
  31. Stroomindicator

ATmega328 Pinout

ATmega328 Pinout

Pakket bevat

  • Ontwikkelingsbord met houten behuizing
  • USB-kabel
  • 12V 2A Adapter
  • FRC-kabel

LET OP: XBee-module is niet inbegrepen in het pakket.

Instructies om het ATmega328-bord te selecteren op Arduino IDE

Het ATmega328-bord installeren in Arduino IDE

Voordat u met deze methode begint, moet u ervoor zorgen dat u de nieuwste versie van de Arduino IDE 1.8.19 op uw computer hebt geïnstalleerd.
Zo niet, installeer het dan van https://www.arduino.cc/en/software, ga verder met deze tutorial.

  1. Sluit de ESP32 Trainer Kit aan op uw computer. Met uw Arduino IDE open, volgt u deze stappen:
  2. Selecteer uw bord in het menu Tools > Board (het is de Arduino Uno)

Selecteer de poort (als u de COM-poort niet ziet in uw Arduino IDE, moet u de FTDI-stuurprogramma's installeren: https://ftdichip.com/drivers/d2xx-drivers/

Bibliotheken installeren

  1. Om een nieuwe bibliotheek in uw Arduino IDE te installeren. Open de IDE en klik op het menu "Sketch" en vervolgens op Include Library Ю Manage Libraries (Bibliotheek toevoegen Ю Bibliotheken beheren).
  2. Vervolgens wordt de Library Manager geopend en vindt u een lijst met bibliotheken die al zijn geïnstalleerd of klaar zijn voor installatie. In dit voorbeeld installeren we de RTC-bibliotheek (d.w.z. rtclib). Voer de naam van de bibliotheek in om deze te vinden, klik erop en selecteer vervolgens de versie van de bibliotheek die u wilt installeren. Soms is er maar één versie van de bibliotheek beschikbaar. Klik vervolgens op installeren. Als u de bibliotheek niet kunt vinden, raadpleegt u "Een LED laten knipperen" > Programma.
  3. Wacht tot de IDE de nieuwe bibliotheek heeft geïnstalleerd. Het downloaden kan enige tijd duren, afhankelijk van uw verbindingssnelheid. Zodra het klaar is, zou er een Installed (Geïnstalleerd) tag moeten verschijnen naast de RTC-bibliotheek. Klik vervolgens op sluiten.

Een andere methode voor het installeren en importeren van een .zip Library

  1. Ga naar Google, zoek naar de bibliotheek (d.w.z. rtclib) die u wilt installeren, klik op download ZIP.
    Bibliotheken installeren - Stap 1
  2. In de Arduino IDE, ga naar Sketch > Include Library > Add. ZIP Library (Schets > Bibliotheek toevoegen > Toevoegen. ZIP Library).
    Bibliotheken installeren - Stap 2
  3. Selecteer de bibliotheek die u wilt toevoegen. Ga naar de downloadlocatie van het .zip-bestand en open het.
    Bibliotheken installeren - Stap 3
  1. Keypad Library (keypad.h) DOWNLOAD HERE
  2. LCD Library (LiquidCrystal.h) DOWNLOAD HERE
  3. RTC Libraries
    (rtclib) DOWNLOAD HERE
    (Wire.h) DOWNLOAD HERE
  4. SD Card Libraries
    (FS.h) DOWNLOAD HERE
    (SD.h) DOWNLOAD HERE
    (SPI.h) DOWNLOAD HERE
  5. OLED Libraries
    (Adafruit_GFX.h) DOWNLOAD HERE
    (Adafruit_SSD1306.h) DOWNLOAD HERE

Een LED laten knipperen

Doel:
LED's koppelen met ATmega328-microcontroller.
Beschrijving:
Leren hoe een ATmega328-microcontroller te programmeren om een LED te laten knipperen door LED's aan te sluiten op de digitale pinnen.
Hardwarevereisten:
ATmega328 IoT Development Kit en FRC-kabel.
Overzicht - Deel 2 - Een LED laten knipperen

Procedure:

  1. Sluit de P1-poort en de SV2 (LED)-poort aan met behulp van de FRC-kabel zoals hierboven weergegeven.
  2. Sluit de USB-kabel aan op het bord.
  3. Open Arduino IDE. Selecteer Arduino Uno in borden en selecteer COM-poort.
  4. Schrijf nu het programma, verifieer en upload het.
  5. Nu zie je de LED knipperen op het ATmega328-ontwikkelbord.

Programma:
const int L1=2, L2=3, L3=4, L4=5, L5=6, L6=7, L7=8, L8=9; //LED-pinnen initialiseren
void setup ()
{
pinMode (L1, OUTPUT); // Stel alle Port P1-pinnen in als output
pinMode (L2, OUTPUT);
pinMode (L3, OUTPUT);
pinMode (L4, OUTPUT);
pinMode (L5, OUTPUT);
pinMode (L6, OUTPUT);
pinMode (L7, OUTPUT);
pinMode (L8, OUTPUT);
}
void loop ()
{
digitalWrite (L1, HIGH);
digitalWrite (L2, HIGH);
digitalWrite (L3, HIGH);
digitalWrite (L4, HIGH);
digitalWrite (L5, HIGH);
digitalWrite (L6, HIGH);
digitalWrite (L7, HIGH);
digitalWrite (L8, HIGH);
delay (2000);
digitalWrite (L1, LOW);
digitalWrite (L2, LOW);
digitalWrite (L3, LOW);
digitalWrite (L4, LOW);
digitalWrite (L5, LOW);
digitalWrite (L6, LOW);
digitalWrite (L7, LOW);
digitalWrite (L8, LOW);
delay (2000);
}

Zeven segment displays

Doel:
ATmega328-microcontroller koppelen aan een zeven segment display.
Beschrijving:
Om getallen weer te geven in een 7 segment display.
Benodigde hardware:
ESP32-microcontroller ontwikkelbord en FRC-kabels.
Overzicht - Deel 3 - Zeven segment displays

Procedure:

  1. Verbind P1-poort en SV4 (Data) poort en verbind P2-poort en SV3 (Select) poort met behulp van een FRC-kabel zoals hierboven weergegeven.
  2. Sluit de USB-kabel aan op het bord.
  3. Open Arduino IDE. Selecteer Arduino Uno in borden en selecteer COM-poort.
  4. Schrijf nu het programma, controleer en upload het.
  5. Nu kunt u zien dat het getal begint te verschijnen op de zeven segmenten op het ATmega328-ontwikkelbord.

Programma:
const int sel1=10, sel2=11, sel3=12, sel4=13; //selectiepinnen initialiseren -Poort P2
const int a=2, b=3, c=4, d=5, e=6, f=7, g=8, dp=9; //datapinnen initialiseren -Poort P1
void setup ()
{
pinMode (sel1, OUTPUT); //selectiepinnen declareren als output
pinMode (sel2, OUTPUT);
pinMode (sel3, OUTPUT);
pinMode (sel4, OUTPUT);
digitalWrite (sel1, LOW); //alle 4 de cijfers van het 7-segment display selecteren door het LOW te maken
digitalWrite (sel2, LOW);
digitalWrite (sel3, LOW);
digitalWrite (sel4, LOW);
pinMode (a, OUTPUT); //datapinnen declareren als output
pinMode (b, OUTPUT);
pinMode (c, OUTPUT);
pinMode (d, OUTPUT);
pinMode (e, OUTPUT);
pinMode (f, OUTPUT);
pinMode (g, OUTPUT);
pinMode (dp, OUTPUT);
delay (100);
}
void loop ()
{
// print 0 (afdrukken 0)
digitalWrite (a, LOW);
digitalWrite (b, LOW);
digitalWrite (c, LOW);
digitalWrite (d, LOW);
digitalWrite (e, LOW);
digitalWrite (f, LOW);
digitalWrite (g, HIGH);
digitalWrite (dp, LOW);
delay (2000);
// print 1 (afdrukken 1)
digitalWrite (a, HIGH);
digitalWrite (b, LOW);
digitalWrite (c, LOW);
digitalWrite (d, HIGH);
digitalWrite (e, HIGH);
digitalWrite (f, HIGH);
digitalWrite (g, HIGH);
digitalWrite (dp, HIGH);
delay (2000);
// print 2 (afdrukken 2)
digitalWrite (a, LOW);
digitalWrite (b, LOW);
digitalWrite (c, HIGH);
digitalWrite (d, LOW);
digitalWrite (e, LOW);
digitalWrite (f, HIGH);
digitalWrite (g, LOW);
digitalWrite (dp, LOW);
delay (2000);
// print 3 (afdrukken 3)
digitalWrite (a, LOW);
digitalWrite (b, LOW);
digitalWrite (c, LOW);
digitalWrite (d, LOW);
digitalWrite (e, HIGH);
digitalWrite (f, HIGH);
digitalWrite (g, LOW);
digitalWrite (dp, LOW);
delay (2000);
// print 4 (afdrukken 4)
digitalWrite (a, HIGH);
digitalWrite (b, LOW);
digitalWrite (c, LOW);
digitalWrite (d, HIGH);
digitalWrite (e, HIGH);
digitalWrite (f, LOW);
digitalWrite (g, LOW);
digitalWrite (dp, LOW);
delay (2000);
// print 5 (afdrukken 5)
digitalWrite (a, LOW);
digitalWrite (b, HIGH);
digitalWrite (c, LOW);
digitalWrite (d, LOW);
digitalWrite (e, HIGH);
digitalWrite (f, LOW);
digitalWrite (g, LOW);
digitalWrite (dp, LOW);
delay (2000);
// print 6 (afdrukken 6)
digitalWrite (a, LOW);
digitalWrite (b, HIGH);
digitalWrite (c, LOW);
digitalWrite (d, LOW);
digitalWrite (e, LOW);
digitalWrite (f, LOW);
digitalWrite (g, LOW);
digitalWrite (dp, LOW);
delay (2000);
// print 7 (afdrukken 7)
digitalWrite (a, LOW);
digitalWrite (b, LOW);
digitalWrite (c, LOW);
digitalWrite (d, HIGH);
digitalWrite (e, HIGH);
digitalWrite (f, HIGH);
digitalWrite (g, HIGH);
digitalWrite (dp, HIGH);
delay (2000);
// print 8 (afdrukken 8)
digitalWrite (a, LOW);
digitalWrite (b, LOW);
digitalWrite (c, LOW);
digitalWrite (d, LOW);
digitalWrite (e, LOW);
digitalWrite (f, LOW);
digitalWrite (g, LOW);
digitalWrite (dp, LOW);
delay (2000);
// print 9 (afdrukken 9)
digitalWrite (a, LOW);
digitalWrite (b, LOW);
digitalWrite (c, LOW);
digitalWrite (d, LOW);
digitalWrite (e, HIGH);
digitalWrite (f, LOW);
digitalWrite (g, LOW);
digitalWrite (dp, LOW);
delay (2000);
}

Hex-toetsenbord

Doel:
4x4 Hex-toetsenbord koppelen aan een ATmega328-microcontrollermodule.
Beschrijving:
Om de ingedrukte toets weer te geven op de seriële monitor.
Benodigde hardware:
ATmega328-microcontroller ontwikkelbord en FRC-kabel.
Overzicht - Deel 4 - Hex-toetsenbord

Procedure:

  1. Verbind P1-poort en SV5 (4*4 Key Matrix) poort met behulp van een FRC-kabel zoals hierboven weergegeven.
  2. Sluit de USB-kabel aan op het bord.
  3. Open Arduino IDE. Selecteer Arduino Uno in borden en selecteer COM-poort.
  4. Schrijf nu het programma, controleer en upload het.
  5. Nadat het uploaden is voltooid, opent u de seriële monitor om de uitvoer te bekijken.
  6. Op uw seriële monitor verschijnt het nummer voor elke ingedrukte schakelaar.

Programma:

Uitvoer:

Liquid Crystal Display

Doel:
LCD-display koppelen aan ATmega328-Microcontroller module.
Beschrijving:
Bericht weergeven op het LCD-scherm.
Benodigde hardware:
ATmega328-Microcontroller Development board en FRC-kabel.
Overzicht - Deel 5 - Liquid Crystal Display

Procedure:

  1. Verbind P1-poort en SV1 (LCD 16*2 Display) poort met behulp van een FRC-kabel zoals hierboven weergegeven.
  2. Sluit de USB-kabel aan op het board.
  3. Open Arduino IDE. Selecteer Arduino Uno in boards en selecteer COM-poort.
  4. Schrijf het programma, verifieer en upload het.
  5. Nu kunt u de uitvoer op het LCD-scherm zien.

Programma:

IR (infrarood) sensor

Doel:
IR-sensor koppelen aan ATmega328-Microcontroller module.
Beschrijving:
Leren hoe waarden van een IR-sensor te lezen met behulp van ATmega328-Microcontroller.
Benodigde hardware:
ESP32-Microcontroller Development board, IR-sensor, F-F Patch Chords.
Overzicht - Deel 6 - IR-sensor

Procedure:

  1. Verbind P1-poortpinnen (5, GND, 3V) met IR-sensorpinnen (OUT, GND, 5V) met behulp van patchkabels zoals hierboven weergegeven.
  2. Sluit de USB-kabel aan op het board.
  3. Open Arduino IDE. Selecteer Arduino Uno in boards en selecteer COM-poort.
  4. Schrijf het programma, verifieer en upload het.
  5. Nu kunt u de uitvoer op de seriële monitor zien.

Programma:

Uitvoer:

RTC (Real Time Clock)

Doel:
Real Time Clock module koppelen aan ATmega328-Microcontroller module.
Beschrijving:
Datum en tijd weergeven op de seriële monitor met behulp van ATmega328 microcontroller development board.
Benodigde hardware:
ATmega328-Microcontroller Development board en RTC-batterij.
Overzicht - Deel 7 - Real Time Clock

Procedure:

  1. Sluit de USB-kabel aan op het board.
  2. Open Arduino IDE. Selecteer Arduino Uno in boards en selecteer COM-poort.
  3. Schrijf het programma, verifieer en upload het.
  4. Open de seriële monitor om de uitvoer te observeren.

Programma:

Uitvoer:

ADC

Doel:
ADC koppelen aan ATmega328-Microcontroller Modue.
Beschrijving:
Leren hoe ADC-waarden te lezen met behulp van ATmega328-Microcontroller.
Benodigde hardware:
ATmega328-Microcontroller Development board en FRC-kabel.
Overzicht - Deel 8 - ADC

Procedure:

  1. Verbind P3-poort en SV12 (ADC & Temp) poort met behulp van een FRC-kabel zoals hierboven weergegeven.
  2. Sluit de USB-kabel aan op het board.
  3. Open Arduino IDE. Selecteer Arduino Uno in boards en selecteer COM-poort.
  4. Schrijf het programma, verifieer en upload het.
  5. Open de seriële monitor om de uitvoer te observeren.

Programma:

Uitvoer:

L298 Motor

Doel:
L298 Motor koppelen aan ATmega328-Microcontroller Board.
Beschrijving:
Dit experiment laat zien hoe de L298 Motor met de klok mee en tegen de klok in te draaien met behulp van ATmega328-Microcontroller.
Benodigde hardware:
ATmega328-Microcontroller Development board, L298 Motor en FRC-kabel.
Overzicht - Deel 9 - L298 Motor

Procedure:

  1. Verbind P1-poort en SV9-poort met behulp van een FRC-kabel.
  2. Sluit de USB-kabel aan op het board.
  3. Open Arduino IDE. Selecteer DOIT ESP32 DEVKIT V1in boards en selecteer COM-poort.
  4. Schrijf het programma, verifieer en upload het.

Programma:

SD-kaart

Doel:
SD-kaart koppelen aan ATmega328-Microcontroller Board om de in de geheugenkaart opgeslagen mappen weer te geven.
Beschrijving:
De opgeslagen mappen in de SD-kaart lezen met behulp van ATmega328 microcontroller development board.
Benodigde hardware:
ATmega328-Microcontroller Development board en SD-kaart.
Overzicht - Deel 10 - SD-kaart

Procedure:

  1. Plaats de SD-kaart in de sleuf op het board.
  2. Sluit de USB-kabel aan op het board.
  3. Open Arduino IDE. Selecteer Arduino Uno in boards en selecteer COM-poort.
  4. Schrijf het programma, verifieer en upload het.
  5. Open de seriële monitor om de uitvoer te observeren.

Programma:

Uitvoer:

OLED

Doel:
OLED-display koppelen aan ATmega328-Microcontroller Board.
Beschrijving:
Bericht weergeven op het OLED-scherm.
Benodigde hardware:
ATmega328-Microcontroller Development board
Overzicht - Deel 11 - OLED

Procedure:

  1. Sluit de USB-kabel aan op het board.
  2. Open Arduino IDE. Selecteer Arduino Uno in boards en selecteer COM-poort.
  3. Schrijf het programma, verifieer en upload het.
  4. Nu kunt u de uitvoer zien die het bericht weergeeft op OLED van het ATmega328 microcontroller board.

Programma:

Temperatuursensor

Doel:
Informatie extraheren uit een temperatuursensor.
Beschrijving:
Leren hoe waarden van een temperatuursensor te lezen met behulp van een ATmega328-microcontroller.
Benodigde hardware:
ATmega328-Microcontroller Development board
Overzicht - Deel 12 - Temperatuursensor

Procedure:

  1. Verbind P2-poort en SV12-poort met behulp van een FRC-kabel zoals hierboven weergegeven
  2. Sluit de USB-kabel aan op het bord.
  3. Open Arduino IDE. Selecteer Arduino Uno in boards en selecteer COM-poort.
  4. Schrijf het programma, verifieer en upload het.
  5. Nu kunt u de uitvoer op de seriële monitor zien.

Programma:

UITVOER:

Referenties

Download handleiding

Hier kunt u de volledige pdf-versie van de handleiding downloaden. Deze kan aanvullende veiligheidsinstructies, garantie-informatie, FCC-regels, enz. bevatten.

Download Atmel ATmega328 handleiding

Beschikbare talen

Inhoudsopgave