![]() |
Timing an LDR in C++
I'm so confused on this topic. I'm doing this for a arduino mega (pretty sure arduino is C++) What I'm trying to do is this: Read the value back from the LDR (Light Dependent Resistor) and start a timer for when the value is in a certain range and perform a function if the time recorded is a certain amount of time.
For example: I will have the LDR taped to a screen. SO when the screen is black (LDR value is about 120-150), it starts timing how long it was black for and keeps timing until the screen displays light (LDR 600 - 620). Hypothetically, lets say the screen was black for about 12000-12600ms, if the time recored falls between that, it does something but if its above 12600ms it does something else. (If, else statement) However, all I know how to do is get the value of the LDR, I don't know anything else. Can someone help me with the code for the timing function, I'm lost. If someone can pleaseeeeeeee help that would be the best thing ever :D |
Re: Timing an LDR in C++
Hmm...
I don't know much about C++, but I would start by triggering a timer function when the sensor reads black, then when the sensor reads white, write the timer function's time to a variable then use that in an elif statement (excuse my python) something like: Code:
void main() { |
Re: Timing an LDR in C++
Quote:
Code:
if(somethinghappens){ |
Re: Timing an LDR in C++
You'll probably want to use a a state machine and grab samples from your LDR every 20ms or so.
Something like this: Code:
const int BLACK = 0; |
Re: Timing an LDR in C++
Quote:
|
| All times are GMT -5. The time now is 02:58. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi