Inhaltsverzeichnis:

USA Arduino Interrupt LED-Helligkeit - Gunook
USA Arduino Interrupt LED-Helligkeit - Gunook

Video: USA Arduino Interrupt LED-Helligkeit - Gunook

Video: USA Arduino Interrupt LED-Helligkeit - Gunook
Video: Arduino Tutorial #5 - 2 Taster dimmen per Interrupt eine LED mit PWM 2024, Juli
Anonim
USA Arduino Interrupt-LED-Helligkeit
USA Arduino Interrupt-LED-Helligkeit

In diesem Projekt werden wir eine rote, weiße und blaue LED-Anzeige mit einem Potentiometer und einem Druckknopf erstellen. Klingt einfach, aber wir werden dafür auch Interrupts verwenden. Wenn also der Taster gedrückt wird, wird der Wert des Potentiometers die Helligkeit der LEDs einstellen. Zu den benötigten Materialien gehören:

-Arduino Uno R3

-Breadboard

-männlich zu männlichen Drähten

-drei LEDs (rot, weiß, blau)

-Potentiometer

-Druckknopf

-220 Ohm Widerstand

Schritt 1: Strom und Masse

Strom und Masse
Strom und Masse

Verbinden Sie zuerst die Masse und die 5-V-Stromversorgung mit dem Steckbrett.

Schritt 2: LEDs anschließen

Anschließen von LEDs
Anschließen von LEDs

Legen Sie alle drei LEDs auf das Steckbrett. Verbinden Sie die Kathode für jeden mit Masse. Schließen Sie einen 220-Ohm-Widerstand an die Anode an und verbinden Sie ihn dann mit dem Arduino, Pins 9-11.

Schritt 3: Taste drücken

Druckknopf
Druckknopf

Achten Sie beim Druckknopf darauf, dass Sie ihn genau im Bild anschließen. Strom an Strom, 220 Ohm Widerstand an Masse und dann das andere Ende an Pin 3. Dies wird als Interrupt verwendet.

Schritt 4: Potentiometer

Potentiometer
Potentiometer

Schließen Sie das Potentiometer ebenso wie den Druckknopf wie auf dem Bild gezeigt an. Dies dient der Einstellung der Helligkeit.

Schritt 5: Mögliche Fehler

Mögliche Fehler
Mögliche Fehler

Stellen Sie sicher, dass die Pins wie der Code und die Bilder zeigen verbunden sind und dass sie übereinstimmen. Stellen Sie außerdem sicher, dass Anode und Kathode entsprechend angeschlossen sind.

Schritt 6: Code

const-Byte ledBlue = 11; // setzt LED blau an Pin 11const byte ledRed = 10; // setzt LED rot an Pin 10

const-Byte ledWhite = 9; // setzt LED weiß auf Pin 9

konstantes Byte InterruptPin = 3; // der Druckknopf als Unterbrechung

konstantes Byte potPin = 1; // Potentiometer ist Pin A1

flüchtig int hell; // LED-Helligkeit

Leere Einrichtung () {

pinMode (ledBlue, AUSGANG); // blaue LED als AUSGANG

pinMode (ledRot, AUSGANG); // rote LED als AUSGANG

pinMode (ledWhite, AUSGANG); // weiße LED als AUSGANG

pinMode (interruptPin, INPUT_PULLUP); // Button-Pin als INPUT_PULLUP

pinMode (potPin, EINGANG); // Potentiometerstift als INPUT

// richtet den Interrupt mit Eingangspin und Helligkeit auf RISING ein

attachInterrupt(digitalPinToInterrupt(interruptPin), Licht, RISING);

} // Setup beenden

Leere Schleife () {

analogWrite (ledBlue, hell); // Setzt die blaue LED auf die eingestellte Helligkeit

analogWrite (ledRot, hell); // Setzt die rote LED auf die eingestellte Helligkeit

analogWrite (ledWhite, hell); // Setzt die weiße LED auf die eingestellte Helligkeit

} // Schleife beenden

Leeres Licht () {

hell = analogRead (potPin); // Liest den Wert vom Potentiometer ein

hell = Karte (hell, 0, 1023, 0, 255); // Bildet Werte für LED-Helligkeit ab

} // heller enden

Empfohlen: