arduinoでサクッとミニポンプをタイマー制御してみる arduino pro mini ATmega328

ちょこっと自作

家の敷地内に水溜りがあるので、定期的に汲み上げたくて、
ちょこっとarduinoで工作してみました。^^


ぱっと見ややこしそうですが、ピンの1本ON/OFFするだけの回路です。
下の大きなのはスイッチング電源ですね。
外付けHDDのジャンクから回収したもので、12Vと5Vが同時に取れるので今回は好都合なんです。
5Vはarduino用、12Vはポンプ用です。

ブレッドボードの右端に刺さっている黒、オレンジはポンプの電源用12Vで写真ではポンプは繋がっていません。


左上は、胡散臭いarduino pro のコピー物です。
1年以上前に買ったもので中華製で$1.7ぐらいだったかな。

スケッチを流し込む際の設定は、
ボード:arduino pro or promini
プロセッサー:ATmega328(5V,16MHz)
で上手く対話できました。

購入時は、8MHzって話で買ったはずなのですが、Sleepの時間が設定値の半分ほどだったので、おかしいなと思い16MHzでやってみるとぴったりの時間になったので多分こちらが正解なのでしょう。^^;

もう1種類 nanoもどきも持っているのですが、動作電圧が3.3Vタイプなので今回は電源電圧に合わせてこちらをチョイスしました。


こちらはポンプをON/OFFするリレーです。
黄色の線がコントロール用ですね。
赤黒は、GNDとVCCなので GNDと5V突っ込むだけです。
写真ではarduinoの GNDとVCCから取ってますね。
黄色は2番ピンから取ってます。
でこの2番ピンをタイマーで周期的にON/OFFするだけです。

スケッチはこんな感じかな。
実際はもう少し肉付けしてますが判りにくいのでポイントとなる部分だけにしています。

#define RELAY1 2        //
#define ON false        //
#define OFF true        //

long offtime = 14 * 60000; // Offtime 14min
long ontime  =  1 * 60000; // ontime   1min 

void setup() {
  pinMode(RELAY1, OUTPUT);    //RELAY1をOUTPUT指定
  digitalWrite(RELAY1, OFF);  //リレーをOFF
}

void loop() {
  digitalWrite(RELAY1, ON);   //動作確認を兼ねてリレーONから開始
  delay(ontime);

  digitalWrite(RELAY1, OFF);  // リレーをOFF
  delay(offtime);             //暫くお休み  
}

1分作動させたら14分お休みを繰り返します。
定義部分を除けば数行で制御できちゃうんですから便利ですよねぇ。

arduinoの動作とは直接関係なのですが、空運転はポンプの寿命を縮めるのでフロートスイッチをポンプの電源ラインにつけてます。


どちらも中華製ですがポンプはなかなかの優れモノです。
動作電圧は5.5V-12Vで揚程Max1.5mです。
気に入っていろんなところで使っていますがちゃんと汲み上げてくれてます。
値段は確か700円だったと思うけど買い置きなので記憶が….
右の白いのは見たまんまフロートスイッチです。
arduinoの制御に関係なく、水が無いときはポンプを作動させないためのものです。

arduino側でフロートスイッチの状態を監視する方法もありですが、
ポンプとarduinoが結構離れるので引き回す配線を少なくしたいという理由です。

って事で後は周辺の工作というところまでサクッとできてしまいました。
本日のはここまで。^^
屋外設置は気温やら雨やらの心配が多いので面倒ですよね。
100均のタッパーにでも入れておくしかないかなぁ。

コメント

タイトルとURLをコピーしました