Arduinoで作ろう(61) Digisparkで7セグLED温度計
またまたDigisparkに温度センサLM35DZをつないで温度計をつくりました。
今度の表示装置はLCDではなく秋月電子通商の74HC595付き7セグLEDです。
この秋月の7セグLEDはほんとに便利なパーツで,マイコンから3本の線でつなぐだけだし どんどん並べることもできるので使ってて楽しいですよ。オススメです。
// Digispark に秋月の74HC595の7セグLEDを接続
// LM35DZで温度計#define SDI 0
#define LAT 1
#define CLK 2
#define tempPin A2
float value;
int temp,temp1,temp2,temp3;
const byte digits[] = {
0b11111100, // 0
0b01100000, // 1
0b11011010, // 2
0b11110010, // 3
0b01100110, // 4
0b10110110, // 5
0b10111110, // 6
0b11100000, // 7
0b11111110, // 8
0b11110110, // 9
};void setup() {
pinMode(tempPin,INPUT);
pinMode( SDI, OUTPUT );
pinMode( LAT, OUTPUT );
pinMode( CLK, OUTPUT );
}void loop() {
value=analogRead(tempPin);
temp = (value*5000)/1024;
temp3=temp/100; //10の位
digitalWrite( LAT, LOW );
shiftOut( SDI, CLK, LSBFIRST, digits[temp3] );
digitalWrite( LAT, HIGH );
temp2=(temp%100)/10; //1の位
digitalWrite(LAT, 0);
shiftOut( SDI, CLK, LSBFIRST, digits[temp2]|0b00000001 );
digitalWrite(LAT, 1);<br/temp1=temp%10; //0.1 の位
digitalWrite(LAT, 0);
shiftOut( SDI, CLK, LSBFIRST, digits[temp1] );
digitalWrite(LAT, 1);
delay(1000);
}
| 固定リンク | 0