今日はリレーを動かしてみました。

今日もぼちぼちArduinoのプログラムのお勉強の続きです。昨日作った基板にリレーを駆動するためのトランジスタ回路をハンダ付けしてみました。保護回路などはないので、抵抗とトランジスタ(2SC1815)のみの回路です。実験用なのでこの程度で十分ですね。下記のような教科書通りのプログラムを書きながら試行錯誤しています。今までPICマイコンアセンブラで慣れてきたので、C言語に似たArduinoのプログラムは最初少し戸惑いましたが、高級言語だけあって慣れてくると応用が楽ですね!!今週も色々と回路を作って勉強して行きます。

// Example 01 : test

#define RY1 0 // ポート0をRY1に指定
#define LED 3 // ポート3をLEDに指定
#define LED1 5 // ポート5をLED1に指定
#define BUTTON 6 //ポート6をBUTTONに指定
#include

int val = 0; //nyuryoku pin no zyoutai ga konohensuu ni kioku
int old_val = 0; //val no mae no atai wo hozonn shite oku hensuu
int state = 0; //LED no zyoutai wo hozon

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

void setup() { //セットアップ処理(電源投入時1回しか通過しない)
{
pinMode(RY1, OUTPUT);//RY1を出力に指定
pinMode(LED, OUTPUT);//LEDを出力に指定
pinMode(LED1, OUTPUT);//LED1を出力に指定
pinMode(BUTTON, INPUT);//BUTTONを入力に指定

}

//LCD opening messege LCDの初期化
lcd.clear();
lcd.print("*Hellow Arduino*");
lcd.setCursor(3,1);
}

void loop() { //メイン処理
val = digitalRead(BUTTON); //BUTTON入力をチェック
if (val == HIGH) { //HIGHの場合はこの処理を実行
lcd.clear(); //LCDをクリアー
lcd.print("*SWITCH ON*"); //SWITCH ONを表示
lcd.setCursor(3,1);
delay(100);

digitalWrite(LED, HIGH); //LEDの出力をHIGH
digitalWrite(LED1, LOW); //LED1の出力をLOW
digitalWrite(RY1, HIGH); //RY1の出力をHIGH

} else { //LOWの場合はこの処理を実行
lcd.clear(); //LCDをクリアー
lcd.print("*SWITCH OFF*"); //SWITCH OFFを表示
lcd.setCursor(3,1);
delay(100);

digitalWrite(LED, LOW); //LEDの出力をLOW
digitalWrite(LED1, HIGH); //LED1の出力をHIGH
digitalWrite(RY1, LOW); //LEDの出力をLOW

}
}