久しぶりのマイコンソフト開発

昨日からお仕事の試作で、半年振りにArduinoでソフトを書きました。
やることは単純で、スイッチを入れたら、モーターが回って、時間がたてば反転する!!
これを繰り返しているだけです。
いたって簡単ですね!!
でも、モータを回すには回路が必要になるので、こちらも久しぶりに回路エディターで回路をサクッと書いて見ました。

ソフトはこんな感じです!!
モータを回すついでに、LCDに表示もしてみました。

ログハウスも同じですが、作っている時は結構辛いときもあるんですが、完成すると感動的です!!

                                                                                                                          • -

#define BUTTON1 2
#define BUTTON2 3
#include

LiquidCrystal lcd(7,8,9,10,11,12,13);

int LED1 = 4; // output for LED1
int motor1 = 5; // output for motor1
int motor2 = 6; // output for motor2
int val = 0;

void setup() {
// LCDにオープニングメッセージを表示する
lcd.begin(2,16);
for(int i=0; i<=6; i++){
pinMode(i,OUTPUT);
}
lcd.clear(); // LCD表示をクリア
lcd.print("NEW idea DEMO"); // 1行目にメッセージを表示
lcd.setCursor(0,1); // カーソルを2行目3カラム目にセット
lcd.print("**************"); // 2行目にメッセージを表示
delay(500); // 500ミリ秒プログラムを一時停止する
pinMode(LED1, OUTPUT);
pinMode(motor1, OUTPUT); // declare the motor1 as an OUTPUT
pinMode(motor2, OUTPUT); // declare the motor1 as an OUTPUT
pinMode(BUTTON1, INPUT);

/*** make motor stop ***/
digitalWrite(LED1, LOW);
digitalWrite(motor1, LOW);
digitalWrite(motor2, LOW);

}

void loop()
{
val = digitalRead(BUTTON1); //BUTTON1の状態を取る

if(val == HIGH){ //BUTTON1がHIGHであれば実行
/*** cw ***/  //モーター正転
delay(100);  //1秒待機
digitalWrite(motor1, HIGH); //モータドライバのIN1をON
digitalWrite(motor2, LOW); //モータドライバのIN2をOFF
digitalWrite(LED1, HIGH); //確認用のLEDをON
delay(10000); //10秒間まわし続ける

/*** ccw ***/  //モーター逆転
delay(100);
digitalWrite(motor1, LOW); //モータドライバのIN1をOFF
digitalWrite(motor2, HIGH); //モータドライバのIN2をON
digitalWrite(LED1, LOW); //確認用のLEDをOFF
delay(10000);  //10秒間まわし続ける
} //繰り返す