Filter emg 7-10-15 v1
Dependencies: HIDScope mbed MODSERIAL
Kalibratie.cpp
- Committer:
- Bartvaart
- Date:
- 2015-10-12
- Revision:
- 18:eec0880fcded
- Parent:
- 17:cfe44346645c
- Child:
- 19:6c0245063b96
File content as of revision 18:eec0880fcded:
#include "Kalibratie.h" #include "Filterdesigns.h" Timer Timermax; Timer Timermin; AnalogIn emg2(A0); //Analog input van emg kabels DigitalOut LedGreen(LED2); DigitalOut LedRed(LED1); void Init() { LedGreen = 1; LedRed = 1; } double KalibratieMax(bool &readymax) //Kalibratie van de maximum waarde { Timermax.start(); //Start de timer LedGreen.write(0); //Led aan double ymax = 0; double gem = 0; // omdat y min nog niet is gedefinieerd moet er daarvoor in de plaats een waarde 0 worden doorgestuurd naar het programma Filterdesigns. Omdat het onduidelijk is dezse ymin te gaan noemen in een bestand waar ymin ook wordt bepaald heet deze in dit geval gem while(Timermax <= 5) { //Als timer onder de 5 seconden is dit uitvoeren double u = emg2.read(); double y = Filterdesigns(u, gem); if (y > ymax) { //Als de gemeten waarde groter is dan de opgeslagen waarde wordt dit de nieuwe opgeslagen waarde ymax = y; } else { } } Timermax.stop(); LedGreen.write(1); //Led aan readymax = 1; // Zodat systeem weet wanneer kalibratie voltooid is return ymax; } double KalibratieMin(bool &readymin) //Kalibratie van de minimum waarde { Timermin.start(); LedRed.write(0); double ymin = 10; double gem = 0; while(Timermin <= 5) { double u = emg2.read(); double y = Filterdesigns(u, gem); if (y < ymin) { ymin = y; } else { } } Timermin.stop(); LedRed.write(1); readymin = 1; return ymin; }