Az alábbi problémát, hogy kellene arduinoval megoldani?
analogWrite (ledpin, value);
Pwm pint használj a value 8 bit tehát 0-254
A problémáját megoldhatja úgy, hogy az Arduino egyik tüskéjét programozza PWM jel generálására, és ezt a tüskét csatlakoztatja a LED anódjához (+) egy 220 ohmos ellenálláson keresztül. A LED katódját (-) közvetlenül a GND-hez kell csatlakoztatni. A PWM jel szélességének változtatásával elérheti, hogy a LED fokozatosan fel- és lehalványuljon.
Ha három LED-et szeretne használni, akkor három különböző tüskét kell programoznia PWM jel generálására, és mindegyiket egy-egy LED-hez kell csatlakoztatnia egy ellenálláson keresztül. A PWM jelek szélességét úgy kell változtatnia, hogy a LED-ek egymástól függetlenül halványuljanak fel és le.
A forráskódot a következőképpen írhatja meg:
// A három LED tüskéinek meghatározása
const int ledPin1 = 9;
const int ledPin2 = 10;
const int ledPin3 = 11;
// A három LED fényerejének változóinak meghatározása
int brightness1 = 0;
int brightness2 = 0;
int brightness3 = 0;
// A fényerő változásának mértékét meghatározó változók
int fadeAmount1 = 5;
int fadeAmount2 = 5;
int fadeAmount3 = 5;
void setup() {
// A tüskéket kimenetként állítja be
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
}
void loop() {
// A PWM jelek szélességét beállítja a fényerő változók alapján
analogWrite(ledPin1, brightness1);
analogWrite(ledPin2, brightness2);
analogWrite(ledPin3, brightness3);
// A fényerő változókat növeli vagy csökkenti a változás mértékével
brightness1 = brightness1 + fadeAmount1;
brightness2 = brightness2 + fadeAmount2;
brightness3 = brightness3 + fadeAmount3;
// Ha a fényerő eléri a maximumot vagy a minimumot, akkor megfordítja a változás irányát
if (brightness1 <= 0 || brightness1 >= 255) {
fadeAmount1 = -fadeAmount1;
}
if (brightness2 <= 0 || brightness2 >= 255) {
fadeAmount2 = -fadeAmount2;
}
if (brightness3 <= 0 || brightness3 >= 255) {
fadeAmount3 = -fadeAmount3;
}
// Egy kis késleltetést ad, hogy látható legyen a halványulás hatása
delay(30);
}
Ehelyett:
// A három LED fényerejének változóinak meghatározása
int brightness1 = 0;
int brightness2 = 0;
int brightness3 = 0;
Írd ezt:
// A három LED fényerejének változóinak meghatározása
int brightness1 = 0;
int brightness2 = 85;
int brightness3 = 171;
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!