Master Swordの吹奏楽部展示時用のプログラムです
Fork of MIYABI_Drive by
main.cpp@2:41795d8bc7cb, 2017-07-27 (annotated)
- 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?
User | Revision | Line number | New 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 | } |