7segduinoを使って温度計を作る
スイッチサイエンスより発売された、7segduino(セブンセグ・デュイーノ)キットを早速取り寄せ、組み立ててみました。
このキットには、青、緑、黄、白、赤の各色が用意されておりますが今回は赤色を選びました。
付属のAVRマイコン(ATmega328)には、ブートローダが書き込み済みでサンプルプログラムも用意されているので、組立後すぐに動作確認が可能です。
なお、プログラムの書き込みには別売のUSB-シリアルアダプタを使用し、ArduinoIDEから書き込みました。
キットには説明書が付属しておりませんので、7segduinoのウェブサイトを参照します。
組立
付属の基盤に、抵抗 9個、セラミックコンデンサー 3個、28pソケット、ピンヘッダの順に取り付ます。
最後に7seg LEDの取り付け組み立て完了です。部品点数が少ないのですぐに完成します。
温度計ユニットの組立
ユニバーサル基盤に、温度センサー(LM61C)と 7segduinoを接続するピンソケット2個を取り付けます。
温度計の組み立て説明はこちらのページです。
SSegライブラリを準備する
専用のライブラリが用意されているので、7segduinoのウエブサイトからダウンロードしてArduinoのlibrariesに取り込みます。
Exampleにいくつかスケッチ例が載っせていますので参考になると思います。
動作確認
USB-シリアルアダプタ(5v)を介して、PCのUSB端子と7segduinoのJP1端子を接続し組立が間違いなければ、7segLEDが種々のパターンで点滅します。
hello_7segの動作確認
Arduino IDEを起動しスケッチhello_7segをで動作確認します。
File→Example→SSeg→7seg_helloの順でスケッチを取り込み動作確認します。
取り込み後 uploadし、7segLEDに"HELLO 7SEG"と連続して表示されれば動作OKです。
温度計の動作確認
温度計ユニットを取り付け、File→Example→SSeg→LM61_7segの順でスケッチを取り込み uplpad するとLEDに温度が表示されます。
LM61温度計のスケッチ
/*** LM61_7seg
SEG-A(11) PD4 4
SEG-B(7) PB0 8
SEG-C(4) PB3 11
SEG-D (2) PB5 13
SEG-E(1) PC0 14
SEG-F(10) PD2 2 ** Change on V2
was SEG-F(10) PD5 5 ** V1
SEG-G(5) PB2 10
SEG-DP(3) PB4 12
DIG-1(12) PD3 3
DIG-2 (9) PD6 6
DIG-3 (8) PD7 7
DIG-4 (6) PB1 9
*/
#include
Sseg mySseg = Sseg(4, 8, 11, 13, 14, 2, 10, 12, 3, 6, 7, 9);
// Sseg mySseg = Sseg(4, 8, 11, 13, 14, 5, 10, 12, 3, 6, 7, 9);
int tempPort = 1; // LM61
void setup()
{
mySseg.begin();
}
void loop()
{
int ad = analogRead(tempPort);
float tmp = ((ad * 0.00489) - 0.6) * 1000; // LM61
int tp1 = (int)tmp;
mySseg.writeNum(tp1);
mySseg.setDot(2);
mySseg.updateWithDelay(200);
}
11月15日 追記