7 years, 7 months ago.

温度測定とステップモーター 並列制御

温度センサで獲得した温度 ・30度以下 左回り ・30度~32度 回転速度は2分の1左回り ・32度~34度 回転速度は2分の1 右回り ・34以上 右回り これらの制御を以下のように記載したのですがなぜコンパイルされないのかわからなくて困ってます。わかる方は教えてください。何卒、よろしくお願いします。 /media/uploads/bisa/-------.docx 1.include "mbed.h"

Serial pc(USBTX,USBRX); AnalogIn myLM35DZ(p15); DigitalOut stepA(p13); DigitalOut stepB(p14);

int main() { float temp;

while(1) { temp = myLM35DZ.read()*3.3*100; pc.printf("%f¥n", temp);

if (temp <= 30) { stepA = 1; stepB = 0; wait(0.01); stepA = 1; stepB = 1; wait(0.01); stepA = 0; stepB = 1; wait(0.01); stepA = 0; stepB = 0; wait(0.01); } Hidari round nomal

} else { (30 < temp <= 32) { stepA = 1; stepB = 0; wait(0.005); stepA = 1; stepB = 1; wait(0.005); stepA = 0; stepB = 1; wait(0.005); stepA = 0; stepB = 0; wait(0.005); } Hidari round 1/2

} else { if (32 < temp <= 34) { stepA = 0; stepB = 0; wait(0.005); stepA = 0; stepB = 1; wait(0.005); stepA = 1; stepB = 1; wait(0.005); stepA = 1; stepB = 0; wait(0.005); } Migi round 1/2

} else { if (temp > 34) { stepA = 0; stepB = 0; wait(0.01); stepA = 0; stepB = 1; wait(0.01); stepA = 1; stepB = 1; wait(0.01); stepA = 1; stepB = 0; wait(0.01); } Migi round nomal } }

1 Answer

7 years, 7 months ago.

if-else ステートメントの使い方に間違いがあると思います。 こちらを参考にしてみて下さい。

http://www.geekpage.jp/programming/c/if-else.php