Master Swordの吹奏楽部展示時用のプログラムです
Fork of MIYABI_Drive by
Diff: main.cpp
- Revision:
- 2:41795d8bc7cb
- Parent:
- 0:fb6bbc10ffa0
- Child:
- 3:3707e3934185
--- a/main.cpp Sun Jan 01 20:57:57 2012 +0000 +++ b/main.cpp Thu Jul 27 11:31:52 2017 +0000 @@ -1,12 +1,76 @@ #include "mbed.h" +#include "TextLCD.h" -DigitalOut myled(LED1); +PwmOut led1(LED1); +PwmOut led2(LED2); +PwmOut led3(LED3); +PwmOut led4(LED4); + +PwmOut moter1(p21); +PwmOut moter2(p22); +DigitalIn sw1(p23); + +TextLCD lcd(p24, p26, p27, p28, p29, p30); // rs, e, d0-d3 int main() { + + int i; + int s; + int n; + + i = 0; + s = 0; + n = 100; + + sw1.mode( PullUp ); + moter1 = 0.0; + moter2 = 0.0; + + //離れての表示と、動作待ちの5秒待機 + lcd.cls(); + lcd.locate(0,0); + lcd.printf("Ready to start"); + lcd.locate(0,1); + lcd.printf("Don't touch me"); + wait(5); + + //モータ出力ON + moter1 = 0.1; + moter2 = 0.1; + while(1) { - myled = 1; - wait(0.2); - myled = 0; - wait(0.2); + + //クリック回数のカウント + //チャタリング防止のためタイマ有り + //一度OFFになったことを検知するステータスフラグあり + if(sw1 == 0 and s == 0) { + s = 1; + i++; + wait(0.0001); + } + else if(sw1 == 1) { + s = 0; + } + + //LCDへの回数の記載 + lcd.cls(); + lcd.locate(0,0); + lcd.printf("%d",i); + + //テスト中か、終了したかのLCDへの記載 + if( n > i ) { + lcd.locate(0,1); + lcd.printf("testing"); + } + else { + lcd.locate(0,1); + lcd.printf("End"); + + moter1 = 0; + moter2 = 0; + } + + //LCDへの記載を安定させるための待機 + wait(0.05); } }