7SEGコネクタンについて
ライブラリは、「ツール」→「ライブラリを管理」でライブラリマネージャーが開くので、「Grove_4Digital_Display」で検索して出てきたやつをインストールしてください。
7SEGコネクタンのみ
7segコネクタンをOUTBに繋いでください。
ひたすらカウントアップするだけのプログラムです。
SchooMy 7SEG 01
//Seeed-Studio Grove_4Digital_Displayのライブラリをダウンロードしてください
#include TM1637.h>
const int CLK = 9;
const int DIO = 10;
const int OFF = 0x7E;
TM1637 tm1637(CLK,DIO);
int current = 0;
int8_t DispData[4] = {OFF, OFF, OFF, 0x00};
void display()
{
int value = current;
for (int i=0; i4; i++) {
if (value == 0) {
DispData[3-i] = i == 0 ? 0 : OFF;
} else {
DispData[3-i] = value % 10;
value /= 10;
}
}
tm1637.display(DispData);
if( ((current /10) & 1) == 0 )
tm1637.point(POINT_ON);
else
tm1637.point(POINT_OFF);
}
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
tm1637.init();
tm1637.set(BRIGHT_TYPICAL);
display();
}
void loop() {
// put your main code here, to run repeatedly:
current = (current + 1) % 10000;
display();
delay(100);
}
7SEGコネクタンと距離センサー
7segをOUTBに、距離センサーをINAに繋いでください。
「Grove_4Digital_Display」ライブラリを入れてください。
距離(cm)を7segに表示するプログラムです。
SchooMy 7SEG 02
//Seeed-Studio Grove_4Digital_Displayのライブラリをダウンロードしてください
#include TM1637.h>
#define echoPin 19 //INPUTA:19 INPUTB:15
#define trigPin 18 //INPUTA:18 INPUTB:14
const int CLK = 9;
const int DIO = 10;
const int OFF = 0x7E;
double Duration = 0; //受信した間隔
double Distance = 0; //距離
TM1637 tm1637(CLK,DIO);
int current = 0;
int8_t DispData[4] = {OFF, OFF, OFF, 0x00};
void display()
{
int value = current;
for (int i=0; i4; i++) {
if (value == 0) {
DispData[3-i] = i == 0 ? 0 : OFF;
} else {
DispData[3-i] = value % 10;
value /= 10;
}
}
tm1637.display(DispData);
tm1637.point(POINT_OFF);
}
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(echoPin,INPUT);
pinMode(trigPin,OUTPUT);
tm1637.init();
tm1637.set(BRIGHT_TYPICAL);
display();
}
void loop() {
// 距離計算
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH); //超音波を出力
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
Duration = pulseIn(echoPin, HIGH); //センサからの入力
Duration = Duration/2; //往復距離を半分
Distance = Duration*340*100/1000000; //音速を340m/sに設定
// put your main code here, to run repeatedly:
current = Distance;
display();
delay(100);
}
7SEGコネクタンと光センサー
7segをOUTBに、光センサーをINAに繋いでください。
「Grove_4Digital_Display」ライブラリを入れてください。
光量度(lux)を7segに表示するプログラムです。
SchooMy 7SEG 03
//Seeed-Studio Grove_4Digital_Displayのライブラリをダウンロードしてください
#include TM1637.h>
//Seeed-Studio Grove_4Digital_Displayのライブラリをダウンロードしてください
#include
#define cdsPin 5
const int CLK = 9;
const int DIO = 10;
const int OFF = 0x7E;
TM1637 tm1637(CLK,DIO);
int current = 0;
int8_t DispData[4] = {OFF, OFF, OFF, 0x00};
void display()
{
int value = current;
for (int i=0; i4; i++) {
if (value == 0) {
DispData[3-i] = i == 0 ? 0 : OFF;
} else {
DispData[3-i] = value % 10;
value /= 10;
}
}
tm1637.display(DispData);
tm1637.point(POINT_OFF);
}
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(cdsPin, INPUT);
tm1637.init();
tm1637.set(BRIGHT_TYPICAL);
display();
}
void loop() {
// 光量度の計算
float cds_ad = analogRead(cdsPin);
// AD値を電圧値に変換
float cds_v = cds_ad * 5 / 1023;
// 電圧値より、Lux計算
float lux = 10000 * cds_v / (5 - cds_v) / 1000;
// put your main code here, to run repeatedly:
current = lux;
display();
delay(100);
}