#include "SevSeg.h"
SevSeg sevseg; //Instantiate a seven segment object
// ตัวแปร ใช้สำหรับอุปกรณ์ HC-SR04
int trigger = 2 ;
int echo = 13 ;
long duration = 0;
int cm = 0;
int inch = 0;
void setup() {
byte numDigits = 3;
byte digitPins[] = { 3, 4, 5,};
byte segmentPins[] = {6, 7, 8, 9, 10, 11, 12};
bool resistorsOnSegments = true; // ตัวต้านทานบนเซกเมนต์
byte hardwareConfig = COMMON_ANODE; // การกำหนดค่าฮาร์ดแวร์
bool updateWithDelays = false; // Default 'false' is Recommended
bool leadingZeros = false; // ตัวเลือก true = ต้องการตัวเลข 0 นำหน้า
bool disableDecPoint = true; // ปิดการใช้งานจุดทศนิยม
sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments,
updateWithDelays, leadingZeros, disableDecPoint);
sevseg.setBrightness(0);
Serial.begin(9600);
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
}
void loop() {
duration = pulseIn(echo,HIGH);
cm = duration*0.034/2;
inch = duration*0.0133/2;
static int deciSeconds = 0 ;
sevseg.setNumber(deciSeconds,0);
sevseg.refreshDisplay();
sensorReview();
delay(100);
}
void sensorReview() {
digitalWrite(trigger, LOW);
digitalWrite(trigger, HIGH);
digitalWrite(trigger, LOW);
duration = pulseIn(echo,HIGH);
cm = duration*0.034/2;
inch = duration*0.0133/2;
Serial.print("CM: ");
Serial.println(cm);
delay(100);
}
/*{
static unsigned long timer = millis(); // กำหนดค่า ตัวจับเวลา
static int deciSeconds = 0;
if (millis() - timer >= 100) {
timer += 100;
deciSeconds++; // 100 milliSeconds is equal to 1 deciSecond
if (deciSeconds == 10000) { // Reset to 0 after counting for 1000 seconds.
deciSeconds=0;
}
sevseg.setNumber(deciSeconds, 0);
}
sevseg.refreshDisplay(); // Must run repeatedly
}
*/