atoombom
Dependencies: Encoder HIDScope mbed
Fork of EMG by
main.cpp
- Committer:
- Bartvaart
- Date:
- 2015-09-28
- Revision:
- 20:4fe3cab02341
- Parent:
- 19:6eefdb204444
File content as of revision 20:4fe3cab02341:
#include "mbed.h" #include "HIDScope.h" #include "LowPassFilter.h" //Define objects AnalogIn emg(A0); //Analog input Ticker sample_timer; Timer timer; HIDScope scope(1); InterruptIn button(PTA4); DigitalOut led(LED4); /** Sample function * this function samples the emg and sends it to HIDScope **/ void sample() { if(timer.read()<5){ /* First, sample the EMG using the 'read' method of the 'AnalogIn' variable named 'emg' */ double emg_value = emg.read(); /* Second, set the sampled emg value in channel zero (the first channel) in the 'HIDScope' variable named 'scope' */ scope.set(0,emg_value); /* Repeat the step above if required for more channels (channel 0 up to 5 = 6 channels) */ /* Finally, send all channels to the PC at once */ scope.send(); } if(emg.read()>=0.7){ led.write(0); led.write(1); } } void time(){ timer.start(); } int main() { led=!led; /**Attach the 'sample' function to the timer 'sample_timer'. * this ensures that 'sample' is executed every... 0.002 seconds */ button.fall(&time); sample_timer.attach(&sample, 0.002); //500 Hz biquadTicker.attach(&computeBiquad, 0.01); // 100 Hz /*empty loop, sample() is executed periodically*/ while(1) {} }