Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Tässä projektissa luomme punaisen, valkoisen ja sinisen LED -näytön, jossa on potentiometri ja painike. Kuulostaa helpolta, mutta käytämme myös keskeytyksiä tähän. Joten kun painiketta painetaan, potentiometrin arvo asettaa LEDien kirkkauden. Tarvittavia materiaaleja ovat:
-Arduino Uno R3
-leipälauta
-uros -urosjohdot
-kolme LEDiä (punainen, valkoinen, sininen)
-potentiometri
-paina nappia
-220 ohmin vastus
Vaihe 1: Virta ja maadoitus
Kytke ensin maadoitus ja 5 voltin virta leipälautaan.
Vaihe 2: LED -valojen liittäminen
Aseta kaikki kolme LEDiä leipälevylle. Liitä katodi maahan jokaisen osalta. Liitä 220 ohmin vastus anodiin ja kytke se sitten arduinoon, nastat 9-11.
Vaihe 3: Painike
Varmista, että liität painonapin täsmälleen kuvaan. Virransyöttö, 220 ohmin vastus maahan ja sitten vastakkainen pää nastaan 3. Tätä käytetään keskeytyksenä.
Vaihe 4: Potentiometri
Liitä potentiometri aivan kuten painike, kuten kuvassa. Tämä palvelee kirkkauden säätämistä.
Vaihe 5: Mahdolliset virheet
Varmista, että nastat on kytketty kuten koodi ja kuvat osoittavat ja että ne vastaavat toisiaan. Varmista myös, että anodi ja katodi on kytketty vastaavasti.
Vaihe 6: Koodi
const tavu ledBlue = 11; // asettaa LEDin siniseksi nastassa 11const byte ledRed = 10; // asettaa LEDin punaiseksi nastassa 10
const tavu ledWhite = 9; // asettaa LEDin valkoiseksi nastaan 9
const tavu keskeyttääPin = 3; // painike keskeytyksenä
const tavu potPin = 1; // potentiometri on nasta A1
haihtuva kirkas; // LED -kirkkaus
void setup () {
pinMode (ledBlue, OUTPUT); // sininen LED OUTPUT
pinMode (ledPunainen, LÄHTÖ); // punainen LED OUTPUT
pinMode (ledWhite, OUTPUT); // valkoinen LED OUTPUT
pinMode (interruptPin, INPUT_PULLUP); // painikkeen nasta INPUT_PULLUP
pinMode (potPin, INPUT); // potentiometrin nasta INPUT
// asettaa keskeytyksen tulonapilla ja kirkkaudella RISING
attachInterrupt (digitalPinToInterrupt (interruptPin), valo, RISING);
} // lopeta asennus
void loop () {
analogWrite (ledBlue, kirkas); // Asettaa sinisen LED -valon asetetulle kirkkaustasolle
analogWrite (ledPunainen, kirkas); // Asettaa punaisen LED -valon asetetulle kirkkaustasolle
analogWrite (ledWhite, kirkas); // Asettaa valkoisen LED -valon asetetulle kirkkaustasolle
} // lopetuslenkki
tyhjä valo () {
kirkas = analoginenLue (potPin); // Lukee arvon potentiometristä
kirkas = kartta (kirkas, 0, 1023, 0, 255); // Kartoittaa LED -kirkkauden arvot
} // loppu kirkkaammin