こんばんは。
お父ラボ(お父Lab.)です。
金魚水槽の自動水換え装置を目標にプログラミング学習を始めました。
まずはアルディーノ(ARDUINO)でプログラミング・電子工作を学びます。
さて、今日はアルディーノを使ってモーターを制御します。
水位検知用のセンサーとポンプ・電磁弁を使った自動水換え機を
作りたくて始めたアルディーノ学習ですが、ついに動力の制御までやってきました。
作業に入る前に最近の金魚状況を残しておきます。
今朝和金のメス3尾に産卵がありましたが人工授精が上手くいかなかったようです。
次こそはということで、色々調べて見たら乾燥させた容器Aへメスの卵を絞る方法が紹介されていました。
屋内組の志村産キャリコ和金、愛好家産ふじ六りん、志村産オーロラがかなり興奮していて、明日にも産卵がありそうなので、
明日はこの方法でやってみようと思います。
それでは本題。今日の回路です。
アルディーノがトランジスタのゲート端子に接続され、
信号がトランジスタに入ると、9V電源からの回路が通電しモーターが回ります。
今まで出てきた発光ダイオードやサーボモーターはアルディーノの供給電源で
動作していましたが、今回のモーターはアルディーノの供給電源5Vでは動作しないそうです。
そこでモーターには9V電源を接続し、トランジスターへアルディーノの信号が入ると、
モーターが動作し始めます。
今回の回路で重要なのはダイオードです。ダイオードはモーターのON/OFFで発生する、逆起電力という
瞬発的な電圧がトランジスタだけに入らないように、分散させる役割があるそうです。
このトランジスタは一方弁みたいな役割があり、電源が直接トランジスタに流れることは無いです。
排水用ポンプにはダイオードの並列接続が必要であることを学びました。
const int switchPin = 2;
const int motorPin = 9;
int switchState = 0;
void setup(){
pinMode(motorPin, OUTPUT);
pinMode(switchPin, INPUT);
}
void loop(){
switchState = digitalRead(switchPin);
if(switchState == HIGH){
digitalWrite(motorPin, HIGH);
}
else{
digitalWrite(motorPin, LOW);
}
}
それではまた次回!
