Staň se programátorem díky kurzům PRO s podporou uplatnění a vlastním full-stack projektem. Více informací:
POSLEDNÍ ŠANCE do 29. 8. 2025: Pracuj až o 60 % rychleji díky akreditovanému kurzu Specialista na AI. Nyní již od 0 Kč. Zjisti více:

Diskuze – Lekce 8 - Pole a konstanty

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
rhli
Člen
Avatar
rhli:29.3.2015 18:10

Serial je bezva a moc mi omohl v zacatcich s arduinem.diky RoHl

Odpovědět
29.3.2015 18:10
tata
Avatar
Jiří Šachl:12.4.2015 14:15

Zdravím. Řeším problém se smyčkou loop kde potřebuji aby se prováděly kroky programu s různým časováním.
Konkrétněji : něco běží stále, něco poběží 45 sekund, pak 5 minut nic a pak zase 45 sekund a tak dokola. Něco běží co 5 minut, něco každou minutu, něco 2x denně a něco když čidlo dá pokyn tak čas který další čidlo zastaví (samostatná funkce). Program poběží na Arduino MEGA s RTC (DS1307 AT24C32). Poradíte ?

 
Odpovědět
12.4.2015 14:15
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovídá na Jiří Šachl
Adam Ježek:12.4.2015 14:36

No jestli to běží každých 5 minut, něco každých 45s... máš RTC, takže si z něj zjistíš čas (hh:mm:ss), teď si nepamatuju jak se s nim dělá, ale budu počítat s tim, že už mám čas, takže

void loop( {
int hodiny;
int minuty;
int sekundy; //tohle sis zjistil z rtc

if( minuty % 5 == 0) {
    kazdychPetMinut();}

int sec = vteriny + (minuty*60)
if( sec % 45 == 0) {
    kazdychCtyricetPetSekund(); }

if(hodiny % 12 == 0 && denne) { //denne je nejaky bool, ktery si deklaroval na zacatku
    dvakratDenne();
    denne = false; }

if(hodiny % 5 && !denne)
    denne = true;


....
}

Trochu sem nepochopil tu část něco když čidlo dá pokyn tak čas který další čidlo zastaví (samostatná funkce), zkus to líp formulovat
Dejme tomu, že tam máš funkci, kterou když zavoláš, tak zkontroluje něco, a podle toho, zda se to má vykonat by vrátila true/false, takze v loopu dalsi

if(zkontrolujCidlo()) {
    vykonejNaCidlo();
}

a s dalšíma věcma by si možná moh zajít do fóra :)

Odpovědět
12.4.2015 14:36
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Odpovídá na Adam Ježek
Jiří Šachl:12.4.2015 14:40

Díky moc.

 
Odpovědět
12.4.2015 14:40
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovídá na Jiří Šachl
Adam Ježek:12.4.2015 22:45

Ted mi doslo, ze u tech vterin modulo neni zrovna nejlepsi reseni(nemusel bys to stihnout). A u minut asi taky ne, tam by se to mohlo stihnout provist vicekrat. Mozna to udelat pres pocitani kdy to naposled probehlo (viz muj prispevek zde http://www.itnetwork.cz/…52abd07c11a4#… ) jen pokud misto pocitani casu z rtc zvolite millis(), tak pokud arduino pobezi dele nez 50 dni(predpokadam ze u toho projektu se zavlazovanim ano), tak se po 50 dnech hodnota vynuluje a bezi odznova, takze bude treba vynulovat i ulozene casy

if(millis()<3000)//snad se stihne
naposledyVykonanoCas = 0;
Editováno 12.4.2015 22:49
Odpovědět
12.4.2015 22:45
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Odpovídá na Adam Ježek
Jiří Šachl:13.4.2015 7:24

Díky, ověřím si to později. Odešel mi nový Ardiuno MEGA tak části kodu odlaďuji na UNU než mi nové dojde z Číny.

 
Odpovědět
13.4.2015 7:24
Avatar
Jiří Šachl:13.4.2015 7:36

Ptal jsem se i jinde a dostal jsem tuhle odpověď..někomu se to může hodit, prostuduju to co ten TaskSheduler umí...http://fo­rum.robodoupe­.cz/viewtopic­.php?f=13&t=371&p=2272#p­2272

 
Odpovědět
13.4.2015 7:36
Avatar
Tomáš Brůna
Tvůrce
Avatar
Tomáš Brůna:21.4.2015 21:09

Ahoj jde použít jako podmínka

if (led, HIGH)**{}**

?

Odpovědět
21.4.2015 21:09
Vi veri universum vivus vici
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovídá na Tomáš Brůna
Adam Ježek:21.4.2015 21:16

Tef te nechapu. Chces zjistit jesti je na pinu proud nebo ne?

Odpovědět
21.4.2015 21:16
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Tomáš Brůna
Tvůrce
Avatar
Odpovídá na Adam Ježek
Tomáš Brůna:21.4.2015 22:06

chci pokus je led dioda rozsvicena aby po zmacknuti klavesy 'A' zhasla

Odpovědět
21.4.2015 22:06
Vi veri universum vivus vici
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 25.