IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – 11. diel - Arduino - Jazyk

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Avatar
rhli
Člen
Avatar
rhli:29.3.2015 18:10

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

Odpovedať
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 ?

 
Odpovedať
12.4.2015 14:15
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovedá 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 :)

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

Díky moc.

 
Odpovedať
12.4.2015 14:40
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovedá 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;
Editované 12.4.2015 22:49
Odpovedať
12.4.2015 22:45
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Odpovedá 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.

 
Odpovedať
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

 
Odpovedať
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)**{}**

?

Odpovedať
21.4.2015 21:09
Vi veri universum vivus vici
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovedá na Tomáš Brůna
Adam Ježek:21.4.2015 21:16

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

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

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

Odpovedať
21.4.2015 22:06
Vi veri universum vivus vici
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!