first
Dependencies: Motordriver mbed
main.cpp@1:30d2ed68c9f6, 2016-08-04 (annotated)
- Committer:
- a1503yi
- Date:
- Thu Aug 04 16:39:05 2016 +0000
- Revision:
- 1:30d2ed68c9f6
- Parent:
- 0:86c24595c963
- Child:
- 2:e8e1041179b9
second
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
a1503yi | 1:30d2ed68c9f6 | 1 | //#include "motordriver.h" |
a1503yi | 1:30d2ed68c9f6 | 2 | #include "mbed.h" |
a1503yi | 0:86c24595c963 | 3 | //#include <string> |
a1503yi | 0:86c24595c963 | 4 | |
a1503yi | 0:86c24595c963 | 5 | // --- SpeedCntrPWM --- |
a1503yi | 0:86c24595c963 | 6 | PwmOut speed_in1(p22) ; // IN1への出力 |
a1503yi | 0:86c24595c963 | 7 | PwmOut speed_in2(p23) ; // IN2への出力 |
a1503yi | 0:86c24595c963 | 8 | Ticker min ; // 一定時間ごとに関数を呼ぶ割込み処理用オブジェクト |
a1503yi | 0:86c24595c963 | 9 | Serial pc(USBTX, USBRX); // tx, rx |
a1503yi | 0:86c24595c963 | 10 | Serial gps(p28,p27); |
a1503yi | 0:86c24595c963 | 11 | |
a1503yi | 0:86c24595c963 | 12 | int cnt = 0; |
a1503yi | 0:86c24595c963 | 13 | int rpm = 0; |
a1503yi | 0:86c24595c963 | 14 | bool flag = false; |
a1503yi | 0:86c24595c963 | 15 | |
a1503yi | 0:86c24595c963 | 16 | |
a1503yi | 0:86c24595c963 | 17 | // 回転数の表示を更新する関数 |
a1503yi | 0:86c24595c963 | 18 | void measure() |
a1503yi | 0:86c24595c963 | 19 | { |
a1503yi | 0:86c24595c963 | 20 | rpm = cnt * 5 ; // rpm = cnt * ( 60秒 / 3秒 ) / 4回 |
a1503yi | 0:86c24595c963 | 21 | flag = true; |
a1503yi | 0:86c24595c963 | 22 | cnt = 0; |
a1503yi | 0:86c24595c963 | 23 | } |
a1503yi | 0:86c24595c963 | 24 | int main() { |
a1503yi | 0:86c24595c963 | 25 | |
a1503yi | 0:86c24595c963 | 26 | wait(3); |
a1503yi | 0:86c24595c963 | 27 | |
a1503yi | 0:86c24595c963 | 28 | //myled1 = 1; |
a1503yi | 0:86c24595c963 | 29 | //myled2 = 0; |
a1503yi | 0:86c24595c963 | 30 | |
a1503yi | 0:86c24595c963 | 31 | char buff[255]; |
a1503yi | 0:86c24595c963 | 32 | unsigned int c; |
a1503yi | 0:86c24595c963 | 33 | |
a1503yi | 0:86c24595c963 | 34 | float sp1, sp2; |
a1503yi | 0:86c24595c963 | 35 | //lcd.cls(); |
a1503yi | 0:86c24595c963 | 36 | // Pwm の周期を100[mS]に設定 |
a1503yi | 0:86c24595c963 | 37 | speed_in1.period(0.1) ; |
a1503yi | 0:86c24595c963 | 38 | speed_in2.period(0.1) ; |
a1503yi | 0:86c24595c963 | 39 | |
a1503yi | 0:86c24595c963 | 40 | |
a1503yi | 0:86c24595c963 | 41 | // 3秒ごとにmeasure関数を呼ぶ |
a1503yi | 0:86c24595c963 | 42 | min.attach(&measure ,3.0) ; |
a1503yi | 0:86c24595c963 | 43 | |
a1503yi | 0:86c24595c963 | 44 | while(1) { |
a1503yi | 0:86c24595c963 | 45 | |
a1503yi | 0:86c24595c963 | 46 | |
a1503yi | 0:86c24595c963 | 47 | sp1 = 1.0f; // IN1のデューティ比 100%にする |
a1503yi | 0:86c24595c963 | 48 | sp2 = 0.0f; |
a1503yi | 0:86c24595c963 | 49 | //lcd.locate(0,0); |
a1503yi | 0:86c24595c963 | 50 | //lcd.printf("High Speed"); |
a1503yi | 0:86c24595c963 | 51 | |
a1503yi | 0:86c24595c963 | 52 | speed_in1.write(sp1) ; // デューティ比の設定 |
a1503yi | 0:86c24595c963 | 53 | speed_in2.write(sp2) ; |
a1503yi | 0:86c24595c963 | 54 | wait(2); |
a1503yi | 0:86c24595c963 | 55 | sp1 = 0.0f; |
a1503yi | 0:86c24595c963 | 56 | sp2 = 1.0f; // IN1のデューティ比 100%にする |
a1503yi | 0:86c24595c963 | 57 | speed_in1.write(sp1) ; // デューティ比の設定(逆回転) |
a1503yi | 0:86c24595c963 | 58 | speed_in2.write(sp2) ; |
a1503yi | 0:86c24595c963 | 59 | wait(2); |
a1503yi | 0:86c24595c963 | 60 | //if ( flag == true ){ // 3秒ごとに表示を更新する |
a1503yi | 0:86c24595c963 | 61 | //lcd.locate(0,1); |
a1503yi | 0:86c24595c963 | 62 | //lcd.printf("rpm [%4d]",rpm) ; |
a1503yi | 0:86c24595c963 | 63 | // flag = false; |
a1503yi | 0:86c24595c963 | 64 | //} |
a1503yi | 0:86c24595c963 | 65 | |
a1503yi | 0:86c24595c963 | 66 | } |
a1503yi | 0:86c24595c963 | 67 | } |