Ovdje pročitajte kako se registrirati na forum.

brojač i čuvanje vremena

Zapeli ste s projektom? Ovdje je pravo mjesto za postaviti pitanje. Imajte na umu da ekipa e-radionice neće uvijek i/ili redovno odgovarati na pitanja postavljena u ovom podforumu.
Odgovorite
josip.skupnjak#5560
Novak
Novak
Postovi: 5
Pridružen/a: sri stu 13, 2019 12:51 pm

brojač i čuvanje vremena

Post Postao/la josip.skupnjak#5560 » sri stu 13, 2019 1:11 pm

Pozdrav,
potpuno sam novi ovdje i ne znam kako početi...

Kakav problem imam: trebalo bi zbrajati trajanje stanja uključenosti jednog digitalnog ulaza.
Nacrtao sam to, slika se nalazi ovdje:
https://web.tresorit.com/l#zh_khUKcZKPQNn2NDie6tw
domagoj#3124
Elektroničar
Elektroničar
Postovi: 149
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Zagreb

Re: brojač i čuvanje vremena

Post Postao/la domagoj#3124 » sri stu 13, 2019 2:03 pm

Pozdrav! Navedeni link ne radi, kaže da ne može učitati stranicu.
josip.skupnjak#5560
Novak
Novak
Postovi: 5
Pridružen/a: sri stu 13, 2019 12:51 pm

Re: brojač i čuvanje vremena

Post Postao/la josip.skupnjak#5560 » sri stu 13, 2019 5:42 pm

domagoj#9586 je napisao/la:
sri stu 13, 2019 2:03 pm
Pozdrav! Navedeni link ne radi, kaže da ne može učitati stranicu.
nisam našao način kako poslati sličicu... no dobro, pokšati ću riječima opisati:
-na nekom digitalnom ulazu bi spojio jedan beznaponski kontakt kojeg je zadaća pratiti (kontakt mijenja stanje: nekad je uključen a nekad isključen)
-program prati, tj. zbraja ukupno vrijeme kad je kontakt uključen. Dakle, negdje, u neku varijablu, treba spremati vrijeme u sekundama.

To je osnovna problematika... pretpostavljam da bi problem nastao kad bi 'zapunili' gabarite varijable za spremanje sekundi... nazovimo je A,
zato uvodimo varijable, npr B za minute i C za sate. Pa bi onda trebali imati program koji bi radio slijedeće (ne znam arduino sintaksu!!!)

deklaracija: varijabla A (spremnik za sekunde); varijabla B (spremnik za minute); varijabla C (spremnik za sate)
u petlji:
...ako je A=60 onda
A=0 ('čistimo' spremnik za sekunde)
B=B+1 (sekunde smo 'ugradili' u minute)

...ako je B=60 onda
B=0 ('čistimo' spremnik za minute)
C=C+1 (minute smo 'ugradili' u sate)

Eto... kažem, totalni sam početnik.
Slijedeći je problem kako prikazivati vrijednosti u varijablama. Pretpostavljam da bi mogao računalom se spojiti i u nekom 'runtime' modu povremeno očitati stanje (naravno ako se to može iz IDE okruženja)
Još jedan problem je što bi sustav trebao biti u stanju sačuvati varijable i u slučaju nestanka energije -postoji li uopće takva mogućnost kod arduina?!

Uglavnom... imam neka iskustva od prije u programiranju PLC-a (Klockner Moeller, SUCOSOFT), ali, to je jedna sasvim druga priča :))) -sve je to što se nudi na PLC tržištu preskupo!

Sad sam se prihvatio ove platforme, čini mi se da ima ogromne potencijale -naravno, sve je problem kad si početnik. :)
domagoj#3124
Elektroničar
Elektroničar
Postovi: 149
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Zagreb

Re: brojač i čuvanje vremena

Post Postao/la domagoj#3124 » sri stu 13, 2019 6:13 pm

Ajmo nekim redom. Ako se varijabla koja čuva sekunde definira kao unsigned long, najveći broj koji može imati je 2^32-1, tj. 4.294.967.295 što je malo manje od 50.000 dana. Pretpostavljam da će to biti dovoljno da se ne mora odmah pretvarati u sate i minute.
Jednostavan program za to bi bio:

Kod: Označite sve

unsigned long a;
int ulaz=10; //broj digitalnog ulaza

void setup() {
Serial.begin(9600);
pinMode(ulaz,INPUT);
}

void loop() {
if(digitalRead(ulaz)==HIGH)
{
  a++;
}
Serial.print("Ukljuceno vrijeme="); Serial.println(a);
delay(1000); //1000ms=1s
}
Dakle, ovaj programčić će svake sekunde provjeravati stanje pina 10 definiranog kao digitalni ulaz i ako je stanje 1, uvećat će varijablu a za 1. Također će svake sekunde ispisati vrijednost na serial monitoru. Naredba delay(1000) je blokirajuća, što znači da program tih 1000ms neće krenuti dalje na izvršavanje slijedeće naredbe, u ovom slučaju povratak na početak programa, void loop(). Ali istovremeno nam osigurava da varijabla a u sebi sadrži sekunde.
Što se tiče gubitka napajanja i spremanje varijabli koje su neosjetljive na taj problem, to još nisam probao jer mi nije trebalo, ali to se može spremanjem vrijednosti u eprom. Negdje je na e-radionici bio članak o tome.
Pozdrav, Domagoj
josip.skupnjak#5560
Novak
Novak
Postovi: 5
Pridružen/a: sri stu 13, 2019 12:51 pm

Re: brojač i čuvanje vremena

Post Postao/la josip.skupnjak#5560 » sri stu 13, 2019 8:29 pm

Odlično!
Način na koji ste protumačili problem i rješenje koje ste dali mi izgleda jako dobro. Ispravno mi se čini i ovo postavljanje vremena (sekundi) u jednu varijablu. E sad mi predstoji implementacija, kuckanje kodova... Javim se.

Svakako, vrlo sam vam zahvalan!
ivan.fadiga#6285
e-radionica.com team
e-radionica.com team
Postovi: 36
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Osijek

Re: brojač i čuvanje vremena

Post Postao/la ivan.fadiga#6285 » sri stu 13, 2019 8:40 pm

Pozdrav,
Domagoj je predložio jedno od rješenja, ali svakako dobar početak i vrlo jednostavan.
Dodatak na ovo bi bilo da se umjesto delay koristi millis i sa njime napravi pauza.
Nakon toga spremanje varijable u EEPROM ( paziti na maksimalan broj čitanja i pisanja u EEPROM).
Za prebaciti varijablu na računalo se može koristiti serijska komunikacija( jednostavno i jeftino) ili ako je potrebno da uređaj bude odvojen od računala možda ubaciti sd-karticu pa u nju spremati varijablu.
ako je potrebno samo prikazati ( nije potrebno imati varijablu na računalu i dalje obrađivati) mogao bi se ubaciti i display.
Za svaki dio ima nekoliko rješenja ali treba pogledati koje je najbolje i što Vam je sve potrebno.
Još jednom kažem da je Domagoj dao dobar savjet za početak jer ste napisali da ste početnik pa je najbolje krenuti sa rješavanjem problema dio po dio.
LP,
Ivan
josip.skupnjak#5560
Novak
Novak
Postovi: 5
Pridružen/a: sri stu 13, 2019 12:51 pm

Re: brojač i čuvanje vremena

Post Postao/la josip.skupnjak#5560 » čet stu 14, 2019 9:03 pm

Ivane,

puno hvala i tebi. Lijepo je biti u ovakvom okruženju gdje su ljudi susretljivi i voljni pomoći.
Šteta, nisam se imao vremena ovih dana zaista i baviti temom (znam, nije fora)...ali nadam se da ću za vikend imati.
josip.skupnjak#5560
Novak
Novak
Postovi: 5
Pridružen/a: sri stu 13, 2019 12:51 pm

Re: brojač i čuvanje vremena

Post Postao/la josip.skupnjak#5560 » čet stu 14, 2019 9:46 pm

jupi,
radi!
shvatio sam i kako se terminal priključuje! :)
Odgovorite