PHP Dashboard für HmIP Smartmeter
09.10.2024
Elektronik | Funk | Software
Der Technik-Blog
Der ATMega328 ein Mikrocontroller, der auch für das Arduino Uno Board verwendet wird. Dieser kann über den Arduino IDE mit einem vereinfachten C bzw. über Amtel Studio direkt in C programmiert werden. Der Mikrocontroller hat 20 I/O Pins, wovon 6 Pins auch analoge Werte einlesen können. Über vier Pins können auch PWM Signale erzeugt werden. Die restlichen 8 Pins sind für die Stromversorgung, den Schwingquarz (Taktgeber) und den Reset-Pin.
Es gibt bei beiden Varianten Vor- und Nachteile. Für Anfänger wird definitiv das Arduino Uno Board empfohlen, da die Ansteuerung der Pins wesentlich leichter ist als bei einem Stand Alone Mikrocontroller. Wer sich mit dem Arduino bereits gut auskennt, kann auch den Mikrocontroller ohne Board betreiben. Neben der Stromversorgung wird lediglich noch ein Taktgeber empfohlen, um den Chip zu betreiben. Außerdem unterscheidet sich die Pinbelegung zwischen dem Arduino Board und dem ATMega328 in der Software. Das folgende Bild zeigt die Pinbelegung vom ATMega328 und die vereinfachte Pinbelegung vom Arduino Board.
Der ATMega328 hat die I/O Pins auf drei Ports aufgeteilt. Port B und D sind digitale Ein- und Ausgänge. Der gesamte Port C unterstützt die digitalen I/Os auch, kann zusätzlich noch analoge Werte einlesen (0 bis 5 Volt). Um in C auf einen einzelnen Pin zugreifen zu können, muss der richtige Port gewählt werden und anschließend der Pin auf dem Port definiert werden. Nachfolgend gibt es eine Tabelle, die zeigt, wie die Pins und Ports adressiert sind.
PORTB | PIN | REGISTER | BIN |
---|---|---|---|
14 | PORTB0 | 0b000001 | |
15 | PORTB1 | 0b000010 | |
16 | PORTB2 | 0b000100 | |
17 | PORTB3 | 0b001000 | |
18 | PORTB4 | 0b010000 | |
19 | PORTB0 | 0b100000 | |
PORTC | PIN | REGISTER | BIN |
23 | PORTC0 | 0b000001 | |
24 | PORTC1 | 0b000010 | |
25 | PORTC2 | 0b000100 | |
26 | PORTC3 | 0b001000 | |
27 | PORTC4 | 0b010000 | |
28 | PORTC5 | 0b100000 | |
PORTD | PIN | REGISTER | BIN |
2 | PORTD0 | 0b00000001 | |
3 | PORTD1 | 0b00000010 | |
4 | PORTD2 | 0b00000100 | |
5 | PORTD3 | 0b00001000 | |
6 | PORTD4 | 0b00010000 | |
11 | PORTD5 | 0b00100000 | |
12 | PORTD6 | 0b01000000 | |
13 | PORTD7 | 0b10000000 |
In diesem Artikel zeigen wir, wie mit dem ATMega328 ein 16x2 Zeichen LCD Display mit 4-Bit angesteuert wird. Programmiert wird alles in C mit dem Amtel Studio
WeiterlesenIn diesem Artikel zeigen wir, wie eine LED mit dem ATMega328 gesteuert wird. Programmiert wird alles in C++ mit Amtel Studio
WeiterlesenAEQ-WEB © 2015-2024 All Right Reserved