forum.mcontrollers.com - hlavní stránka forum.mcontrollers.com - fórum

 

.: fórum - hlavní stránka :.
Technology Stronghold by Rudolf Vesely
How to build Microsoft System Center hosted cloud series
FAQFAQ HledatHledat Seznam uživatelůSeznam uživatelů Uživatelské skupinyUživatelské skupiny RegistraceRegistrace
ProfilProfil StatistikaStatistika Soukromé zprávySoukromé zprávy PřihlášeníPřihlášení

 
PWM Arduino

 
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> Elektronika s mikrokontroléry, procesory
 
Mates
Anonymní





PříspěvekZaslal: 18 únor 2016, 16:26    Předmět: PWM Arduino Citovat

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 kuprexit, tak mi to moc nejede. . Spíš bych se chtěl zeptat, jestli nevidíte nějakou chybu v zapojení schéma procesoru. http://imgur.com/6LbYMY – schéma.. Jsem nováček, a tak se chci zeptat, protože já jsem již marný. Jinak ve schéma chybí připojený krystal, který jsem tam dneska dodal, a chci říct, že mám blbý poct, že jsem atmegu328p-pu odpálil, ale právě netuším jak... Ono to jelo, ale jako sekaně, prostě bylo to pwm, ale přeskakovalo to (jako když pustíte hru na starém počítači) . Zde je i kód. Díky moc předem. Kdyby jste kdokoliv měli nějaký návrh tak napiště možné řešení `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);

}
}`
Návrat nahoru
 

 
xpertvis
Profesionál
Profesionál


Založen: 3.12.2010
Příspěvky: 221

PříspěvekZaslal: 18 únor 2016, 21:38    Předmět: Citovat

v prvom rade nevidime schema zapojeni Very Happy link je nefunkcny.
v druhom: ak ti to predtym islo, a po prehodeni procaku inam ti to nejde, tak to skor vyzera na chybu DPS. A ak ti to ide "trhane" ako si napisal, a predtym to islo fajn, zase to len vyzera na chybu DPS.
šikla by sa ta schema, ale tak opytam sa:
- napajas z baterie alebo zo zdroja ?
- blokovacie kondiky na procaku mas ? (100nF co najblizsie pri napajacich pinoch MCU)
- kondiky na krystale mas ?
- krystal je pripajkovany jak sa patri ? (ziadne studaky ? blizko procesora ?)

PS: kod som ani nepozeral, pockam co odpovies Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Balů
Profesionál
Profesionál


Založen: 29.10.2012
Příspěvky: 708

PříspěvekZaslal: 18 únor 2016, 23:03    Předmět: Citovat

Vzhledem k tomu, že na uinech jsou IO v SMD provedení bych řekl, že jsi napsal program, testnul ho na uinu a pak ho nasypal do procesoru a zapojil.

JENŽE :

Mates napsal:
Ono to jelo, ale jako sekaně, prostě bylo to pwm, ale přeskakovalo to (jako když pustíte hru na starém počítači)


Uino má procesor přepnutý na krystal a ten je 8 nebo 16 MHz podle provedení uina. Jenže procesor, který jsi dával na DPS je z výroby nastavený na IntRC 8 MHz s děličkou nastavenou na 8 => výsledné hodiny jsou 1 MHz, tedy min. 8x pomalejší. Připojení krystalu k procesoru bez přenastavení pojistek nic neřeší...

=======================================================================
!!! ČÍST DATASHEETY, ČÍST DATASHEETY, ČÍST DATASHEETY, ČÍST DATASHEETY, ČÍST DATASHEETY !!!
=======================================================================

Chybí schéma, ale na fotce DPS u nožiček procesoru nevidím žádný blokovací kondenátor a vidím jenom 8 odporů na 59 LEDek. To si děláš legraci nebo je máš v SMD verzi na spodní straně DPS ? Jinak aby se Ti to rozběhlo na 8 MHz nepotřebuješ ani měnit pojistky, stačí v programu přepnout děličku systemových hodin z 8 na 1. V datasheetu se dočteš jak.

==========================================================================
Kód je jedna velká zoufalost, ale jestli je to Tvůj první program, tak budiž, nikdo učený z nebe nespadl.

Například tohle má jako znamenat co :

kód:
for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 1000)

kód:
for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 300)


Kolikrát myslíš, že tyhle smyčky proběhnou ?
==========================================================================
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

Zobrazit příspěvky z předchozích:   
Zobrazit předchozí téma :: Zobrazit následující téma  
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> Elektronika s mikrokontroléry, procesory Časy uváděny v GMT + 2 hodiny
 
Strana 1 z 1
Přejdi na:  
Můžete přidat nové téma do tohoto fóra.
Můžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Můžete k příspěvkům připojovat soubory
Můžete stahovat a prohlížet přiložené soubory
 



Num Lock Holder - app to hold Numlock
Copyright © 2017 Rudolf Veselý, mcontrollers.com.
Je zakázáno používat části tohoto webu bez souhlasu autora. || Powered by phpBB © 2001, 2002 phpBB Group - with RedSquare DoubleJ(Jan Jaap)