INHOUDSOPGAWE:

VSA Arduino Onderbreek LED -helderheid: 6 stappe
VSA Arduino Onderbreek LED -helderheid: 6 stappe

Video: VSA Arduino Onderbreek LED -helderheid: 6 stappe

Video: VSA Arduino Onderbreek LED -helderheid: 6 stappe
Video: Lesson 62: Time control without delay, LED blink with millis() | Arduino Step By Step Course 2024, November
Anonim
VSA Arduino Onderbreek LED -helderheid
VSA Arduino Onderbreek LED -helderheid

In hierdie projek skep ons 'n rooi, wit en blou LED -skerm met 'n potensiometer en 'n drukknop. Dit klink maklik, maar ons sal ook onderbrekings hiervoor gebruik. As die drukknop ingedruk word, stel die waarde van die potensiometer die helderheid van die LED's in. Die benodigde materiaal sluit in:

-Arduino Uno R3

-broodbord

-mannetjie tot manlike drade

-drie LED's (rooi, wit, blou)

-potensiometer

-druk knoppie

Weerstand van 220 ohm

Stap 1: Krag en grond

Krag en grond
Krag en grond

Koppel eers die grond- en 5v -krag aan die broodbord.

Stap 2: Verbind LED's

Verbind LED's
Verbind LED's

Plaas al drie LED's op die broodbord. Verbind die katode met elkeen op die grond. Koppel 'n weerstand van 220 ohm aan die anode en koppel dit dan aan die arduino, penne 9-11.

Stap 3: Druk op die knoppie

Druk knoppie
Druk knoppie

Maak seker dat u die drukknoppie presies in die prentjie verbind. Power to power, 220ohm weerstand teen die grond, en dan die teenoorgestelde kant van pen 3. Dit sal as onderbreking gebruik word.

Stap 4: Potensiometer

Potensiometer
Potensiometer

Koppel die potensiometer net soos die drukknop, net soos op die foto. Dit sal die doel dien om die helderheid aan te pas.

Stap 5: Moontlike foute

Moontlike foute
Moontlike foute

Maak seker dat die penne aan mekaar gekoppel is, soos die kode en foto's toon, en dat hulle ooreenstem. Maak ook seker dat die anode en katode dienooreenkomstig verbind is.

Stap 6: Kode

const byte ledBlue = 11; // stel LED blou by pin 11const byte ledRed = 10; // stel LED rooi by pen 10

const byte ledWhite = 9; // stel LED wit op pen 9

const byte interruptPin = 3; // die drukknop as die onderbreking

const byte potPin = 1; // potensiometer is pen A1

vlugtige int helder; // LED -helderheid

ongeldige opstelling () {

pinMode (ledBlue, OUTPUT); // blou LED as UITGANG

pinMode (ledRed, OUTPUT); // rooi LED as UITGANG

pinMode (ledWhite, OUTPUT); // wit LED as UITGANG

pinMode (interruptPin, INPUT_PULLUP); // knoppiespen as INPUT_PULLUP

pinMode (potPin, INPUT); // potensiometerpen as INGANG

// stel die onderbreking op met invoerpen en helderheid na RISING

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

} // beëindig die opstelling

leemte -lus () {

analogWrite (ledBlue, helder); // Stel die blou LED op die vasgestelde vlak van helderheid

analogWrite (ledRed, helder); // Stel die rooi LED op die vasgestelde vlak van helderheid

analogWrite (ledWhite, helder); // Stel die wit LED in op die vasgestelde vlak van helderheid

} // eindlus

leegte () {

helder = analogRead (potPin); // Lees in waarde van potensiometer

helder = kaart (helder, 0, 1023, 0, 255); // Kaarte waardes vir LED -helderheid

} // eindiger

Aanbeveel: