Arudino Uno R4 WiFiでポンプを制御してみる【超初心者がIoT開発に挑んでみる#15】

IoT

はじめに

電子工作は扱う電圧や電流は比較的小さいですが、誤った操作をすると非常に危険です。筆者も何回か怪我をしています。当記事では危険な箇所は注意喚起をするようにしていますが、あくまでも自己責任で電子工作を進めてください。

 前回はArduino Uno R4 WiFiとOLEDディスプレイで遊んでみました。

 今回はArduino Uno R4 WiFiでポンプを制御してみます。

構成

今回はスイッチング素子としてトランジスタを使用します。誤った接続をしてしまうと、火傷するほどの高温になる可能性があります。最悪の場合、怪我をすることもあります。十分に注意して接続する必要があります。
筆者はベース抵抗忘れてベースに過剰な電流を流したことで、トランジスタが発熱して火傷しました。煙も出ました。

ポンプを制御する構成は以下のようにしています。今回はDC5Vのポンプを使った構成にしています。

今回筆者が使用した部品たちを紹介します。読者の皆様はお好きなものを購入してみてください。
Arduinoはいつも通りスイッチサイエンス様で購入させていただいたものを使用しました。いつもありがとうございます。

ポンプ
筆者は以下のものを購入しました。電圧がDC5VのものとDC12Vのものがあるようです。電圧の他に大きな違いは水量のようです。必要な水量によって選べば問題ないと思われます。ただし、DC12Vを使用したい場合は、Arduino Unoは出力電圧が3.3V/5Vしかないので、外部電源でポンプを駆動させる必要があります(たぶん)。電源をArduino Unoだけで完結させたい場合は、DC5Vのものを購入すると良いですね(たぶん)。

使い始めてしばらくは加工油のようなものが若干浮いていたので、植物の栽培や生物の飼育に使う場合は試運転をして清掃した方が良いかもしれません。

・チューブ
チューブはポンプの挿し口の内径と合っていれば何でも大丈夫かと思います。

・トランジスタ
今回はポンプのON/OFF制御用として使います。今回は元々持っていた2N2222を使用していますが、以下のようなセットを買っておくのもいいかもしれませんね。これを機に筆者はストックとして買いました。果たして生きている間に使い切れるのだろうか。
なおトランジスタを使用する際は、後述するベース抵抗を決める際は必ずデータシートを確認してください

・抵抗(2.2kΩ)
直接ベースとDigital Pin=13を接続すると、大きな電流が流れてトランジスタが破損する可能性があります。最悪の場合、火傷など怪我をしてしまうこともありますので、電源とトランジスタのベースの間にベース抵抗をかませます。今回は2.2kΩを採用しています。このベース抵抗の決め方は極めて重要です。”トランジスタ ベース抵抗 決め方”などで検索するとたくさんヒットするので、詳細は割愛します。すみません。

・整流用ダイオード
ポンプは結局のところモータなので、逆起電力に注意しないといけません。色々と調べてみると、整流用ダイオードをかませた方が良さそうです。

ちなみに以下のような電子工作キットを1つ買えば、大体のことはできるのでおすすめです。今回の回路も、このキットがあれば実は事足ります。今回のトランジスタはこのセットに入っていた2N2222を使用しています。

実際に組んでみた

実際に組んでみたものが下の画像のものになります。見えにくい箇所は、上記の構成図も併せてご確認ください。

スケッチ

スケッチは以下のようにしてみました。非常に単純なコードですね。今回はポンプを5秒間ON、5秒間OFFを繰り返すようにしてみました。
もう少し詳しく言えば、pompPinで出力するデジタルピンを選択し、loop関数の中でpompPinの出力をHIGH=5VとLOW=0Vで5秒ごとに切り替えています。pompPinが “HIGH” の時はトランジスタのベースに電圧が印加され、コレクタCからエミッタEに電流が流れるようになります。そして、ポンプがONになります。

int pompPin = 13;
int wateringTime1 = 5000;

void setup() {
  Serial.begin(9600);
  pinMode(pompPin, OUTPUT);
}

void loop() {
  digitalWrite(pompPin, HIGH);
  delay(wateringTime1);
  digitalWrite(pompPin, LOW);
  delay(wateringTime1);
}

結果

結果の動画を載せておきます。と言いたいところですが、サイトが重くなるので割愛します。

うまくいけば、5秒間水が流れた後に5秒間停止することを繰り返すはずです。

実際に動作させる時は、目を離さずに異常が見られたらすぐに対応できるようにしておいた方がいいです。特に、思ったように動作しなかった時はすぐに電源をオフにする(今回の場合はArduinoを回路から切り離す)ようにした方が安全です。
筆者は「あれ?何も起こらないな、回路間違えたかな?」とそのまま観察していたところ、煙がモクモクとトランジスタから出てきました。すぐにArduinoを切り離して対応しましたが、冷や汗をかきました。この時、不用意にトランジスタに触り、少し火傷もしました。

最後に

今回はポンプをArduinoで制御してみました。簡易的なものではありますが、自動水やり機として必要最低限のものができますね。色々な機能を追加していくのも面白そうです。

それでは、今回はこの辺で終わりにします。

おすすめの書籍

 もっと詳しくM5Stackについて知りたい!という方はこちらの書籍がおすすめです。とても詳しく載っていてわかりやすいです。

とりあえず何か作ってみたい!という方にはこちらの書籍がおすすめです。書いてある通りにやるだけでお手軽にIoTデバイスを作ることができます。

Arduinoで電子工作したい方にはこちらもおすすめです!Arduinoでどんなことができるのか、一目でわかる一冊になっています。

※Amazonのアソシエイトとして、当メディア(Nラボ備忘録)は適格販売により収入を得ています。

他記事のご紹介

当ブログではさまざまな記事を投稿しています。特に資格取得に関する記事はとても人気です。
一読の価値はあると思いますので、ぜひご覧ください!

本ページはプロモーションが含まれています。

スポンサーリンク
IoT
T-Kをフォローする

コメント

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