Arduino Schaltung und Programmierung mit AVR-Assembly
Inhaltsverzeichnis
- Einführung
- Verdrahtung der Schaltung
- Programmierung des Arduino
- Test und Überprüfung
Einführung
In diesem Artikel werden wir uns mit der Verdrahtung und Programmierung von allgemeinen Zweck Input/Output-Schaltungen auf einem Arduino mit dem Atmega328-Chip unter Verwendung von AVR-Assembly befassen. Zunächst werden wir die Schaltung auf einem Breadboard aufbauen und die einzelnen Komponenten erklären. Anschließend werden wir den Arduino programmieren, um die gewünschten Funktionen zu erreichen. Am Ende führen wir einen Test durch, um sicherzustellen, dass alles wie erwartet funktioniert.
Verdrahtung der Schaltung
Um die gewünschte I/O-Schaltung aufzubauen, benötigen wir einige Komponenten. Hier ist eine Liste der Komponenten, die wir verwenden werden:
- Rotes LED
- Drucktaste
- 220 Ohm Widerstand
- 1k Ohm Widerstand
- Jumperkabel
Zuerst werden wir die Drucktaste auf dem Breadboard platzieren. Die Füße der Drucktaste sollten in die entsprechenden Schlitze auf dem Breadboard greifen, um eine sichere Verbindung herzustellen. Ein Bein der Drucktaste wird mit Terminal 15 und das andere Bein mit Terminal 17 verbunden.
Als nächstes verbinden wir das rote LED mit dem Breadboard. Das positive Bein des LED wird in Terminal 22 gesteckt und das negative Bein wird mit dem 220 Ohm Widerstand verbunden, der wiederum in das Erdungs-Terminal des Breadboards gesteckt wird.
Um die Schaltung abzuschließen, verbinden wir das andere Ende des 1k Ohm Widerstands mit Terminal 15, das mit der Drucktaste verbunden ist. Das andere Ende des Widerstands wird mit dem Erdungsterminal des Breadboards verbunden.
Abschließend verbinden wir das Arduino mit der Schaltung. Das rote Kabel wird mit dem 5-Volt-Anschluss des Arduinos verbunden, das orangefarbene Kabel wird mit dem Pin 8 (Port B Pin 0) des Arduinos verbunden, das grüne Kabel wird mit dem Pin 7 (Port D Pin 7) des Arduinos verbunden und das schwarze Kabel wird mit dem Erdungsanschluss des Arduinos verbunden.
Programmierung des Arduino
Nachdem die Schaltung erfolgreich verdrahtet ist, können wir mit der Programmierung des Arduino fortfahren. Wir werden AVR-Assembly verwenden, um die gewünschten Funktionen zu implementieren.
Zunächst müssen wir den Eingangs-Pin konfigurieren. Dazu müssen wir das Datenrichtungsregister (DDR) für den entsprechenden Pin setzen. In diesem Fall ist es Port B Pin 0 (Port B0). Wir setzen das DDRB-Register auf 0, um den Pin als Eingang zu konfigurieren.
Als nächstes müssen wir den Ausgang für die LED konfigurieren. Wir setzen das Datenrichtungsregister (DDR) für Port D Pin 7 (Port D7) auf 1, um den Pin als Ausgang zu konfigurieren. Um die LED auszuschalten, setzen wir das Port D-Register auf 0. Um die LED einzuschalten, setzen wir das Port D-Register auf 1.
Dann können wir eine Schleife einrichten, um den Eingang zu überwachen und die LED entsprechend zu steuern. Wir prüfen den Zustand des Eingangspins und basierend darauf entscheiden wir, ob die LED ein- oder ausgeschaltet werden soll. Wenn der Pin niedrig ist, schalten wir die LED aus. Wenn der Pin hoch ist, schalten wir die LED ein. Wir wiederholen diesen Schleifenvorgang, um den Eingang kontinuierlich zu überwachen.
Test und Überprüfung
Nachdem der Arduino richtig programmiert ist und die Schaltung ordnungsgemäß verdrahtet ist, können wir einen Test durchführen, um sicherzustellen, dass alles wie erwartet funktioniert. Wenn der Taster gedrückt wird, sollte das rote LED leuchten. Wenn der Taster losgelassen wird, sollte das LED erlöschen.
Zusammenfassung
In diesem Artikel haben wir gelernt, wie man allgemeine Zweck Input/Output-Schaltungen auf einem Arduino mit dem Atmega328-Chip unter Verwendung von AVR-Assembly verdrahtet und programmiert. Die Schaltung erlaubt es uns, den Zustand eines Eingangspins zu überwachen und die Ausgabe entsprechend zu steuern. Dies kann für eine Vielzahl von Projekten und Anwendungen nützlich sein.
Pro
- Einfache Verdrahtung und Programmierung
- Geringer Stromverbrauch
- Vielseitige Anwendungsmöglichkeiten
Con
- Erfordert Grundkenntnisse in der Elektronik und Programmierung
- Begrenzte Anzahl von Pins auf dem Arduino