cataloguing start stop

Arduino specifieke Software
Berichten: 1
Geregistreerd: 25 Mei 2018, 14:12

cataloguing start stop

Berichtdoor bennydm » 25 Mei 2018, 14:49

Mij vraag gaat over dataligging.

Wanneer de warmtepomp start, worden de tijd en de temperatuur genoteerd op een SD-kaart.
Daarna wordt de temperatuur om de vijf minuten genoteerd.
Wanneer de warmtepomp stil valt, wordt de tijd genoteerd en stopt de datalogging.
Om te bepalen wanneer de warmtepomp start en stopt, gebruik ik een ACS712. In rust (WP=uit) is de stroom quasi=nul en in werking is de stroom enkele ampères.
Deze data wordt aangeboden op A0.
De routines werken apart wel. Ik kan de SD-kaart aanschrijven, de timer laten dataloggen, de stroom meten.

Alles werkt maar ik slaag er niet in code te schrijven om de logging te laten beginnen en stoppen. Alles in een if then else? Met een while?

Via de RTC kan ik het uur noteren maar kan ik ook de begintijd van de straftijd aftrekken met de tijden die men uit leest van de RTC?
Kan iemand helpen?

Advertisement

Gebruikers-avatar
Berichten: 1737
Geregistreerd: 06 Aug 2016, 01:03

Re: cataloguing start stop

Berichtdoor Koepel » 25 Mei 2018, 15:29

Welke RTC library gebruikt je ?
Om het verschil tussen twee tijden te bepalen wordt meestal gebruikt gemaakt van het aantal seconden sinds 1970.
https://en.wikipedia.org/wiki/Unix_time.
Sommige libraries hebben zelf functies om het verschil te berekenen.

Je kunt natuurlijk ook millis() gebruiken, dan kun je tot 50 dagen tellen.

Hoe meet je iedere 5 minuten de temperatuur ? Gebruikt je een delay() ? Tijdens een delay() kun je niets anders doen.
Iedere 5 minuten iets doen kan ook met millis(). Met millis() wordt er geen tijd verspeeld met delay() en draait alles op maximale snelheid. Maar met millis() wordt je sketch wel anders en groter.

Op forums kun je vaak lezen: "Laat je hele sketch zien", "Het probleem zit in het deel dat je niet laat zien", en http://snippets-r-us.com/.
Laat je hele sketch zien, en gebruik bij voorkeur code tags rondom de sketch. Dat is met de knop "Code" of met "Select a Syntac" en dan "C++".

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 1 gast