Atmel ATmega328 Handbuch

Einleitung

Das ATMGEA328 IoT Trainer Kit verfügt über wesentliche Entwicklungsmerkmale in einem Plug-and-Play-Design, das einfache Verbindungen ermöglicht und Studenten, Hobbyisten, Enthusiasten und Fachleuten hilft, sich stärker auf die Programm-/Anwendungsentwicklung zu konzentrieren. Das ATMGEA328 IoT Trainer Kit ist mit On-Board-IOs, Kommunikationsschnittstellen und Peripheriegeräten ausgestattet. Es ist wirklich einfach, Schaltungen ohne Löten zu entwerfen, zu experimentieren und zu testen. Es wird in vielen Bildungseinrichtungen und F&E-Laboren auf der ganzen Welt eingesetzt.

  • Schalten Sie die Versorgungsspannung dieses Produkts sowie der angeschlossenen Ger**SIGNauml;te vor dem Anschließen oder Trennen aus.
  • Verwenden Sie bei der Arbeit immer isoliertes Werkzeug.
  • Berühren Sie keine Komponenten der Platine mit bloßen Händen, während das Gerät eingeschaltet ist.

Merkmale

  • Plug & Play Schnittstellenkonnektivität.
  • Professionelles EMI/RFI-konformes PCB-Layout-Design
  • Modulares Blockdesign ermöglicht einfachen Zugang & schnelles Prototyping
  • FRC-Konnektivitätsfunktionen minimieren Verbindungsfehler.
  • Hochwertige Platine mit Holzgehäuse.
  • 8 Schnittstellen-LEDs.
  • 1 * 4 Menü-Tastatur.
  • 4 * 4 Matrix-Tastatur.
  • RS232, RS485, USB Kommunikationsport.
  • 7-Segment Multiplex-Anzeige.
  • 16*2 LCD & OLED Display
  • ADC & DAC Karte.
  • 8 Bit 4 Port IO.
  • On-Board Wi-Fi/Bluetooth Konnektivität
  • 3.3 bis 5V Pegelwandler.
  • Stromversorgung 3.3V und 5V
  • SD-KARTEN-Schnittstelle.
  • RTC & EEPROM Schnittstelle.
  • DC Motor/ Schrittmotor Treiber.
  • Relais, Summer.
  • 1x Temperatursensor.
  • 3x Analog Test POT.

ATmega328 Board Beschreibung

Übersicht - Teil 1

  1. Stromversorgung
  2. Netzschalter
  3. Spannungsregler
  4. OLED Display
  5. Digitaler Eingabeschalter
  6. ADC (Variabler Widerstand POT)
  7. Temperatursensor LM35
  8. RTC
  9. L298 Treiber
  10. Logikpegelwandler
  11. Summer
  12. Relais
  13. SD-Kartenhalter
  14. Jumper-Einstellungen für I2C
  15. EEPROM
  16. Jumper-Einstellungen für EEPROM
  17. 1*4 Tastaturschalter
  18. RDL BUS FRC Stecker
  19. 4*4 Matrix-Tastatur
  20. ATMEGA328 Controller
  21. 7-Segment-Anzeige
  22. 2*4 LEDs
  23. Jumper-Einstellungen für UART-Auswahlpins
  24. 16*2 LCD Display
  25. Wi-Fi/XBEE Modul
  26. RD485 Modul
  27. On-Board ISP Programmer
  28. Jumper-Einstellungen für UART TTL
  29. USB-Port
  30. DB9 Serieller Buchsenstecker
  31. Betriebsanzeige

ATmega328 Pinbelegung

ATmega328 Pinbelegung

Lieferumfang

  • Entwicklungsboard mit Holzgehäuse
  • USB-Kabel
  • 12V 2A Adapter
  • FRC-Kabel

HINWEIS: Das XBee Modul ist nicht im Lieferumfang enthalten.

Anleitung zur Auswahl des ATmega328 Boards in der Arduino IDE

Installation des ATmega328 Boards in der Arduino IDE

Bevor Sie mit dieser Methode beginnen, stellen Sie sicher, dass Sie die neueste Version der Arduino IDE 1.8.19 auf Ihrem Computer installiert haben.
Falls nicht, installieren Sie sie von https://www.arduino.cc/en/software und fahren Sie dann mit diesem Tutorial fort.

  1. Schließen Sie das ESP32 Trainer Kit an Ihren Computer an. Öffnen Sie Ihre Arduino IDE und folgen Sie diesen Schritten:
  2. Wählen Sie Ihr Board im Menü Tools (Werkzeuge) > Board (Platine) (es ist das Arduino Uno)

Wählen Sie den Port aus (wenn Sie den COM-Port in Ihrer Arduino IDE nicht sehen, müssen Sie die FTDI-Treiber installieren: https://ftdichip.com/drivers/d2xx-drivers/

Bibliotheken installieren

  1. Um eine neue Bibliothek in Ihre Arduino IDE zu installieren, öffnen Sie die IDE und klicken Sie auf das Menü "Sketch" (Sketch) und dann auf "Include Library" (Bibliothek einbinden) > "Manage Libraries" (Bibliotheken verwalten).
  2. Dann öffnet sich der Bibliotheksmanager und Sie finden eine Liste von Bibliotheken, die bereits installiert oder zur Installation bereit sind. In diesem Beispiel werden wir die RTC-Bibliothek (d.h. rtclib) installieren. Geben Sie den Bibliotheksnamen ein, um sie zu finden, klicken Sie darauf und wählen Sie dann die Version der Bibliothek, die Sie installieren möchten. Manchmal ist nur eine Version der Bibliothek verfügbar. Klicken Sie dann auf "install" (installieren). Wenn Sie die Bibliothek nicht finden, siehe "Blinking an LED" (Eine LED blinken lassen) > "Program" (Programm).
  3. Warten Sie, bis die IDE die neue Bibliothek installiert hat. Das Herunterladen kann je nach Verbindungsgeschwindigkeit einige Zeit in Anspruch nehmen. Sobald es abgeschlossen ist, sollte ein Installed (Installiert) Tag neben der RTC-Bibliothek erscheinen. Klicken Sie dann auf "close" (schließen).

Eine weitere Methode zur Installation und zum Import einer .zip-Bibliothek

  1. Gehen Sie zu Google, suchen Sie nach der Bibliothek (z.B. rtclib), die Sie installieren möchten, klicken Sie auf "download ZIP" (ZIP herunterladen).
    Bibliotheken installieren - Schritt 1
  2. In der Arduino IDE gehen Sie zu "Sketch" (Sketch) > "Include Library" (Bibliothek einbinden) > "Add .ZIP Library" (ZIP-Bibliothek hinzufügen).
    Bibliotheken installieren - Schritt 2
  3. Wählen Sie die Bibliothek aus, die Sie hinzufügen möchten. Gehen Sie zum heruntergeladenen Speicherort der .zip-Datei und öffnen Sie sie.
    Bibliotheken installieren - Schritt 3
  1. Keypad Bibliothek (keypad.h) HIER HERUNTERLADEN
  2. LCD Bibliothek (LiquidCrystal.h) HIER HERUNTERLADEN
  3. RTC Bibliotheken
    (rtclib) HIER HERUNTERLADEN
    (Wire.h) HIER HERUNTERLADEN
  4. SD-Karten-Bibliotheken
    (FS.h) HIER HERUNTERLADEN
    (SD.h) HIER HERUNTERLADEN
    (SPI.h) HIER HERUNTERLADEN
  5. OLED Bibliotheken
    (Adafruit_GFX.h) HIER HERUNTERLADEN
    (Adafruit_SSD1306.h) HIER HERUNTERLADEN

LED blinken lassen

Ziel:
Anschluss von LEDs an einen ATmega328-Mikrocontroller.
Beschreibung:
Erlernen der Programmierung eines ATmega328-Mikrocontrollers, um eine LED zum Blinken zu bringen, indem LEDs an seine digitalen Pins angeschlossen werden.
Hardware-Anforderung:
ATmega328 IoT Development Kit und FRC-Kabel.
Übersicht - Teil 2 - LED blinken lassen

Vorgehensweise:

  1. Verbinden Sie den P1-Port und den SV2 (LED)-Port mit dem FRC-Kabel, wie oben gezeigt.
  2. Verbinden Sie das USB-Kabel mit der Platine.
  3. Öffnen Sie die Arduino IDE. Wählen Sie Arduino Uno bei den Boards und wählen Sie den COM-Port aus.
  4. Schreiben Sie nun das Programm, überprüfen Sie es und laden Sie es hoch.
  5. Nun können Sie sehen, wie die LED auf dem ATmega328-Entwicklungsboard blinkt.

Programm:
const int L1=2, L2=3, L3=4, L4=5, L5=6, L6=7, L7=8, L8=9; //Initialisieren der LED-Pins
void setup ()
{
pinMode (L1, OUTPUT); // Alle Pins des Port P1 als Ausgang setzen
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);
}

Sieben-Segment-Anzeigen

Ziel:
Schnittstellenverbindung des ATmega328-Mikrocontrollers mit einer Sieben-Segment-Anzeige.
Beschreibung:
Anzeige von Zahlen auf einer 7-Segment-Anzeige.
Benötigte Hardware:
ESP32-Mikrocontroller-Entwicklungsboard und FRC-Kabel.
Übersicht - Teil 3 - Sieben-Segment-Anzeigen

Vorgehensweise:

  1. Verbinden Sie den P1-Port und den SV4 (Data)-Port sowie den P2-Port und den SV3 (Select)-Port mit einem FRC-Kabel, wie oben gezeigt.
  2. Verbinden Sie das USB-Kabel mit dem Board.
  3. Öffnen Sie die Arduino IDE. Wählen Sie Arduino Uno bei den Boards und wählen Sie den COM-Port aus.
  4. Schreiben Sie nun das Programm, überprüfen Sie es und laden Sie es hoch.
  5. Nun sehen Sie, dass die Zahl auf den Sieben-Segment-Anzeigen des ATmega328-Entwicklungsboards erscheint.

Programm:
const int sel1=10, sel2=11, sel3=12, sel4=13; // Initialisierung der Auswahl-Pins - Port P2
const int a=2, b=3, c=4, d=5, e=6, f=7, g=8, dp=9; // Initialisierung der Daten-Pins - Port P1
void setup ()
{
pinMode (sel1, OUTPUT); // Deklaration der Auswahl-Pins als Output
pinMode (sel2, OUTPUT);
pinMode (sel3, OUTPUT);
pinMode (sel4, OUTPUT);
digitalWrite (sel1, LOW); // Auswahl aller 4 Ziffern der 7-Segment-Anzeige durch Setzen auf LOW
digitalWrite (sel2, LOW);
digitalWrite (sel3, LOW);
digitalWrite (sel4, LOW);
pinMode (a, OUTPUT); // Deklaration der Daten-Pins 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 ()
{
// 0 anzeigen
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);
// 1 anzeigen
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);
// 2 anzeigen
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);
// 3 anzeigen
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);
// 4 anzeigen
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);
// 5 anzeigen
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);
// 6 anzeigen
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);
// 7 anzeigen
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);
// 8 anzeigen
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);
// 9 anzeigen
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-Tastatur

Ziel:
Verbindung einer 4x4 Hex-Tastatur mit dem ATmega328-Mikrocontroller-Modul herstellen.
Beschreibung:
Anzeige der gedrückten Taste auf dem seriellen Monitor.
Benötigte Hardware:
ATmega328-Mikrocontroller-Entwicklungsboard und FRC-Kabel.
Übersicht - Teil 4 - Hex-Tastatur

Vorgehensweise:

  1. Verbinden Sie den P1-Port und den SV5 (4x4 Tastenmatrix)-Port mit einem FRC-Kabel, wie oben gezeigt.
  2. Verbinden Sie das USB-Kabel mit dem Board.
  3. Öffnen Sie die Arduino IDE. Wählen Sie Arduino Uno bei den Boards und wählen Sie den COM-Port aus.
  4. Schreiben Sie nun das Programm, überprüfen Sie es und laden Sie es hoch.
  5. Nach dem Hochladen öffnen Sie den seriellen Monitor, um die Ausgabe zu beobachten.
  6. Auf Ihrem seriellen Monitor erscheint die Nummer für jeden gedrückten Schalter.

Programm:

Ausgabe:

Flüssigkristallanzeige

Ziel:
Anschluss eines LCD-Displays an das ATmega328-Mikrocontroller-Modul.
Beschreibung:
Die Meldung auf dem LCD-Bildschirm anzeigen.
Benötigte Hardware:
ATmega328-Mikrocontroller-Entwicklungsplatine und FRC-Kabel.
Übersicht - Teil 5 - Flüssigkristallanzeige

Vorgehensweise:

  1. Verbinden Sie den P1-Port und den SV1(LCD 16*2 Display)-Port mit einem FRC-Kabel, wie oben gezeigt.
  2. Verbinden Sie das USB-Kabel mit der Platine.
  3. Öffnen Sie die Arduino IDE. Wählen Sie Arduino Uno bei den Boards und wählen Sie den COM-Port.
  4. Schreiben, überprüfen und laden Sie das Programm hoch.
  5. Nun können Sie die Ausgabe auf dem LCD sehen.

Programm:

IR (Infrarot) Sensor

Ziel:
Anschluss eines IR-Sensors an das ATmega328-Mikrocontroller-Modul.
Beschreibung:
Lernen, wie man Werte von einem IR-Sensor mit dem ATmega328-Mikrocontroller liest.
Benötigte Hardware:
ESP32-Mikrocontroller-Entwicklungsplatine, IR-Sensor, F-F Patchkabel.
Übersicht - Teil 6 - IR-Sensor

Vorgehensweise:

  1. Verbinden Sie die P1-Port-Pins (5, GND, 3V) mit den IR-Sensor-Pins (OUT, GND, 5V) mittels Patchkabel, wie oben gezeigt.
  2. Verbinden Sie das USB-Kabel mit der Platine.
  3. Öffnen Sie die Arduino IDE. Wählen Sie Arduino Uno bei den Boards und wählen Sie den COM-Port.
  4. Schreiben, überprüfen und laden Sie das Programm hoch.
  5. Nun können Sie die Ausgabe auf dem seriellen Monitor sehen.

Programm:

Ausgabe:

RTC (Echtzeituhr)

Ziel:
Anschluss eines Echtzeituhr-Moduls an das ATmega328-Mikrocontroller-Modul.
Beschreibung:
Datum und Uhrzeit auf dem seriellen Monitor mithilfe der ATmega328-Mikrocontroller-Entwicklungsplatine anzeigen.
Benötigte Hardware:
ATmega328-Mikrocontroller-Entwicklungsplatine und RTC-Batterie.
Übersicht - Teil 7 - Echtzeituhr

Vorgehensweise:

  1. Verbinden Sie das USB-Kabel mit der Platine.
  2. Öffnen Sie die Arduino IDE. Wählen Sie Arduino Uno bei den Boards und wählen Sie den COM-Port.
  3. Schreiben, überprüfen und laden Sie das Programm hoch.
  4. Öffnen Sie den seriellen Monitor, um die Ausgabe zu beobachten.

Programm:

Ausgabe:

ADC

Ziel:
Anschluss des ADC an das ATmega328-Mikrocontroller-Modul.
Beschreibung:
Lernen, wie man ADC-Werte mit dem ATmega328-Mikrocontroller liest.
Benötigte Hardware:
ATmega328-Mikrocontroller-Entwicklungsplatine und FRC-Kabel.
Übersicht - Teil 8 - ADC

Vorgehensweise:

  1. Verbinden Sie den P3-Port und den SV12(ADC & Temp)-Port mit einem FRC-Kabel, wie oben gezeigt.
  2. Verbinden Sie das USB-Kabel mit der Platine.
  3. Öffnen Sie die Arduino IDE. Wählen Sie Arduino Uno bei den Boards und wählen Sie den COM-Port.
  4. Schreiben, überprüfen und laden Sie das Programm hoch.
  5. Öffnen Sie den seriellen Monitor, um die Ausgabe zu beobachten.

Programm:

Ausgabe:

L298 Motor

Ziel:
Anschluss des L298 Motors an die ATmega328-Mikrocontroller-Platine.
Beschreibung:
Dieses Experiment zeigt, wie der L298 Motor im Uhrzeigersinn und gegen den Uhrzeigersinn mit dem ATmega328-Mikrocontroller gedreht wird.
Benötigte Hardware:
ATmega328-Mikrocontroller-Entwicklungsplatine, L298 Motor und FRC-Kabel.
Übersicht - Teil 9 - L298 Motor

Vorgehensweise:

  1. Verbinden Sie den P1-Port und den SV9-Port mit einem FRC-Kabel.
  2. Verbinden Sie das USB-Kabel mit der Platine.
  3. Öffnen Sie die Arduino IDE. Wählen Sie DOIT ESP32 DEVKIT V1 bei den Boards und wählen Sie den COM-Port.
  4. Schreiben, überprüfen und laden Sie das Programm hoch.

Programm:

SD-Karte

Ziel:
Anschluss einer SD-Karte an die ATmega328-Mikrocontroller-Platine, um die auf der Speicherkarte gespeicherten Verzeichnisse aufzulisten.
Beschreibung:
Die auf der SD-Karte gespeicherten Verzeichnisse mit der ATmega328-Mikrocontroller-Entwicklungsplatine lesen.
Benötigte Hardware:
ATmega328-Mikrocontroller-Entwicklungsplatine und SD-Karte.
Übersicht - Teil 10 - SD-Karte

Vorgehensweise:

  1. Stecken Sie die SD-Karte in den dafür vorgesehenen Slot auf der Platine.
  2. Verbinden Sie das USB-Kabel mit der Platine.
  3. Öffnen Sie die Arduino IDE. Wählen Sie Arduino Uno bei den Boards und wählen Sie den COM-Port.
  4. Schreiben, überprüfen und laden Sie das Programm hoch.
  5. Öffnen Sie den seriellen Monitor, um die Ausgabe zu beobachten.

Programm:

Ausgabe:

OLED

Ziel:
Anschluss eines OLED-Displays an die ATmega328-Mikrocontroller-Platine.
Beschreibung:
Nachricht auf dem OLED-Bildschirm anzeigen.
Benötigte Hardware:
ATmega328-Mikrocontroller-Entwicklungsplatine
Übersicht - Teil 11 - OLED

Vorgehensweise:

  1. Verbinden Sie das USB-Kabel mit der Platine.
  2. Öffnen Sie die Arduino IDE. Wählen Sie Arduino Uno bei den Boards und wählen Sie den COM-Port.
  3. Schreiben, überprüfen und laden Sie das Programm hoch.
  4. Nun können Sie die Ausgabe sehen, die die Nachricht auf dem OLED der ATmega328-Mikrocontroller-Platine anzeigt.

Programm:

Temperatursensor

Ziel:
Informationen von einem Temperatursensor zu extrahieren.
Beschreibung:
Lernen, wie man Werte von einem Temperatursensor mit dem ATmega328-Mikrocontroller ausliest.
Benötigte Hardware:
ATmega328-Mikrocontroller Entwicklungsboard
Übersicht - Teil 12 - Temperatursensor

Vorgehensweise:

  1. Verbinden Sie den P2-Port und den SV12-Port mit einem FRC-Kabel wie oben gezeigt.
  2. Verbinden Sie das USB-Kabel mit dem Board.
  3. Öffnen Sie die Arduino IDE. Wählen Sie Arduino Uno unter den Boards und den COM-Port aus.
  4. Schreiben Sie das Programm, verifizieren Sie es und laden Sie es hoch.
  5. Jetzt können Sie die Ausgabe auf dem seriellen Monitor sehen.

Programm:

AUSGABE:

Referenzen

Anleitung herunterladen

Hier können Sie die vollständige PDF-Version des Handbuchs herunterladen. Sie kann zusätzliche Sicherheitsanweisungen, Garantieinformationen, FCC-Regeln usw. enthalten.

Atmel ATmega328 Handbuch herunterladen

Verfügbare Sprachen

Inhaltsverzeichnis