Difference between revisions of "Lesson 8--Microduino "Pulse Recorder""
m (extra "}" at the end of the program) |
m (photo added) |
||
Line 17: | Line 17: | ||
**Button one | **Button one | ||
**USB Data cable one | **USB Data cable one | ||
+ | |||
+ | [[File:lesson8All.jpg|600px|center|thumb]] | ||
==Pulse== | ==Pulse== |
Revision as of 06:30, 3 July 2015
Language: | English • 中文 |
---|
ContentsObjectiveThe lesson shows us how to use the button and aviod shaking issue. The solution is to delay time. But this solution has a disadvantage. As to the delay time, it all depends since it takes different time for everyone to press the button. This lesson will introduce how to get the time to press a button, the program uses pulse timing calculation. Besides that, you can learn how to use arduino's serial and monitor the data using serial. Equipment
PulsePulse is a process that a physical quantity quickly retun to its initial state after a short time mutation. In Microduino, pulse just a digital signal which changed between high and low in cyclical. Pulse timing is often used in the photoelectric encoder, Hall elements to calculate the speed. Experimental schematicUsing the internal pull-up, external 104 ceramic capacitors for stabilization. Programint pin = 2; //Define Pin D2
float time1,time2; //Define variables to float
void setup()
{
Serial.begin(115200); //Serial port baud rate
pinMode(pin, INPUT_PULLUP); //Set pin to input mode with the internal pull-up
}
void loop()
{
//Read low pulse from the pin, the maximum pulse interval is 60 seconds, and assign the result to the variable time1
time1= pulseIn(pin, LOW,60000000)/1000;//Convert the time to ms
Serial.print(time1); //Output the time1 by serial
Serial.print("ms ");
time2= pulseIn(pin, LOW,60000000)/1000.0;//Convert the time to ms
Serial.print(time2); //Output the time1 by serial
Serial.println("ms");//Through the serial port to print out the unit and wrap to a new line to output the next value.
} Serial monitoringOpen the serial port monitor
PulseIn()function
The return value is the pulse time, unit is us. The timer range is 10us ~ 3mins. (1s=1000ms=1000000us)
ResultFor stabilization,add a 104 ceramic capacitors in signal change port, you can see a better result. Video |