tijd tussen twee momenten meten
3 berichten
• Pagina 1 van 1
- arduinoopdracht 4
- Berichten: 1
- Geregistreerd: 05 Nov 2013, 12:47
tijd tussen twee momenten meten
Ik ben bezig het maken van een Arduino project, en ik probeer de windkracht te meten in de hoeveelheid 'lampjes'. Het idee is om aan een as van een windmolen een rond papiertje te hangen, met een gat erin. telkens als het gat langs de LDR gaat moet de arduino meten hoelang de tijd tussen twee flitsen is. Dat kan je dan meten in lampjes (bijv, als er 10 tussen zit, gaan 7 lampjes branden als er 100 tussen zit 1)
weet iemand hoe je dit kan programmeren?
Tis misschien een beetje simpel, maar ik zou niet weten hoe
weet iemand hoe je dit kan programmeren?
Tis misschien een beetje simpel, maar ik zou niet weten hoe
Advertisement
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: tijd tussen twee momenten meten
Ik weet niet hoe snel die as draait, maar ik zou die ldr gelijk opzij gooien een een optische lichtsluis nemen. Kosten tegenwoordig geen drol op eBay.
http://www.ebay.com/itm/Slot-type-Optoc ... 1c2ef64a96
Die genereren een mooie blokgolf die je aan de interrupt hangt.
LDR is veel te traag, geeft een onbetrouwbare pulse af.
Telkenmale als de interrupt wordt aangeroepen lees je microseconds() en dan met je het verschil met de microseconden van de vorige keer.
tutti.
http://www.ebay.com/itm/Slot-type-Optoc ... 1c2ef64a96
Die genereren een mooie blokgolf die je aan de interrupt hangt.
LDR is veel te traag, geeft een onbetrouwbare pulse af.
Telkenmale als de interrupt wordt aangeroepen lees je microseconds() en dan met je het verschil met de microseconden van de vorige keer.
tutti.
Re: tijd tussen twee momenten meten
twee manieren:
1.
de tijd tussen twee pulsen meten.
als input omhoog gaat (en hij was laag) dan tijd = microseconds() - oudtijd alles in unsigned long
rpm = 60000000/tijd
een beetje gemiddelde is handig dus oudrpm = 0.9*oudrpm +0.1rpm
2.
het aantal pulsen tellen in een minuut (of korter)
als input omhoog gaat(en hij was laag) dan teller++
als millis() - starttijd >= 60000
{rpm = teller
starttijd =millis()
}
ledjes
als rpm > 10 dan uit1 aan
als rpm > 100 dan uit2 aan
etc.
ik ben het met nico eens dat een optocoupler beter is (bijvoorbeeld een wieltje uit een muis) met een weerstandje 10000 ohm naar de 5 volt is voldoende.
en als je snachts ook wil zien moet je de led aanzetten met een weerstandje van 500 ohm
gr. paul,
1.
de tijd tussen twee pulsen meten.
als input omhoog gaat (en hij was laag) dan tijd = microseconds() - oudtijd alles in unsigned long
rpm = 60000000/tijd
een beetje gemiddelde is handig dus oudrpm = 0.9*oudrpm +0.1rpm
2.
het aantal pulsen tellen in een minuut (of korter)
als input omhoog gaat(en hij was laag) dan teller++
als millis() - starttijd >= 60000
{rpm = teller
starttijd =millis()
}
ledjes
als rpm > 10 dan uit1 aan
als rpm > 100 dan uit2 aan
etc.
ik ben het met nico eens dat een optocoupler beter is (bijvoorbeeld een wieltje uit een muis) met een weerstandje 10000 ohm naar de 5 volt is voldoende.
en als je snachts ook wil zien moet je de led aanzetten met een weerstandje van 500 ohm
gr. paul,
paul deelen
shooter@home.nl
shooter@home.nl
3 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 31 gasten