jalan kiri

Dependencies:   Motor PID mbed millis

Fork of Encoder_Base_NasioanalV1 by KRAI 2017

Revision:
3:db2dc06c0686
Parent:
2:9cf609b74de9
diff -r 9cf609b74de9 -r db2dc06c0686 main.cpp
--- a/main.cpp	Mon May 29 17:01:57 2017 +0000
+++ b/main.cpp	Tue May 30 14:11:07 2017 +0000
@@ -17,7 +17,7 @@
 /*   SETTINGS (WAJIB!) :                                                    */
 /*   1. Settings Pin Encoder, Resolusi, dan Tipe encoding                   */
 /*   2. Deklarasi penggunaan library pada bagian deklarasi encoder          */
-/*   3. Searah jarum jam positif 517 pulse 1 putaran enc Atas, 524 kiri     */
+/*   3. !arah jarum jam positif 517 pulse 1 putaran enc Atas, 524 kiri      */
 /*                                                                          */
 /****************************************************************************/
 
@@ -51,8 +51,8 @@
 Serial pc(USBTX,USBRX);
 
 /* Deklarasi Encoder Launcher */
-encoderKRAI encKiri( PB_5, PB_4, 28, encoderKRAI::X4_ENCODING);
-encoderKRAI encAtas( PA_15, PA_14, 28, encoderKRAI::X4_ENCODING);
+encoderKRAI encBawah( PB_4, PB_5, 28, encoderKRAI::X4_ENCODING);
+encoderKRAI encDepan( PA_14, PA_15, 28, encoderKRAI::X4_ENCODING);
 
 /* Deklarasi Motor Base */
 Motor motorDpn(PB_7, PC_3, PC_0); //(PB_9, PA_12, PC_5); 
@@ -62,15 +62,25 @@
 
 void setCenter(){
 /* Fungsi untuk menentukan center dari robot */
-    encKiri.reset();
-    encAtas.reset();
+    encBawah.reset();
+    encDepan.reset();
 }
 
 int main(void){
+    double p_samp=0,error=0,kp=0.082;
     pc.baud(115200);
     setCenter();
-    while(1){
-        pc.printf("kiri %d, atas %d \n",(int)encKiri.getPulses(),(int)encAtas.getPulses());
-        //wait_ms(500); 
+    
+    while(encDepan.getPulses()<5740){
+        pc.printf("error %d, p_samp %lf \n",(int)encDepan.getPulses()+(int)encBawah.getPulses(),p_samp);
+        error = encDepan.getPulses()+encBawah.getPulses();
+        p_samp = kp * error;
+        motorDpn.speed(0.7-p_samp);
+        motorBlk.speed(-0.7);
+        wait_ms(12.5); 
+        if(p_samp>1.5)p_samp = 1.5;
+        if(p_samp<-0.3)p_samp = -0.3;
     }
+    motorDpn.speed(0);
+    motorBlk.speed(0);
 }
\ No newline at end of file