Dag allemaal,
ik ben nieuw op het forum ik ben een leerling in het middelbaar en zit in mijn laatste jaar IW (industriele wetenschappen. ik moet een eindwerk maken en dit is een weerstation maar ik heb een probleem met het aantal uren zon ik zou dit graag in procent hebben en in uren zon van de dag daarvoor moet je delen maar als ik 3500000 deel door 3600000(1 uur in millis) dan bekom ik 0.00 ik heb het geprobeerd met eel float maar ik ben einde raad dus hier mijn vraag alvast bedankt.
PS: mijn codes / een schema van mijn schakeling staat in de bijlage.
uren_zon.ino (939 Bytes)
ook vaste getallen een variabele naam geven zoals long int of float of zo iets dus float zon=0;
en dat doen voor alle getallen dan weet je zeker welke soort getallen het zijn je mag ze ook als constanten zetten maar dan nog het type erbij.
ook zou ik millis() gaan gebruiken dan kun je daarmee rekenen ipv telkens 5 erbij tellen.
dan kun je dus bijhouden hoe lang de zon schijnt op de millis nauwkeurig.
als je dan ook nog met een array gaat werken kun je een grafiek maken van de zonneschijn.
en de volgende stap is dan de hoeveelheid zon bepalen door het analoge getal op te slaan.
bedankt voor het snelle antwoord ik heb het geprobeerd om die getallen in een constante variabelen te steken en daar mee te rekenen. maar ik kom weer 0.00 uit. weet iemand hoe dit komt? millis() zal ik later er invoegen bedankt om dit te melden. een grafiek maak ik op adafruit want dit moet nog verbonden worden met het internet.
alvast bedankt
Het staat gewoon in de reference van Arduino: / - Arduino Reference
Dus weet ik waarom het fout gaat? Ja... Maar daarvoor hebben mensen een heleboel energie gestoken in een reference manual...
ik heb de link geopend en reference manual bekeken maar daar staat niets in waarom het geet getal na de komma uitkom. hierbij mijn vraag mij een stap vooruit te helpen door te zeggen waar het fout loopt.
De eerste keer dat loop uitgevoerd wordt print je pro en uur uit maar die bereken je pas op het einde van de loop, dus het klopt dat het 0,00 is. bij de volgende cyclus is het wel goed
dit verschijnt in de seriele monitor
x451
y2
zon3500005.00
pro0.00
uur0.00
contro0
x376
y2
zon3500010.00
pro0.04
uur0.97
contro0
bedankt voor het antwoord het werkt