Script voor het weergeven van 1 EMG signaal met behulp van een OLIMEX shield. Let hierbij goed op dat je de juiste pinnetjes op het OLIMEX shield verbonden hebt, in dit geval A0 als uitgang. Verder maken we gebruik van 3,3 Volt!
Fork of EMG by
main.cpp@14:f83354387756, 2015-09-21 (annotated)
- Committer:
- tomlankhorst
- Date:
- Mon Sep 21 13:48:00 2015 +0000
- Revision:
- 14:f83354387756
- Parent:
- 13:18d4cef1fdb4
- Child:
- 15:0da764eea774
EMG Sampler
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
vsluiter | 0:32bb76391d89 | 1 | #include "mbed.h" |
vsluiter | 6:80c13d99aa55 | 2 | #include "MODSERIAL.h" |
vsluiter | 11:ce72ec658a95 | 3 | #include "HIDScope.h" |
vsluiter | 0:32bb76391d89 | 4 | |
vsluiter | 4:8b298dfada81 | 5 | //Define objects |
tomlankhorst | 14:f83354387756 | 6 | AnalogIn emg(A0); //Analog input |
tomlankhorst | 14:f83354387756 | 7 | Ticker sample_timer; |
tomlankhorst | 14:f83354387756 | 8 | HIDScope scope(1); |
vsluiter | 2:e314bb3b2d99 | 9 | |
tomlankhorst | 14:f83354387756 | 10 | /** Sample function |
tomlankhorst | 14:f83354387756 | 11 | * this function samples the emg and sends it to HIDScope |
tomlankhorst | 14:f83354387756 | 12 | **/ |
tomlankhorst | 14:f83354387756 | 13 | void sample() |
vsluiter | 2:e314bb3b2d99 | 14 | { |
tomlankhorst | 14:f83354387756 | 15 | /* First, sample the EMG using the 'read' method of the 'AnalogIn' variable named 'emg' */ |
tomlankhorst | 14:f83354387756 | 16 | double emg_value = emg.read(); |
tomlankhorst | 14:f83354387756 | 17 | /* Second, set the sampled emg value in channel zero (the first channel) in the 'HIDScope' variable named 'scope' */ |
vsluiter | 11:ce72ec658a95 | 18 | scope.set(0,emg_value); |
tomlankhorst | 14:f83354387756 | 19 | /* Repeat the step above if required for more channels (channel 0 up to 5 = 6 channels) |
tomlankhorst | 14:f83354387756 | 20 | /* Finally, send all channels to the PC at once */ |
vsluiter | 11:ce72ec658a95 | 21 | scope.send(); |
vsluiter | 2:e314bb3b2d99 | 22 | } |
vsluiter | 0:32bb76391d89 | 23 | |
vsluiter | 0:32bb76391d89 | 24 | int main() |
vsluiter | 0:32bb76391d89 | 25 | { |
tomlankhorst | 14:f83354387756 | 26 | /**Attach the 'sample' function to the timer 'sample_timer'. |
tomlankhorst | 14:f83354387756 | 27 | * this ensures that 'sample' is executed every... 0.002 seconds |
vsluiter | 4:8b298dfada81 | 28 | */ |
tomlankhorst | 14:f83354387756 | 29 | sample_timer.attach(&sample, 0.002); |
tomlankhorst | 14:f83354387756 | 30 | |
tomlankhorst | 14:f83354387756 | 31 | /*empty loop, sample() is executed periodically*/ |
tomlankhorst | 14:f83354387756 | 32 | while(1){} |
vsluiter | 0:32bb76391d89 | 33 | } |