LoRa Packet Forwarder JSON Daten
25.12.2024
Elektronik | Funk | Software
Der Technik-Blog
Zu diesem Artikel gibt es auch ein Video auf Youtube: ATMega328 digitalen Input (Taster) einlesen - Standalone AVR, C
In diesem Artikel geht es um das Einlesen digitaler Inputs. Dabei befindet sich auf PORTB0 ein Taster, der mit einem 10KOhm Widerstand gegen die Masse geschaltet ist. Der Taster selbst wird mit 5 Volt versorgt und lässt diese bei der Betätigung auch durch. Auf PORTB1 ist eine LED mit einem 220-Ohm-Vorwiderstand angeschlossen. Am Mikrocontroller befindet sich noch standardmäßig der 16 Mhz Oszillator als Taktgeber. Die restlichen Leitungen sind für den AVRISP Programmer und für die externe Stromversorgung.
Die Software wurde in C mit Amtel Studio geschrieben. Am Beginn vom Code wird die Taktfrequenz vom Oszillator und die benötigte Bibliothek deklariert. Vor dem Hauptprogramm die Ports für den digitalen Eingang und Ausgang definiert. Der Code läuft in einer Schleife und fragt den Status vom Eingang ab. Ist der Eingang auf High, dann wird die LED für 5 Sekunden eingeschaltet. Wenn der Eingang auf LOW ist oder der Taster nicht gedrückt wird, so bleibt die LED aus.
#define F_CPU 16000000UL #include <avr/io.h> #include <util/delay.h> int main(void) { DDRB |= (1 << DDB1); //Define output DDRB &= ~(1 << DDB0); //Define input while(1) { if(PINB & (1<<PINB0) == 1){ //If button is pressed PORTB |= (1<<PORTB1); //Turn LED on _delay_ms(5000); //Wait 5 seconds } PORTB &= ~ (1<<PORTB1); //Turn LED off } }
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