3人と1匹の日常とモノづくりブログ

興味のあるものをとりあえず動かしてみた、実装してみたシリーズをガンガン上げていきたいと思います。あくまでも自身の備忘録としてですが、誰かの助けになったらうれしいです。

【低価格マイコン】【実装】Arduino Nanoでほこりセンサ (Ks0196)を動かす

f:id:bamboomush:20210207183447p:plain

 Arduino Nanoを用いてほこりセンサを実装したので、そのやり方について紹介したいと思います。

この記事を読むことで、安価なマイコンであるArduino Nanoでほこりセンサが実装できるようになります。

ほこりセンサが使えるとセンサ周辺のほこりの量が分かるようになり、これを用いて掃除機にほこり検知機能を追加したり、ルンバの清掃能力をさらに上げることができるようになります。また、センサ値を元に、喚起をしたり、空気清浄をしたりするようなIoTデバイスを作るなんてことができるようになるかと思います。

 

ESP32版はこちら

 

◆Arduino関係の実装記事◆ 
  • DCモータ実装

www.takeshi-1222.com

  •  サーボモータ実装

www.takeshi-1222.com

  • OLED実装

www.takeshi-1222.com

  • 超音波センサ実装

www.takeshi-1222.com

  • LCDディスプレイ実装

www.takeshi-1222.com

  • 温湿度センサ (低コスト)

www.takeshi-1222.com

  • 温湿度センサ (ハイスペック)

www.takeshi-1222.com

  • 温湿度センサ (複数)

www.takeshi-1222.com

  • CO2センサ 

www.takeshi-1222.com

  • 心拍センサ

www.takeshi-1222.com

  • 皮膚電位センサ

www.takeshi-1222.com

 

Arduino Nano, Ks0196の簡単な説明

Arduino Nano

Arduino Nanoは超安価で購入ができるマイコンで、電気やプログラミングの深い知識を持っていない電子工作初心者でも扱いやすい、オープンソースマイコンです。

Arduinoと比較すると、性能は劣るものの、安価で広い用途で使用可能なので初心者に適しています。

ちなみに、上記が純正品ですが、互換品である以下も性能面では変わらないので強いこだわりがない限りは、互換品の方がおすすめです。

ほこりセンサ (Ks0196)

ほこりセンサはセンサ周辺のほこり量を数値的に測ることができます。それ単体でなにかの指標になるかというと難しいかもしれませんが、まさにスマートホーム等には向いているセンサかと思います。

Amazon | KEYESTUDIO PM2.5 塵埃 ホコリ ダスト 大気質 粒子 検出器 モニターメーター センサー モジュール for Arduinoと互換性 電子工作 アルディーノ 電子部品 | KEYESTUDIO | マザーボード 通販

(センサが現在品切れ中のようなので、購入できるようになったら更新します)

実験構成

 今回の実験に使用する部品は以下のものです。
  • Arduino Nano
  • ほこりセンサ (Ks0196)
  • ジャンパ線多数

Arduino Nano、ほこりセンサは上記のものを使用しています。

 

ジャンパ線は何を使用してもいいですが、一応リンクを張っておきます。

実験

配線

まず配線は以下のようにします。

f:id:bamboomush:20210207184848p:plain

配線ができると以下のような画像のようになります。

f:id:bamboomush:20210207184909j:plain

実行コード

ここまで出来たら以下のコードを実行することで動作確認ができます。

int dustPin=4;
float dustVal=0; 
int ledPower=2;
int delayTime=280;
int delayTime2=40;
float offTime=9680;

void setup(){
Serial.begin(9600);
pinMode(ledPower,OUTPUT);
pinMode(dustPin, INPUT);
}
 
void loop(){
// ledPower is any digital pin on the arduino connected to Pin 2 on the sensor
digitalWrite(ledPower,LOW); 
delayMicroseconds(delayTime);
dustVal=analogRead(dustPin); 
delayMicroseconds(delayTime2);
digitalWrite(ledPower,HIGH); 
delayMicroseconds(offTime);
 
delay(1000);
if (dustVal>36.455)
Serial.println((float(dustVal/1024)-0.0356)*120000*0.035);
}

今回はほこりセンサの数値をシリアルモニタで確認できるようにしています。

f:id:bamboomush:20210207185045j:plain
これらの値を使って、いろんなIoT機器を製作できるようになります。

まとめ

今回は、Arduino Nanoでほこりセンサを動かすために必要なものの紹介と、サンプルプログラムの紹介をしました。