Hello everyone !
I just started using Arduino so my knowledge on the subject is quite limited...
My project is to build a kind of chronometer to measure the time of a circuit loop.
I planned to use an ultrasonic sensor (HC-SR04) that could mesure the distance of an object, if this object is at a distance of 20cm or more of the sensor (beginning of the loop) it will initiate a chronometer, and when the object will come back in front of the sensor, at a distance of 20cm or less, the chronometer will stop and we read the time value on the LCD display.
I watched a lot of videos concerning ultrasonic sensors, LCD display ... but i really dont know how to put everything together that's why i need your help ...
I have really basic arduino stuff : Arduino UNO R3, HC-SR04 sensor, LCD display ...
Pretty straight forward.
Write your first sketch to just start timing when the sensor detects anything and stop timing when the sensor again sees anything. This is a simple "toggle" event and only requires you to use millis()
Now, you want to create a "state machine", that essentially becomes a compound sketch where events control specific lines of code.
You do your setup, from the earlier experiment you know the value the ultrasonic sensor will return for distance. In one "conditional" statement within loop() you wait for the first event:
If (sensorReading ... complete this for your specific start condition...
unsigned long startTime = millis();
Now we know when the measurement started. We just need to get the end time in a second conditional statement
If (sensorReading ... complete this for your specific end condition...
unsigned long endTime = millis();
The difference between endTime and startTime is your interval.
Since this all happens within the loop(), you just print the difference and the loop starts over.