/*
********************************************
14CORE ULTRASONIC DISTANCE SENSOR CODE TEST
********************************************
HC-SR04
https://www.14core.com/wiring-esp8266-nodemcu-with-hcsr04-ultrasonic-sensor/
TM1637
https://github.com/avishorp/TM1637
https://www.makerguides.com/tm1637-arduino-tutorial/
LGT8F328P
https://github.com/dbuezas/lgt8fx
A
---
F | | B
-G-
E | | C
---
D P
PGFEDCBA
P - decimal point
*/
#include "TM1637Display.h"
#define CLK 2 //12
#define DIO 3 //11
#define TRIGGER 4 //Tx //6
#define ECHO 5 //Rx //9
#define BUILTIN_LED 13
#define SERIAL_BAUDRATE 9600
#define MAX_DISTANCE 800
TM1637Display display(CLK, DIO);
void setup() {
Serial.begin (SERIAL_BAUDRATE);
delay(10);
Serial.println("HC-SR04 TM1637 Abstandsmessung");
pinMode (TRIGGER, OUTPUT);
pinMode (ECHO, INPUT);
pinMode (BUILTIN_LED, OUTPUT);
digitalWrite(BUILTIN_LED, HIGH);
// check out TM1637 display
// Print number in different locations
/*
for (byte i = 0; i < 4; i++) {
display.showNumberDec(i, false, 1, i);
delay(500);
display.clear();
}
display.clear();
delay(500);
*/
display.setBrightness(0x0f);
display.clear();
}
void loop() {
long duration, distance;
//digitalWrite(ledPin, HIGH);
digitalWrite(TRIGGER, LOW);
delayMicroseconds(2);
digitalWrite(TRIGGER, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER, LOW);
duration = pulseIn(ECHO, HIGH);
distance = (duration / 2) / 29.1;
Serial.print(distance);
Serial.println(" cm");
if (distance > MAX_DISTANCE)
display.clear();
else {
display.showNumberDec (distance, false); //1 23
delay(950);
digitalWrite(BUILTIN_LED, HIGH);
delay(50);
digitalWrite(BUILTIN_LED, LOW);
}
}