Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
In dit project zullen we een rood, wit en blauw LED-display maken met een potentiometer en een drukknop. Klinkt eenvoudig, maar ook hiervoor gaan we interrupts gebruiken. Dus wanneer de drukknop wordt ingedrukt, zal de waarde van de potentiometer de helderheid van de LED's instellen. De benodigde materialen zijn onder andere:
-Arduino Uno R3
-broodplank
-mannelijke naar mannelijke draden
-drie LED's (rood, wit, blauw)
-potentiometer
-druk op de knop
-220ohm weerstand
Stap 1: Stroom en aarde
Sluit eerst de grond en 5v stroom aan op het breadboard.
Stap 2: LED's aansluiten
Plaats alle drie de LED's op het breadboard. Verbind de kathode voor elk met de grond. Sluit een weerstand van 220 ohm aan op de anode en sluit die vervolgens aan op de arduino, pinnen 9-11.
Stap 3: Drukknop
Zorg er bij de drukknop voor dat je deze precies aansluit op de afbeelding. Stroom naar stroom, 220 ohm weerstand naar aarde en dan het andere uiteinde naar pin 3. Dit wordt gebruikt als de onderbreking.
Stap 4: Potentiometer
Sluit net als de drukknop de potmeter aan zoals op de afbeelding te zien is. Dit zal dienen voor het aanpassen van de helderheid.
Stap 5: Mogelijke fouten
Zorg ervoor dat de pinnen zijn aangesloten zoals de code en afbeeldingen laten zien, en dat ze overeenkomen. Zorg er ook voor dat de anode en kathode dienovereenkomstig zijn aangesloten.
Stap 6: Coderen
const byte ledBlue = 11; //sets LED blauw op pin 11const byte ledRed = 10; //sets LED rood op pin 10
const byte ledWit = 9; // stelt LED wit in op pin 9
const byte interruptPin = 3; // de drukknop als de interrupt
const byte potPin = 1; // potentiometer is pin A1
vluchtige int helder; //LEDbrightness
ongeldige setup() {
pinMode (ledBlue, OUTPUT); // blauwe LED als OUTPUT
pinMode (ledRood, UITGANG); // rode LED als OUTPUT
pinMode (ledWit, UITGANG); // witte LED als UITGANG
pinMode (interruptPin, INPUT_PULLUP); // knop pin als INPUT_PULLUP
pinMode (potPin, INPUT); // potentiometerpin als INPUT
// zet de interrupt met invoerpin en helderheid op RISING
attachInterrupt(digitalPinToInterrupt(interruptPin), licht, RISING);
}//einde setup
lege lus() {
analogWrite (ledBlauw, helder); // Stelt de blauwe LED in op het ingestelde helderheidsniveau
analogWrite (ledRood, helder); // Stelt de rode LED in op het ingestelde helderheidsniveau
analogWrite (ledWit, helder); // Stelt de witte LED in op het ingestelde helderheidsniveau
}//einde lus
leeg licht() {
helder = analoog lezen (potPin); // Leest de waarde van de potentiometer in
helder = kaart (helder, 0, 1023, 0, 255); // Maps-waarden voor LED-helderheid
}//eind helderder