Master Swordの吹奏楽部展示時用のプログラムです

Dependencies:   TextLCD mbed

Fork of MIYABI_Drive by Nin_PTD_Mecha

Committer:
iwaki
Date:
Thu Jul 27 11:31:52 2017 +0000
Revision:
2:41795d8bc7cb
Parent:
0:fb6bbc10ffa0
Child:
3:3707e3934185
MIYABI?

Who changed what in which revision?

UserRevisionLine numberNew contents of line
simon 0:fb6bbc10ffa0 1 #include "mbed.h"
iwaki 2:41795d8bc7cb 2 #include "TextLCD.h"
simon 0:fb6bbc10ffa0 3
iwaki 2:41795d8bc7cb 4 PwmOut led1(LED1);
iwaki 2:41795d8bc7cb 5 PwmOut led2(LED2);
iwaki 2:41795d8bc7cb 6 PwmOut led3(LED3);
iwaki 2:41795d8bc7cb 7 PwmOut led4(LED4);
iwaki 2:41795d8bc7cb 8
iwaki 2:41795d8bc7cb 9 PwmOut moter1(p21);
iwaki 2:41795d8bc7cb 10 PwmOut moter2(p22);
iwaki 2:41795d8bc7cb 11 DigitalIn sw1(p23);
iwaki 2:41795d8bc7cb 12
iwaki 2:41795d8bc7cb 13 TextLCD lcd(p24, p26, p27, p28, p29, p30); // rs, e, d0-d3
simon 0:fb6bbc10ffa0 14
simon 0:fb6bbc10ffa0 15 int main() {
iwaki 2:41795d8bc7cb 16
iwaki 2:41795d8bc7cb 17 int i;
iwaki 2:41795d8bc7cb 18 int s;
iwaki 2:41795d8bc7cb 19 int n;
iwaki 2:41795d8bc7cb 20
iwaki 2:41795d8bc7cb 21 i = 0;
iwaki 2:41795d8bc7cb 22 s = 0;
iwaki 2:41795d8bc7cb 23 n = 100;
iwaki 2:41795d8bc7cb 24
iwaki 2:41795d8bc7cb 25 sw1.mode( PullUp );
iwaki 2:41795d8bc7cb 26 moter1 = 0.0;
iwaki 2:41795d8bc7cb 27 moter2 = 0.0;
iwaki 2:41795d8bc7cb 28
iwaki 2:41795d8bc7cb 29 //離れての表示と、動作待ちの5秒待機
iwaki 2:41795d8bc7cb 30 lcd.cls();
iwaki 2:41795d8bc7cb 31 lcd.locate(0,0);
iwaki 2:41795d8bc7cb 32 lcd.printf("Ready to start");
iwaki 2:41795d8bc7cb 33 lcd.locate(0,1);
iwaki 2:41795d8bc7cb 34 lcd.printf("Don't touch me");
iwaki 2:41795d8bc7cb 35 wait(5);
iwaki 2:41795d8bc7cb 36
iwaki 2:41795d8bc7cb 37 //モータ出力ON
iwaki 2:41795d8bc7cb 38 moter1 = 0.1;
iwaki 2:41795d8bc7cb 39 moter2 = 0.1;
iwaki 2:41795d8bc7cb 40
simon 0:fb6bbc10ffa0 41 while(1) {
iwaki 2:41795d8bc7cb 42
iwaki 2:41795d8bc7cb 43 //クリック回数のカウント
iwaki 2:41795d8bc7cb 44 //チャタリング防止のためタイマ有り
iwaki 2:41795d8bc7cb 45 //一度OFFになったことを検知するステータスフラグあり
iwaki 2:41795d8bc7cb 46 if(sw1 == 0 and s == 0) {
iwaki 2:41795d8bc7cb 47 s = 1;
iwaki 2:41795d8bc7cb 48 i++;
iwaki 2:41795d8bc7cb 49 wait(0.0001);
iwaki 2:41795d8bc7cb 50 }
iwaki 2:41795d8bc7cb 51 else if(sw1 == 1) {
iwaki 2:41795d8bc7cb 52 s = 0;
iwaki 2:41795d8bc7cb 53 }
iwaki 2:41795d8bc7cb 54
iwaki 2:41795d8bc7cb 55 //LCDへの回数の記載
iwaki 2:41795d8bc7cb 56 lcd.cls();
iwaki 2:41795d8bc7cb 57 lcd.locate(0,0);
iwaki 2:41795d8bc7cb 58 lcd.printf("%d",i);
iwaki 2:41795d8bc7cb 59
iwaki 2:41795d8bc7cb 60 //テスト中か、終了したかのLCDへの記載
iwaki 2:41795d8bc7cb 61 if( n > i ) {
iwaki 2:41795d8bc7cb 62 lcd.locate(0,1);
iwaki 2:41795d8bc7cb 63 lcd.printf("testing");
iwaki 2:41795d8bc7cb 64 }
iwaki 2:41795d8bc7cb 65 else {
iwaki 2:41795d8bc7cb 66 lcd.locate(0,1);
iwaki 2:41795d8bc7cb 67 lcd.printf("End");
iwaki 2:41795d8bc7cb 68
iwaki 2:41795d8bc7cb 69 moter1 = 0;
iwaki 2:41795d8bc7cb 70 moter2 = 0;
iwaki 2:41795d8bc7cb 71 }
iwaki 2:41795d8bc7cb 72
iwaki 2:41795d8bc7cb 73 //LCDへの記載を安定させるための待機
iwaki 2:41795d8bc7cb 74 wait(0.05);
simon 0:fb6bbc10ffa0 75 }
simon 0:fb6bbc10ffa0 76 }