y w / Mbed 2 deprecated moter_titech

Dependencies:   mbed-rtos mbed

Files at this revision

API Documentation at this revision

Comitter:
nekoyyy
Date:
Thu Jan 30 05:24:48 2014 +0000
Parent:
8:3eb58ae94a93
Commit message:
????mbed

Changed in this revision

ASI.h Show annotated file Show diff for this revision Revisions of this file
DOU.h Show annotated file Show diff for this revision Revisions of this file
HANTEI.h Show annotated file Show diff for this revision Revisions of this file
HIROSE.h Show annotated file Show diff for this revision Revisions of this file
ZENGO.h Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ASI.h	Thu Jan 30 05:24:48 2014 +0000
@@ -0,0 +1,42 @@
+#ifndef ASI_H
+#define ASI_H
+
+#include "mbed.h"
+#include "rtos.h"
+
+Serial pc(USBTX, USBRX);
+PwmOut Dou1(p21);
+PwmOut Asi1(p23);
+PwmOut Dou2(p22);
+PwmOut Asi2(p24);
+
+AnalogIn pote1(p15);
+AnalogIn pote2(p16);
+AnalogIn psd(p20);
+
+DigitalIn hiro(p10);
+char c;
+
+
+int zen1=0;
+int go1=0;
+int zen2=0;
+int go2=0;
+int dou1=0;
+int dou2=0;
+
+int potentio1;
+int potentio2;
+
+int deg1=1;
+int deg2=1;
+
+int hirose=0;
+
+#include "HANTEI.h"
+#include "ZENGO.h"
+#include "DOU.h"
+#include "HIROSE.h"
+
+
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DOU.h	Thu Jan 30 05:24:48 2014 +0000
@@ -0,0 +1,66 @@
+ 
+ void DOU1(void const *argument) {
+ Dou1.period(0.0001);
+  Dou1.pulsewidth(0.00005f);
+ while(true){
+     if(dou1==1){
+        switch(deg1){
+            case 1:
+            Dou1.pulsewidth(0.00010f); //iki
+            if(pote1>0.7f)deg1=2;
+            break;
+            
+            case 2:
+            Dou1.pulsewidth(0.00005f); //stop
+            deg1=3;
+            break;
+            
+            case 3:
+            Dou1.pulsewidth(0.00000f); //kaeri
+            if(pote1<0.3f)deg1=4;
+            break;
+            
+            case 4:
+            Dou1.pulsewidth(0.00005f); //stop
+            deg1=1;
+            dou1=0;
+            break;
+        }
+    }
+    }
+}
+
+ 
+  void DOU2(void const *argument) {
+ Dou2.period(0.0001);
+  Dou2.pulsewidth(0.00005f);
+ while(true){
+     if(dou2==1){
+        switch(deg2){
+            case 1:
+            Dou2.pulsewidth(0.00010f); //iki
+            if(pote2>0.566f)deg2=2;
+            break;
+            
+            case 2:
+            Dou2.pulsewidth(0.00005f); //stop
+            deg2=3;
+            break;
+            
+            case 3:
+            Dou2.pulsewidth(0.00000f); //kaeri
+            if(pote2<0.53f)deg2=4;
+            break;
+            
+            case 4:
+            Dou2.pulsewidth(0.00005f); //stop
+            deg2=1;
+            dou2=0;
+            break;
+        }
+    }
+    }
+}
+
+
+ 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/HANTEI.h	Thu Jan 30 05:24:48 2014 +0000
@@ -0,0 +1,70 @@
+void HANTEI(void const *argument) {
+ while(true){
+        if(pc.readable()==1){
+        c=pc.getc();
+        switch(c){
+        case'g':
+            zen1=1;
+            c=0;
+            pc.printf("go\n");
+            break;
+            
+        case'n':
+            zen1=0;
+            go1=0;
+            c=0;
+            pc.printf("stop\n");
+            break;
+            
+        case'z':
+            go1=1;
+            c=0;
+            pc.printf("zen\n");
+            break;
+            
+       case'c':
+            zen2=1;
+            c=0;
+            pc.printf("go\n");
+            break;
+            
+        case'p':
+            zen2=0;
+            go2=0;
+            c=0;
+            pc.printf("stop\n");
+            break;
+            
+        case'x':
+            go2=1;
+            c=0;
+            pc.printf("zen\n");
+            break;
+            
+        case'd':
+            dou1=1;
+            c=0;
+            pc.printf("dou\n");
+            break;       
+            
+        case'q':
+            dou2=1;
+            c=0;
+            pc.printf("dou\n");
+            break;   
+            
+            case'a':     //hirose
+                if(hirose==0){
+                hirose=1;
+                pc.printf("hirose_start\n");
+                }
+                else if(hirose==1){
+                hirose=0;
+                pc.printf("hirose_end\n");
+                }
+                c=0;
+        break;
+        }
+    }
+}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/HIROSE.h	Thu Jan 30 05:24:48 2014 +0000
@@ -0,0 +1,23 @@
+void HIROSE(void const *argument) {
+    float syatei1=0.3f;
+    float syatei2=0.5f;
+    while(1){
+        if(hirose==1){
+            if(psd<syatei1){
+                zen2=1;
+                wait(0.3);
+                zen2=0;
+                }else;
+            if(psd>syatei2){
+                go2=1;
+                wait(0.3);
+                go2=0;
+                }else;
+                wait(1.0);
+            if((hiro==1)&&(dou2==0)){
+                dou2=1;
+                }else;    
+            }else;
+            }
+            }
+            
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ZENGO.h	Thu Jan 30 05:24:48 2014 +0000
@@ -0,0 +1,29 @@
+ void ZENGO1(void const *argument) {
+  Asi1.period(0.0001); 
+ while(true){
+     if(go1==1){
+            Asi1.pulsewidth(0.00009f);
+        }
+    else if(zen1==1){
+            Asi1.pulsewidth(0.00001f);
+        }
+    else{
+        Asi1.pulsewidth(0.00005f);
+        }
+    }
+}
+
+ void ZENGO2(void const *argument) {
+  Asi2.period(0.0001); 
+ while(true){
+     if(zen2==1){
+            Asi2.pulsewidth(0.00009f);
+        }
+    else if(go2==1){
+            Asi2.pulsewidth(0.00001f);
+        }
+    else{
+        Asi2.pulsewidth(0.00005f);
+        }
+    }
+}
--- a/main.cpp	Thu Jan 23 05:39:20 2014 +0000
+++ b/main.cpp	Thu Jan 30 05:24:48 2014 +0000
@@ -1,139 +1,11 @@
-#include "mbed.h"
-#include "rtos.h"
-
-Serial pc(USBTX, USBRX);
-PwmOut Dou1(p21);
-PwmOut Asi1(p23);
-PwmOut Dou2(p22);
-PwmOut Asi2(p24);
-
-char c;
-
-
-int zen1=0;
-int go1=0;
-int zen2=0;
-int go2=0;
-int dou1=0;
-
-void HANTEI(void const *argument) {
- while(true){
-        if(pc.readable()==1){
-        c=pc.getc();
-        switch(c){
-        case'g':
-            zen1=1;
-            c=0;
-            pc.printf("go\n");
-            break;
-            
-        case'n':
-            zen1=0;
-            go1=0;
-            c=0;
-            pc.printf("stop\n");
-            break;
-            
-        case'z':
-            go1=1;
-            c=0;
-            pc.printf("zen\n");
-            break;
-            
-       case'c':
-            zen2=1;
-            c=0;
-            pc.printf("go\n");
-            break;
-            
-        case'p':
-            zen2=0;
-            go2=0;
-            c=0;
-            pc.printf("stop\n");
-            break;
-            
-        case'x':
-            go2=1;
-            c=0;
-            pc.printf("zen\n");
-            break;
-            
-        case'd':
-            dou1=1;
-            c=0;
-            pc.printf("dou\n");
-            break;       
-        }
-    }
-}
-}
-
-
- void ZENGO1(void const *argument) {
-  Asi1.period(0.00001); 
- while(true){
-     if(go1==1){
-            Asi1.pulsewidth(0.00000f);
-        }
-    else if(zen1==1){
-            Asi1.pulsewidth(0.00001f);
-        }
-    else{
-        Asi1.pulsewidth(0.000005f);
-        }
-    }
-}
-
- void ZENGO2(void const *argument) {
-  Asi2.period(0.00001); 
- while(true){
-     if(zen2==1){
-            Asi2.pulsewidth(0.000006f);
-        }
-    else if(go2==1){
-            Asi2.pulsewidth(0.000004f);
-        }
-    else{
-        Asi2.pulsewidth(0.000005f);
-        }
-    }
-}
- 
- void DOU1(void const *argument) {
-  Dou1.period(0.00001); 
-  int i=1;
-  int d=1;
- while(true){
-     if(dou1==1){
-        switch(d){
-            case 1:
-            Dou1.pulsewidth(0.000004f);
-            i=i++;
-            wait(0.02);
-            if(i>50)d=2;
-            break;
-            
-            case 2:
-            Dou1.pulsewidth(0.000006f);
-            i=i--;
-            wait(0.02);
-            if(i>2){
-                d=1;
-                dou1=0;
-                }
-            break;
-            }
-        }
-    }
-}
- 
- 
+#include "ASI.h"
 int main() {
     Thread t1(HANTEI);
     Thread t2(ZENGO1);
     Thread t3(ZENGO2);
     Thread t4(DOU1);
+    Thread t5(DOU2);
+    Thread t6(HIROSE);
 
     pc.printf("start\n");