#include <Arduino.h>
#include <TM1637Display.h>
#define CLK 9
#define DIO 10
TM1637Display display(CLK, DIO);
void setup() {
Serial.begin( 115200 );
display.setBrightness(0x0f);
}
void loop() {
uint8_t distance;
distance= USread(2,3);
Serial.println(distance);
display.showNumberDec(distance, false);
delay(500);
}
float USread(int Trig,int Echo) {
int Duration; float Distance;
const unsigned int MAX_ECHO = 23200; //400cm(23200μs)以上は測定範囲外
pinMode(Trig,OUTPUT);
pinMode(Echo,INPUT);
digitalWrite(Trig,HIGH);
delayMicroseconds(10);
digitalWrite(Trig,LOW);
Duration = pulseIn(Echo, HIGH, MAX_ECHO);
if(Duration>0){Distance=Duration/58.8;}
if(Duration>MAX_ECHO){return 400;}else{return Distance;}
}