埃センサー(GP2Y1010AU)の出力先として、「TM1637Displayモジュール」を試してみた。
回路図
スケッチ
/* GP2Y1010AU Setting */
int measurePin = 0;
int ledPower = 2; //Connect 3 led driver pins of dust sensor to Arduino D2
const int TBLNUM = 50;
int DustTBL[TBLNUM];
int cnt;
int samplingTime = 280;
int deltaTime = 40;
int sleepTime = 9680;
int delayTime = 1000;
float sensorVal = 0;
float voMeasured = 0;
float calcVoltage = 0;
float dustDensity = 0;
float dustDensitySum = 0;
bool AveOK = false;
/* TM1637Display Setting */
#include <TM1637Display.h>
const int CLK = 10; //Set the CLK pin connection to the display
const int DIO = 8; //Set the DIO pin connection to the display
TM1637Display display(CLK, DIO); //set up the 4-Digit Display.
void setup()
{
Serial.begin(9600);
pinMode(ledPower, OUTPUT);
display.setBrightness(0x0a); //set the diplay to maximum brightness
}
void loop()
{
int i;
dustDensitySum = 0;
for (i = 0; i < 10; i++)
{
digitalWrite(ledPower, LOW);
delayMicroseconds(samplingTime);
voMeasured = analogRead(measurePin);
delayMicroseconds(deltaTime);
digitalWrite(ledPower, HIGH);
delayMicroseconds(sleepTime);
calcVoltage = voMeasured * (5.0 / 1024.0);
dustDensity = 0.17 * calcVoltage - 0.1;
dustDensity = dustDensity * 1000; // mgからugに変換
if (dustDensity < 0)
{
dustDensity = 0;
}
dustDensitySum = dustDensitySum + dustDensity;
}
dustDensitySum = dustDensitySum / 10;
int DustInt = (int)dustDensitySum;
if (DustInt < 0)
{
DustInt = 0;
}
if (cnt >= TBLNUM)
{
AveOK = true; // 全ての配列が埋まったので、移動平均値が算出可
cnt = 0;
}
DustTBL[cnt] = DustInt;
cnt++;
int DustSum = 0, DustAve;
for (i = 0; i < TBLNUM; i++)
{
DustSum += DustTBL[i];
}
DustAve = DustSum / TBLNUM; // 移動平均値を算出
if (AveOK)
{
display.showNumberDec(DustAve);
}
else
{
display.showNumberDec(-1);
}
delay(1000);
}
「TM1637Displayモジュール」は、4ピンの接続のみで4桁7セグLEDが簡単に制御出来るので、非常に便利。
Arduinoをはじめよう 互換キット UNO R3対応互換ボード 初心者専用実験キット 基本部品セット20 in 1 Arduino sidekick basic kit
- 出版社/メーカー: vership
- メディア: おもちゃ&ホビー
- この商品を含むブログを見る
Arduinoをはじめよう 第3版 (Make:PROJECTS)
- 作者: Massimo Banzi,Michael Shiloh,船田巧
- 出版社/メーカー: オライリージャパン
- 発売日: 2015/11/28
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (3件) を見る