Indholdsfortegnelse:
- Trin 1: Pulsbreddemodulation
- Trin 2: LED og modstand
- Trin 3: Ujævn dæmpning
- Trin 4: Trin 4: Op og ned i én for () og med en jævn hastighed
Video: RaspberryPi: Fade en LED ind og ud: 4 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Følgende trin er eksperimenter for at illustrere, hvordan lysdioder fungerer. De viser, hvordan man dæmper en LED i en jævn hastighed, og hvordan man falmer den ind og ud.
Du får brug for:
- RaspberryPi (jeg brugte en ældre Pi, min Pi-3 er i brug, men enhver Pi fungerer.)
- Brødbræt
- 5 mm rød LED
- 330 Ω modstand (ikke kritisk 220-560 Ω virker.)
- Tilslutningstråd
Pi-skomageren, jeg brugte fra Adafruit, er ikke nødvendig, men det gør breadboarding lettere.
WiringPi er et sæt biblioteker til programmering af RaspberryPi i C. Instruktioner til download, installation og brug findes på
Følg instruktionerne på denne side for at installere wiringPi:
For at få en liste over wiringPi pin -numre skal du indtaste gpio readall på kommandolinjen.
I nyere versioner af Raspian wiringPi er som standard installeret.
Trin 1: Pulsbreddemodulation
Lysdioder kører altid med den samme spænding uanset lysstyrken. Lysstyrken bestemmes af en firkantbølgeoscillator, og den tid, spændingen er høj, bestemmer lysstyrken. Dette kaldes Pulse Width Modulation (PWM). Dette styres af wiringPi pwmWrite (pin, n) -funktionen, hvor n har en værdi fra 0 til 255. Hvis n = 2 vil LED'en være dobbelt så skarp som n = 1. Lysstyrken fordobles altid, når n fordobles. Så n = 255 vil være dobbelt så lyst som n = 128.
Værdien af n udtrykkes ofte som en procentdel, der kaldes duty cycle. Billederne viser oscilloskopspor for 25, 50 og 75% driftscyklusser.
Trin 2: LED og modstand
Dette er ikke nødvendigt, men at have et par af disse praktisk kan gøre breadboarding meget lettere.
Lod en modstand til den korte LED på en LED. Brug en 220-560 Ohm modstand.
Trin 3: Ujævn dæmpning
Byg kredsløbet som i diagrammet. Dette er ligesom kredsløbet til at blinke en LED. Den bruger wiringPi pin 1, fordi du skal bruge en PWM -aktiveret pin. Kompilér programmet og kør det. Du vil bemærke, at jo lysere LED'en er, jo langsommere dæmpes den. Når det nærmer sig det svageste, bliver det meget svagere meget hurtigt.
/******************************************************************
* Kompiler: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade1.c -lwiringPi * * Udfør: sudo./fade1 * * Alle pin -numre er wiringPi -tal, medmindre andet er angivet. ************************************************** *****************/ #include int main () {wiringPiSetup (); // Opsætning kræves af wiringPi pinMode (1, PWM_OUTPUT); // pwmSetMode (PWM_MODE_MS); // Mark/Space mode int i; mens (1) {for (i = 255; i> -1; i--) {pwmWrite (1, i); forsinkelse (10); } for (i = 0; i <256; i ++) {pwmWrite (1, i); forsinkelse (10); }}}
Det næste trin viser, hvordan man dæmper LED'en med en konstant hastighed, og i en til erklæring.
Trin 4: Trin 4: Op og ned i én for () og med en jævn hastighed
For at LED'en skal dæmpe med en konstant hastighed, skal forsinkelsen () stige med en eksponentiel hastighed, fordi halvdelen af driftscyklussen altid vil producere halvdelen af lysstyrken.
Linjen:
int d = (16-i/16)^2;
beregner den inverse firkant af lysstyrken for at bestemme forsinkelsens længde. Kompilér og kør dette program, og du vil se, at LED'en vil falme ind og ud med en konstant hastighed.
/******************************************************************
* Kompiler: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade2.c -lwiringPi * * Udfør: sudo./fade2 * * Alle pin -numre er wiringPi -tal, medmindre andet er angivet. ************************************************* *****************/ #include int main () {wiringPiSetup (); // Opsætning kræves af wiringPi pinMode (1, PWM_OUTPUT); // pwmSetMode (PWM_MODE_MS); // Mark/mellemrumstilstand mens (1) {int i; int x = 1; for (i = 0; i> -1; i = i + x) {int d = (16 -i/16)^2; // calc invers firkant af indeks pwmWrite (1, i); forsinkelse (d); hvis (i == 255) x = -1; // skift retning i spidsen}}}
Anbefalede:
Find ud af, hvornår nogen kom ind i et rum ved hjælp af radarsensor Xyc-wb-dc: 7 trin
Find ud af, hvornår nogen kom ind i et rum ved hjælp af radarsensor Xyc-wb-dc: I denne vejledning lærer vi, hvordan du finder ud af, når nogen kom ind i et rum ved hjælp af RTC-modul, radarsensor xyc-wb-dc, OLED-display og arduino. demonstrationsvideo
Cosmo -ur - skifter farve, hver gang en astronaut kommer ind i rummet: 8 trin (med billeder)
Cosmo -ur - skifter farve, hver gang en astronaut træder ind i rummet: Hej! Er du en rumentusiast? Hvis ja så hi-fi! Jeg elsker rum og astronomi. Jeg er naturligvis ingen astronaut til at tage derop og se nærmere på universet. Men hver gang jeg finder ud af, at en person fra jorden har rejst til himlen, bliver jeg inspireret
Find ud af, hvornår nogen kom ind i et værelse: 7 trin
Find ud af, når nogen kom ind i et værelse: I denne vejledning lærer vi, hvordan du finder ud af, hvornår nogen kom ind i et rum ved hjælp af RTC -modul, PIR -sensor, OLED -display og arduino. Se en demonstrationsvideo
Fade en LED ind og ud: 3 trin
Fade en LED ind og ud: Følgende trin er eksperimenter for at illustrere, hvordan LED'er fungerer. De illustrerer, hvordan man dæmper en LED i en jævn hastighed, og hvordan man falmer den ind og ud. Du skal bruge: Arduino (jeg brugte en duo) Brødbræt 5 mm rød LED 330 Ω Modstå
Pust nyt liv ind i et ældre Din 5 computertastatur: 5 trin (med billeder)
Pust nyt liv ind i et ældre Din 5 computertastatur: Hej, dette er min første instruerbare. Efter at have afsluttet det indså jeg, hvor svært og tidskrævende det kan være at lave sådan noget. Så tak til alle derude, der er villige til at gå igennem alle problemer for at dele din viden med andre