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.
Revision 9:215d94939bc9, committed 2014-01-30
- Comitter:
- nekoyyy
- Date:
- Thu Jan 30 05:24:48 2014 +0000
- Parent:
- 8:3eb58ae94a93
- Commit message:
- ????mbed
Changed in this revision
--- /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");