akira yamada
/
Logibot_sample
Logibotのサンプルプログラミングです
main.cpp@0:66a643c36c9e, 2017-03-03 (annotated)
- Committer:
- natuga117
- Date:
- Fri Mar 03 18:32:40 2017 +0000
- Revision:
- 0:66a643c36c9e
Logibot????????????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
natuga117 | 0:66a643c36c9e | 1 | #include "mbed.h" |
natuga117 | 0:66a643c36c9e | 2 | #include "beep_sound.h" |
natuga117 | 0:66a643c36c9e | 3 | DigitalOut leds[]= {DigitalOut(D9),DigitalOut(A2),DigitalOut(D3),DigitalOut(A5),DigitalOut(D5),DigitalOut(A4),DigitalOut(D4),DigitalOut(A3),DigitalOut(D10),DigitalOut(A0)}; |
natuga117 | 0:66a643c36c9e | 4 | //モーター用のピン設定 |
natuga117 | 0:66a643c36c9e | 5 | DigitalOut Ain1(PD_2); |
natuga117 | 0:66a643c36c9e | 6 | DigitalOut Ain2(PC_12); |
natuga117 | 0:66a643c36c9e | 7 | PwmOut Aen(PC_8); |
natuga117 | 0:66a643c36c9e | 8 | DigitalOut Bin1(PC_11); |
natuga117 | 0:66a643c36c9e | 9 | DigitalOut Bin2(PC_10); |
natuga117 | 0:66a643c36c9e | 10 | PwmOut Ben(PC_9); |
natuga117 | 0:66a643c36c9e | 11 | //スピーカー用のピン設定 |
natuga117 | 0:66a643c36c9e | 12 | beep_sound sp(PB_7); |
natuga117 | 0:66a643c36c9e | 13 | //ボタン用のピン設定 |
natuga117 | 0:66a643c36c9e | 14 | DigitalIn sw(PC_13); |
natuga117 | 0:66a643c36c9e | 15 | //以下関数プロトタイプ宣言// |
natuga117 | 0:66a643c36c9e | 16 | void play_music(); |
natuga117 | 0:66a643c36c9e | 17 | /** |
natuga117 | 0:66a643c36c9e | 18 | 音楽を鳴らします |
natuga117 | 0:66a643c36c9e | 19 | **/ |
natuga117 | 0:66a643c36c9e | 20 | void move(int Lspeed,int Rspeed); |
natuga117 | 0:66a643c36c9e | 21 | /** |
natuga117 | 0:66a643c36c9e | 22 | モーターを動かす関数 |
natuga117 | 0:66a643c36c9e | 23 | Rspeed 入れられる値:整数で-100~100 |
natuga117 | 0:66a643c36c9e | 24 | Lspeed 入れられる値:整数で-100~100 |
natuga117 | 0:66a643c36c9e | 25 | いずれも負の数で後退,正の数で前進 |
natuga117 | 0:66a643c36c9e | 26 | 例)move(100,100)//両モーター前進 |
natuga117 | 0:66a643c36c9e | 27 | **/ |
natuga117 | 0:66a643c36c9e | 28 | int main (void) //ここからプログラム開始 |
natuga117 | 0:66a643c36c9e | 29 | { |
natuga117 | 0:66a643c36c9e | 30 | ////サンプルプログラム//// |
natuga117 | 0:66a643c36c9e | 31 | //音を鳴らして動きます. // |
natuga117 | 0:66a643c36c9e | 32 | /////////////////////// |
natuga117 | 0:66a643c36c9e | 33 | sp.boot(); |
natuga117 | 0:66a643c36c9e | 34 | while(sw); |
natuga117 | 0:66a643c36c9e | 35 | while(1) { |
natuga117 | 0:66a643c36c9e | 36 | play_music(); |
natuga117 | 0:66a643c36c9e | 37 | move(-100,100); |
natuga117 | 0:66a643c36c9e | 38 | wait(0.8); |
natuga117 | 0:66a643c36c9e | 39 | move(100,-100); |
natuga117 | 0:66a643c36c9e | 40 | wait(0.8); |
natuga117 | 0:66a643c36c9e | 41 | } |
natuga117 | 0:66a643c36c9e | 42 | }//プログラム終了 |
natuga117 | 0:66a643c36c9e | 43 | void move(int Lspeed,int Rspeed) //モーターを動かす関数 |
natuga117 | 0:66a643c36c9e | 44 | { |
natuga117 | 0:66a643c36c9e | 45 | if(Lspeed>0) { //前転 |
natuga117 | 0:66a643c36c9e | 46 | Ain1=0; |
natuga117 | 0:66a643c36c9e | 47 | Ain2=1; |
natuga117 | 0:66a643c36c9e | 48 | Aen=(float)Lspeed/100; |
natuga117 | 0:66a643c36c9e | 49 | } else if(Lspeed==0) { |
natuga117 | 0:66a643c36c9e | 50 | Ain1=1; |
natuga117 | 0:66a643c36c9e | 51 | Ain2=1; |
natuga117 | 0:66a643c36c9e | 52 | Aen=1; |
natuga117 | 0:66a643c36c9e | 53 | } else { |
natuga117 | 0:66a643c36c9e | 54 | Ain1=1; |
natuga117 | 0:66a643c36c9e | 55 | Ain2=0; |
natuga117 | 0:66a643c36c9e | 56 | Aen=-(float)Lspeed/100; |
natuga117 | 0:66a643c36c9e | 57 | } |
natuga117 | 0:66a643c36c9e | 58 | if(Rspeed>0) { //前転 |
natuga117 | 0:66a643c36c9e | 59 | Bin1=1; |
natuga117 | 0:66a643c36c9e | 60 | Bin2=0; |
natuga117 | 0:66a643c36c9e | 61 | Ben=(float)Rspeed/100; |
natuga117 | 0:66a643c36c9e | 62 | } else if(Rspeed==0) { |
natuga117 | 0:66a643c36c9e | 63 | Bin1=1; |
natuga117 | 0:66a643c36c9e | 64 | Bin2=1; |
natuga117 | 0:66a643c36c9e | 65 | Ben=1; |
natuga117 | 0:66a643c36c9e | 66 | } else { |
natuga117 | 0:66a643c36c9e | 67 | Bin1=0; |
natuga117 | 0:66a643c36c9e | 68 | Bin2=1; |
natuga117 | 0:66a643c36c9e | 69 | Ben=-(float)Rspeed/100; |
natuga117 | 0:66a643c36c9e | 70 | } |
natuga117 | 0:66a643c36c9e | 71 | } |
natuga117 | 0:66a643c36c9e | 72 | void play_music() //音楽を鳴らす関数 |
natuga117 | 0:66a643c36c9e | 73 | { |
natuga117 | 0:66a643c36c9e | 74 | sp.setGakuhu(1,0,0.2); |
natuga117 | 0:66a643c36c9e | 75 | sp.setGakuhu(1,2,0.2); |
natuga117 | 0:66a643c36c9e | 76 | sp.setGakuhu(1,4,0.2); |
natuga117 | 0:66a643c36c9e | 77 | sp.setGakuhu(1,5,0.2); |
natuga117 | 0:66a643c36c9e | 78 | sp.setGakuhu(1,7,0.2); |
natuga117 | 0:66a643c36c9e | 79 | sp.setGakuhu(1,5,0.2); |
natuga117 | 0:66a643c36c9e | 80 | sp.setGakuhu(1,4,0.2); |
natuga117 | 0:66a643c36c9e | 81 | sp.setGakuhu(1,2,0.2); |
natuga117 | 0:66a643c36c9e | 82 | sp.playGakuhu(); |
natuga117 | 0:66a643c36c9e | 83 | } |