Arduino PWM funkce.
Úvodní stránka › Fórum › Vaše projekty › Arduino › Arduino PWM funkce.
- Toto téma obsahuje celkem 1 odpověď. Do diskuze (2 diskutující) se naposledy zapojil uživatel elektronek.cz a poslední změna proběhla před 7 roky a 9 měsíci.
-
AutorPříspěvky
-
16.2.2016 v 18:36 #6059macekÚčastník
Dobrý den, dneska
jsem vytvořil a naprogramoval na Arduinu program, který má pomocí PWM pomalu rozsvěcovat led diody (nápis) – viz. obr. http://imgur.com/9CXlhpm – NÁPIS LOVE Jenže na nepájivém poli mi to fungovalo, a jakmile vyndám ATmegu a dám jim na plošný spoj, tak mi nic nefunguje. A přitom plošný spoj mám překontrolovaný a chyby v něm nemám. Spíš bych se chtěl zeptat, jestli nevidíte nějakou chybu v zapojení schéma procesoru. A tak se chci zeptat, protože já jsem již marný. Jinak kdosi mi říkal něco o tom, že by tam měl být zapojený krystal, ale to jsem moc nepchopil, tak bych byl rád, kdyby mi to někdo objasnil. Zde je i kód. Díky moc předem `int LED1 = 5; // LED 1 na 5 pin
int LED2 = 6; // LED 2 na 6 pin
int LED3 = 10; // LED 3 na 10 pin
int LED4 = 11; // LED 4 na 11 pinvoid setup() {
}
void loop() {
//————————————————————LED 1—————————————————————-
// fade z min do max v kouskách po (x) bodech:
for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 1000){
// nastavuje hodnout (vzdálnost od 0 do 255):
analogWrite(LED1, fadeValue);
// čeká (x) mili sekund nž se setmí
delay(0.00001);
}// fade z max do min v kouskách po (x) bodech:
for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 1) {
// nastavuje hodnout (vzdálnost od 0 do 255):
analogWrite(LED1, fadeValue);
// čeká (x) mili sekund než se setmí
delay(4);
//————————————————————LED 2—————————————————————-
}
for (int fadeValue2 = 0 ; fadeValue2 <= 255; fadeValue2 += 1000){
analogWrite(LED2,fadeValue2);
delay(0.00001);
}// fade z min do max v kouskách po (x) bodech:
for (int fadeValue2 = 255 ; fadeValue2 >= 0; fadeValue2 -= 1) {
// nastavuje hodnout (vzdálnost od 0 do 255):
analogWrite(LED2, fadeValue2);
// čeká (x) mili sekund než se setmí
delay(4);
}
//————————————————————LED 3—————————————————————-for (int fadeValue3 = 0 ; fadeValue3 <= 255; fadeValue3 +=1000){
analogWrite(LED3,fadeValue3);
delay(0.00001);
}// fade z min do max v kouskách po (x) bodech:
for (int fadeValue3 = 255 ; fadeValue3 >= 0; fadeValue3 -= 1) {
// nastavuje hodnout (vzdálnost od 0 do 255):
analogWrite(LED3, fadeValue3);
// čeká (x) mili sekund než se setmí
delay(4);
}
//————————————————————LED 4—————————————————————-for (int fadeValue4 = 0 ; fadeValue4 <= 255; fadeValue4 += 1000){
analogWrite(LED4,fadeValue4);
delay(0.00001);
}
// fade z min do max v kouskách po (x) bodech:
for (int fadeValue4 = 255 ; fadeValue4 >= 0; fadeValue4 -= 1) {
// nastavuje hodnout (vzdálnost od 0 do 255):
analogWrite(LED4, fadeValue4);
// čeká (x) mili sekund než se setmí
delay(4);
}
//————————————————————LED 1—————————————————————-// fade z min do max v kouskách po (x) bodech:
for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5){
// nastavuje hodnout (vzdálnost od 0 do 255):
analogWrite(LED1, fadeValue);
// čeká (x) mili sekund nž se setmí
delay(20);
}// fade z min do max v kouskách po (x) bodech:
for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 300) {
// nastavuje hodnout (vzdálnost od 0 do 255):
analogWrite(LED1, fadeValue);
// čeká (x) mili sekund než se setmí
delay(20);
}
//————————————————————LED 2—————————————————————-for (int fadeValue2 = 0 ; fadeValue2 <= 255; fadeValue2 += 5){
analogWrite(LED2,fadeValue2);
delay(20);}
// fade z min do max v kouskách po (x) bodech:
for (int fadeValue2 = 255 ; fadeValue2 >= 0; fadeValue2 -= 300) {
// nastavuje hodnout (vzdálnost od 0 do 255):
analogWrite(LED2, fadeValue2);
// čeká (x) mili sekund než se setmí
delay(20);
}
//————————————————————LED 3—————————————————————-for (int fadeValue3 = 0 ; fadeValue3 <= 255; fadeValue3 += 5){
analogWrite(LED3,fadeValue3);
delay(20);
}// fade z min do max v kouskách po (x) bodech:
for (int fadeValue3 = 255 ; fadeValue3 >= 0; fadeValue3 -= 300){
// nastavuje hodnout (vzdálnost od 0 do 255):
analogWrite(LED3, fadeValue3);
// čeká (x) mili sekund než se setmí
delay(20);
}
//————————————————————LED 4—————————————————————-for (int fadeValue4 = 0 ; fadeValue4 <= 255; fadeValue4 += 5){
analogWrite(LED4,fadeValue4);
delay(20);}
// fade z min do max v kouskách po (x) bodech:
for (int fadeValue4 = 255 ; fadeValue4 >= 0; fadeValue4 -= 300) {
// nastavuje hodnout (vzdálnost od 0 do 255):
analogWrite(LED4, fadeValue4);
// čeká (x) mili sekund než se setmí
delay(20);}
}`29.12.2016 v 18:43 #9799elektronek.czÚčastníkNo nevidím nikde Tvé schéma zapojení, ale pokud se dívám na ten obrázek, tak na něm nevidím obvod krystalu a kondiků k němu, jinak bys musel mít atmegu přepnutou na vnitřní oscilátor pomocí fuses …
-
AutorPříspěvky
- Pro reakci na toto téma se musíte přihlásit.