Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

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
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
rhli
Člen
Avatar
rhli:29.3.2015 18:10

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

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 ?

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ť
Počkej chvíli, poradím se s křišťálovou koulí.
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é
Odpovedať
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.

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

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ť
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ť
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ť
Vi veri universum vivus vici
Posledné komentáre sú na spodnej časti poslednej stránky.
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.

Zobrazené 10 správy z 25.