Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: HIDScope MODSERIAL QEI TextLCD mbed
Diff: Kalibratie.cpp
- Revision:
- 22:c1811e60bfce
- Parent:
- 21:8fe8419de3e9
- Child:
- 24:ddd69385b55f
--- a/Kalibratie.cpp Wed Oct 14 14:49:47 2015 +0000
+++ b/Kalibratie.cpp Thu Oct 15 10:00:54 2015 +0000
@@ -1,13 +1,13 @@
#include "Kalibratie.h"
#include "Filterdesigns.h"
-#include "MODSERIAL.h" //bugfix
+//#include "MODSERIAL.h" //bugfix
-Timer Timermax;
-Timer Timermin;
AnalogIn emg2(A0); //Analog input van emg kabels
-MODSERIAL pc2(USBTX, USBRX); //bugfix
-DigitalOut LedGreen(LED2);
-DigitalOut LedRed(LED1);
+//MODSERIAL pc2(USBTX, USBRX); //bugfix
+DigitalOut LedGreen(LED2);
+DigitalOut LedRed(LED1);
+
+int samples = 100;
void Init()
{
@@ -17,24 +17,22 @@
double KalibratieMax(bool &readymax) //Kalibratie van de maximum waarde
{
- Timermax.reset();
- Timermax.start(); //Start de timer
-
+ //pc2.baud(115200);
LedGreen.write(0); //Led aan
double ymax = 0;
- while(Timermax <= 5) { //Als timer onder de 5 seconden is dit uitvoeren
+ for(int i = 1; i <= samples; i++) { //Als timer onder de 5 seconden is dit uitvoeren
double u = emg2.read();
double y = Filterdesigns(u);
- if (y > ymax && Timermax >= 1) { //Als de gemeten waarde groter is dan de opgeslagen waarde wordt dit de nieuwe opgeslagen waarde
+
+ if (y > ymax && i >= samples / 10) { //Als de gemeten waarde groter is dan de opgeslagen waarde wordt dit de nieuwe opgeslagen waarde
ymax = y;
}
- else {
- }
- pc2.printf("y = %f en ymax = %f \n",y,ymax); //bugfix
+ else {}
+ //pc2.printf("y = %f en ymax = %f \n",y,ymax); //bugfix
+ wait(0.05);
}
- Timermax.stop();
LedGreen.write(1); //Led aan
readymax = 1; // Zodat systeem weet wanneer kalibratie voltooid is
return ymax;
@@ -42,25 +40,22 @@
double KalibratieMin(bool &readymin) //Kalibratie van de minimum waarde
{
- Timermin.reset();
- Timermin.start();
-
+ //pc2.baud(115200);
LedRed.write(0);
double ymin = 10;
- while(Timermin <= 5) {
+ for(int i = 1; i <= samples; i++) {
double u = emg2.read();
double y = Filterdesigns(u);
- if (y < ymin && Timermin >= 1) {
+ if (y < ymin && i >= samples / 10) {
ymin = y;
}
- else {
- }
- pc2.printf("y = %f en ymin = %f \n",y,ymin); //bugfix
+ else {}
+ //pc2.printf("y = %f en ymin = %f \n",y,ymin); //bugfix
+ wait(0.05);
}
- Timermin.stop();
LedRed.write(1);
readymin = 1;
return ymin;