Close

Arduino PWM funkce.

Úvodní stránka Fórum Vaše projekty Arduino Arduino PWM funkce.

Označeno štítky: , ,

Aktuálně jsou na stránce zobrazeny 2 příspěvky - 1. až 2. (celkem z 2)
  • Autor
    Příspěvky
  • #6059
    macek
    Úč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 pin

    void 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);

    }
    }`

    #9799
    elektronek.cz
    Účastník

    No 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 …

Aktuálně jsou na stránce zobrazeny 2 příspěvky - 1. až 2. (celkem z 2)
  • Pro reakci na toto téma se musíte přihlásit.