Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
În acest proiect, vom crea un afișaj LED roșu, alb și albastru cu un potențiometru și un buton. Sună ușor, dar vom folosi și întreruperi pentru aceasta. Deci, atunci când butonul este apăsat, valoarea din potențiometru va seta luminozitatea LED-urilor. Materialele necesare includ:
-Arduino Uno R3
-placă de pâine
-siruri masculine la masculine
- trei LED-uri (roșu, alb, albastru)
-potentiometru
-apasa butonul
Rezistor -220ohm
Pasul 1: alimentare și împământare
Mai întâi, conectați pământul și alimentarea de 5V la panou.
Pasul 2: Conectarea LED-urilor
Așezați toate cele trei LED-uri pe panou. Conectați catodul la sol pentru fiecare. Conectați un rezistor de 220 ohmi la anod și apoi conectați-l la arduino, pinii 9-11.
Pasul 3: Apăsați butonul
Pentru buton, asigurați-vă că îl conectați exact în imagine. Putere la putere, rezistență de 220ohm la masă și apoi capăt opus pinului 3. Acesta va fi folosit ca întrerupere.
Pasul 4: Potențiometru
La fel ca butonul de apăsare, conectați potențiometrul la fel cum arată imaginea. Acest lucru va servi scopului de reglare a luminozității.
Pasul 5: Posibile erori
Asigurați-vă că pinii sunt conectați așa cum arată codul și imaginile și că se potrivesc. De asemenea, asigurați-vă că anodul și catodul sunt conectați corespunzător.
Pasul 6: Cod
octet const ledBlue = 11; // setează LED-ul albastru la pinul 11 byst constant ledRed = 10; // setează LED-ul roșu la pinul 10
octet const ledWhite = 9; // setează LED-ul alb la pinul 9
const byte interruptPin = 3; // butonul de apăsare ca întrerupere
octet const potPin = 1; // potențiometrul este pinul A1
volatil int luminos; // Luminozitate LED
configurare nulă () {
pinMode (ledBlue, OUTPUT); // LED albastru ca OUTPUT
pinMode (ledRed, OUTPUT); // LED roșu ca IEȘIRE
pinMode (ledWhite, OUTPUT); // LED alb ca OUTPUT
pinMode (interruptPin, INPUT_PULLUP); // fixați butonul ca INPUT_PULLUP
pinMode (potPin, INPUT); // pinul potențiometrului ca INPUT
// setează întreruperea cu pinul de intrare și luminozitatea la RISING
attachInterrupt (digitalPinToInterrupt (interruptPin), light, RISING);
} // încheie configurarea
bucla nulă () {
analogWrite (ledBlue, luminos); // Setează LED-ul albastru la nivelul setat de luminozitate
analogWrite (ledRed, luminos); // Setează LED-ul roșu la nivelul setat de luminozitate
analogWrite (ledWhite, luminos); // Setează LED-ul alb la nivelul setat de luminozitate
} // sfârșitul buclei
void light () {
luminos = analogRead (potPin); // Citește valoarea din potențiometru
luminos = hartă (luminos, 0, 1023, 0, 255); // Hărți valori pentru luminozitatea LED-urilor
} // sfârșește mai strălucitor