Ping Pong robot

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
JKleinRot
Date:
Tue Oct 14 14:22:18 2014 +0000
Parent:
2:fbda25b453b3
Commit message:
14-10-14 versie met commentaar en tips van Gijs

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Mon Oct 13 13:30:59 2014 +0000
+++ b/main.cpp	Tue Oct 14 14:22:18 2014 +0000
@@ -13,6 +13,10 @@
 #define D0              1
 #define D1              -1.709
 #define D2              0.9625
+#define E1              1.823
+#define E2              -0.8372
+#define F1              0.007438
+#define F2              0.00701
 
 //Pinverdeling en naamgeving variabelen
 Encoder motor_arm1(             //Encoder motor arm 1
@@ -114,23 +118,56 @@
             void sample_EMG{
                 xbk = emg_bi.read();            //Uitlezen EMG signaal biceps
                 xtk = emg_tri.read();           //Uitlezen EMG signaal triceps
+                filter();
+            }
+            
+            
+            void filter()
+            {
+                /* do filtering */
+                
+                }
+            ticker_sample_EMG.attach(sample_EMG,SAMPLETIME_EMG)     //Ticker gaat de void sample_EMG uitvoeren en dus de EMG uitlezen iedere 0.005 seconden
+            
+            while t<600{
+                xbkt(t)=xbk
+                ybkt(t) = ybk
+                xtkt(t) = xtk
+                ytkt(t) = ytk
+                t = t+1
             }
             
-            ticker_sample_EMG.attach(sample_EMG,SAMPLETIME_EMG)     //Ticker gaat de void sample_EMG uitvoeren en dus de EMG uitlezen iedere 0.005 seconden
             
             //Detrend
+            n = 600;
+        
+        //hier wordt de som van de x en y waardes van het gemeten signaal berekend
+        
+        int i, n //n = het aantaal samples dat we hebben, is afhankelijk van het tijdinterval dat we kiezen
+        for(i=0; i<n; i++) {
+            sum_bk = sum_bk + ybk(i) //functie met line 88 voor een soomatie van alle waardes
+            //sum = sum_bk
+            sum_tk += ytk(i)    //betekenis van de += dat de waardes altijd bij elkaar op worden geteld
             
+            // ook mean van de x en dan met de juiste/betere manier
+        }
+            
+        //hier wordt de mean van de x en y van het gemeten signaal gemeten
+            
+        mean_ybk = sum_bk./n
+        mean_xbk = sum_xbk./n
+
         
             //Hoogdoorlaatfilter 2Hz
             while(true){
-                ybk = A1*ybk1-A2*ybk2+B0*xbk-B1*xbk1+B2*xbk2        //Overdracht 2e orde hoogdoorlaatfilter
+                ybk = A1*ybk1+A2*ybk2+B0*xbk+B1*xbk1+B2*xbk2        //Overdracht 2e orde hoogdoorlaatfilter
                 
                 xbk2 = xbk1                                         //xbk(n-2) wordt xbk(n-1) in de volgende loop
                 xbk1 = xbk                                          //xbk(n-1) wordt xbk(n) in de volgende loop
                 ybk2 = ybk1                                         //ybk(n-2) wordt ybk(n-1) in de volgende loop
                 ybk1 = ybk                                          //ybk(n-1) wordt ybk(n) in de volgende loop
                 
-                ytk = A1*ytk1-A2*ytk2+B0*xtk-B1*xtk1+B2*xtk2        //Overdracht 2e orde hoogdoorlaatfilter
+                ytk = A1*ytk1+A2*ytk2+B0*xtk+B1*xtk1+B2*xtk2        //Overdracht 2e orde hoogdoorlaatfilter
                 
                 xtk2 = xtk1                                         //xtk(n-2) wordt xtk(n-1) in de volgende loop
                 xtk1 = xtk                                          //xtk(n-1) wordt xtk(n) in de volgende loop