いろんな出力のお試しコード

Dependencies:   mbed

Committer:
Kansuni
Date:
Sat May 16 06:30:14 2015 +0000
Revision:
1:b4d995953362
Parent:
0:2ea8da556ef4
Child:
2:a8e6713fbe41
?????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kansuni 0:2ea8da556ef4 1 //*****************************************
Kansuni 0:2ea8da556ef4 2 // コントローラのサンプルプログラム
Kansuni 0:2ea8da556ef4 3 //*****************************************
Kansuni 0:2ea8da556ef4 4
Kansuni 0:2ea8da556ef4 5 #include "mbed.h"
Kansuni 0:2ea8da556ef4 6 #include "main.h"
Kansuni 0:2ea8da556ef4 7
Kansuni 0:2ea8da556ef4 8 //デジタル読み取りピンの指定
Kansuni 0:2ea8da556ef4 9 DigitalInOut Abutton(dp25);
Kansuni 0:2ea8da556ef4 10 DigitalInOut Bbutton(dp26);
Kansuni 0:2ea8da556ef4 11
Kansuni 0:2ea8da556ef4 12 //デジタル出力ピン(モーター)の指定
Kansuni 1:b4d995953362 13 DigitalInOut motorA(dp4);
Kansuni 1:b4d995953362 14 DigitalInOut motorB(dp6);
Kansuni 0:2ea8da556ef4 15
Kansuni 0:2ea8da556ef4 16 //デジタル出力ピン(LED)の指定
Kansuni 0:2ea8da556ef4 17 DigitalInOut myLED(LED1);
Kansuni 0:2ea8da556ef4 18
Kansuni 0:2ea8da556ef4 19 //アナログ読み取りピンの指定
Kansuni 1:b4d995953362 20 AnalogIn JOYstick_LR(dp9);
Kansuni 1:b4d995953362 21 AnalogIn JOYstick_UD(dp10);
Kansuni 0:2ea8da556ef4 22
Kansuni 0:2ea8da556ef4 23 //PWM出力ピン(モーター?)の指定
Kansuni 0:2ea8da556ef4 24 PwmOut motorLR(dp1);
Kansuni 0:2ea8da556ef4 25 PwmOut motorUD(dp2);
Kansuni 0:2ea8da556ef4 26
Kansuni 0:2ea8da556ef4 27 //シリアル入出力ピンの指定
Kansuni 0:2ea8da556ef4 28 Serial Controller(dp16, dp15);
Kansuni 0:2ea8da556ef4 29
Kansuni 0:2ea8da556ef4 30 int main(void){
Kansuni 0:2ea8da556ef4 31
Kansuni 0:2ea8da556ef4 32 //初期設定
Kansuni 0:2ea8da556ef4 33 myLED = LOW;
Kansuni 1:b4d995953362 34 motorA = LOW;
Kansuni 1:b4d995953362 35 motorB = LOW;
Kansuni 0:2ea8da556ef4 36 motorLR = LOW;
Kansuni 0:2ea8da556ef4 37 motorUD = LOW;
Kansuni 0:2ea8da556ef4 38
Kansuni 0:2ea8da556ef4 39 //出力レートの指定
Kansuni 0:2ea8da556ef4 40 Controller.baud(9600);
Kansuni 0:2ea8da556ef4 41
Kansuni 0:2ea8da556ef4 42 //デジタル入出力ピンの動作設定
Kansuni 0:2ea8da556ef4 43 Abutton.input();
Kansuni 0:2ea8da556ef4 44 Bbutton.input();
Kansuni 0:2ea8da556ef4 45 motorA.output();
Kansuni 0:2ea8da556ef4 46 motorB.output();
Kansuni 0:2ea8da556ef4 47
Kansuni 0:2ea8da556ef4 48 int l=0;
Kansuni 0:2ea8da556ef4 49 while(1){
Kansuni 0:2ea8da556ef4 50 wait(0.5);
Kansuni 0:2ea8da556ef4 51 if(Controller.readable()){
Kansuni 0:2ea8da556ef4 52 break;
Kansuni 0:2ea8da556ef4 53 }
Kansuni 0:2ea8da556ef4 54 l ^= 1;
Kansuni 0:2ea8da556ef4 55 myLED = l;
Kansuni 0:2ea8da556ef4 56 }
Kansuni 0:2ea8da556ef4 57
Kansuni 0:2ea8da556ef4 58 float tmp;
Kansuni 0:2ea8da556ef4 59 while(1){
Kansuni 0:2ea8da556ef4 60
Kansuni 0:2ea8da556ef4 61 //ジョイスティックの左右方向読み取り
Kansuni 0:2ea8da556ef4 62 tmp = JOYstick_LR.read();
Kansuni 0:2ea8da556ef4 63 Controller.printf("JOYSTICK LR:%f",1-tmp);
Kansuni 0:2ea8da556ef4 64 Controller.printf("\n");
Kansuni 0:2ea8da556ef4 65 motorLR = tmp;
Kansuni 0:2ea8da556ef4 66
Kansuni 0:2ea8da556ef4 67 //ジョイスティックの上下方向読み取り
Kansuni 0:2ea8da556ef4 68 tmp = JOYstick_UD.read();
Kansuni 0:2ea8da556ef4 69 Controller.printf("JOYSTICK UD:%f",1-tmp);
Kansuni 0:2ea8da556ef4 70 Controller.printf("\n");
Kansuni 0:2ea8da556ef4 71 motorUD = tmp;
Kansuni 0:2ea8da556ef4 72
Kansuni 0:2ea8da556ef4 73 //タクトスイッチの動作全般
Kansuni 0:2ea8da556ef4 74
Kansuni 0:2ea8da556ef4 75 //タクトスイッチ(Aボタン)が押されていれば"A"を表示.モータ正回転
Kansuni 0:2ea8da556ef4 76 if(Abutton == HIGH && Bbutton == LOW){
Kansuni 0:2ea8da556ef4 77 Controller.printf("A \n");
Kansuni 1:b4d995953362 78 motorA = HIGH;
Kansuni 1:b4d995953362 79 motorB = LOW;
Kansuni 0:2ea8da556ef4 80 }
Kansuni 0:2ea8da556ef4 81 //タクトスイッチ(Bボタン)が押されていれば"B"を表示.モータ逆回転
Kansuni 0:2ea8da556ef4 82 else if(Abutton == LOW && Bbutton == HIGH){
Kansuni 0:2ea8da556ef4 83 Controller.printf("B \n");
Kansuni 1:b4d995953362 84 motorA = LOW;
Kansuni 1:b4d995953362 85 motorB = HIGH;
Kansuni 0:2ea8da556ef4 86 }
Kansuni 0:2ea8da556ef4 87 //タクトスイッチ(AボタンとBボタン)が押されていれば"AとB"を表示.モータは動かない
Kansuni 0:2ea8da556ef4 88 else if(Abutton == HIGH && Bbutton == HIGH){
Kansuni 0:2ea8da556ef4 89 Controller.printf("A and B \n");
Kansuni 1:b4d995953362 90 motorA = HIGH;
Kansuni 1:b4d995953362 91 motorB = HIGH;
Kansuni 0:2ea8da556ef4 92 }
Kansuni 0:2ea8da556ef4 93 //何も押されていなければ、何も表示しない.モータは動かない
Kansuni 0:2ea8da556ef4 94 else{
Kansuni 1:b4d995953362 95 motorA = HIGH;
Kansuni 1:b4d995953362 96 motorB = HIGH;
Kansuni 0:2ea8da556ef4 97 }
Kansuni 0:2ea8da556ef4 98
Kansuni 0:2ea8da556ef4 99 //100ms待機
Kansuni 0:2ea8da556ef4 100 wait(0.1);
Kansuni 0:2ea8da556ef4 101
Kansuni 0:2ea8da556ef4 102 }
Kansuni 0:2ea8da556ef4 103
Kansuni 0:2ea8da556ef4 104 }