7SEGコネクタンについて

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; i<4; 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; i<4; 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; i<4; 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);
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です