PIPEBEND

FDD

MS-DOS6.22

LARGE HDD <40 NOT LBA

WINNT4 24796-OEM-0014736-66386

FAT

VIA APOLLO VT8601A + VT82C686B

PLE133 VGA

RT8139D

SIS-8600-LV

OCX

VBRUN

NodeMCU ESP8266 TM1637 NTP DHT11

  • NODEMCU ESP8266
  • 4 Digit Seven Segment TM1637
  • DHT11
  • SevenSegmentTM1637.h

#include <NTPClient.h>
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
#include “SevenSegmentTM1637.h”
#include “SevenSegmentExtended.h”
#include <DHT.h>

#define CLK D2 // Define the connections pins:
#define DIO D3
#define DHTPIN D5 // Pin sensor is connected to

char cdmy[11];

// Set DHT type, uncomment whatever type you’re using!
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302)
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
float temp_c ;
float humi ;
char tempf[4];
float tempr;
char humif[4];
//SevenSegmentTM1637 display(CLK, DIO); // Create display object of type TM1637Display:
SevenSegmentExtended display(CLK, DIO);
DHT dht = DHT(DHTPIN, DHTTYPE);

const char *ssid = “xxxxx”;
const char *password = “xxxxxxx”;

//const long utcOffsetInSeconds = 19802;
const long utcOffsetInSeconds = 25200;

// Define NTP Client to get time
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, “1.th.pool.ntp.org”, utcOffsetInSeconds);

void setup(){
display.begin(); // initializes the display
display.setBacklight(100); // set the brightness to 100 %
Serial.begin(9600);
Serial.println();
Serial.println(“DHTxx test!”);
dht.begin();
// Begin serial communication at a baud rate of 9600:

WiFi.begin(ssid, password);

while ( WiFi.status() != WL_CONNECTED ) {
delay(500);
Serial.print (“.”);
}

timeClient.begin();
}

void loop() {

// Read the temperature as Celsius and Fahrenheit:
temp_c = dht.readTemperature();
humi = dht.readHumidity();

// print both to serial console
Serial.println();
Serial.print(temp_c);
Serial.print(“<-T H->”);
Serial.println(humi);

timeClient.update();
unsigned long epochTime = timeClient.getEpochTime(); //get date

int currentHour = timeClient.getHours();
int currentMinute = timeClient.getMinutes();

struct tm *ptm = gmtime ((time_t *)&epochTime);
int monthDay = ptm->tm_mday;
sprintf(cdmy,” %02d-%02d-%02d “,ptm->tm_mday,ptm->tm_mon+1,ptm->tm_year+2443);

for (int i = 0; i < 2; i++) {
display.clear(); // clear the display
display.print(cdmy); // print right->left day month year
delay(100);
}
// print time hour min
//for (int i = 0; i < 2; i++) {
display.clear(); // clear the display
// print hour min for
display.printTime(currentHour,currentMinute, true); //print hour.min
//display.blink(); // blink
delay(1000);

// }

display.setColonOn(1); // open dot . led version dot if use time led : show led
display.printNumber(static_cast<int>(temp_c * 100),false,false,false);
display.printRaw(88,3); // display c at location 3
display.blink();
delay(2000);
display.printRaw(128,1);
display.printNumber(static_cast<int>(humi * 100),false,false,false);
display.printRaw(116,3); // display h at location 3
display.blink();
delay (3000);
display.setColonOn(false); // close colon
display.clear();

}xxx

TM1637.h Groove

#include “TM1637.h”

TM1637 tm1637(CLK, DIO);

tm1637.set();

tm1637.init();

tm1637.set(BRIGHTEST);//BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7;

tm1637.clearDisplay(); // clear the display
tm1637.displayStr(); 

tm1637.displayStr(‘ABCD’); 

// Without specifying decimal pointt it displays int
tm1637.displayNum(num);

// Colon light up as decimal point
tm1637.displayNum(num, 2);
delay(2000);

// Note that adding 3 digits (-123450) makes number out of int range
tm1637.displayNum(num, 3);
delay(2000);

// Display negative numbers without sign
tm1637.displayNum(num, 0, false);
delay(2000);

/ LOVE, O=0

    tm1637.displayStr(“L0UE”);

    delay(2000);

    // loop

    tm1637.displayStr(“HELL0-1234567890”, 1000);

    delay(2000);

    // ON

    tm1637.displayStr(“0N”);

    delay(2000);

    // OFF

    tm1637.displayStr(“0FF”);

    delay(2000);

/tm1637.display(0, ListDisp[0]);
tm1637.display(1, ListDisp[1]);
tm1637.display(2, ListDisp[2]);
tm1637.display(3, ListDisp[3]);

Display1.display(0, 1); // แสดงเลข 1 ที่หลัก 0
delay(1000); // *** หลัก (0,1,2,3) นับจากซ้ายตามลำดับ

Display1.display(1, 2); // แสดงเลข 2 ที่หลัก 1
delay(1000);

Display1.display(2, 5); // แสดงเลข 5 ที่หลัก 2
delay(1000);

Display1.display(3, 8); // แสดงเลข 8 ที่หลัก 3
delay(1000);

Display1.display(0, CHAR_BLANK); // แสดง ‘ ‘ (ช่องว่าง) ที่หลัก 0
delay(1000);

Display1.display(1, CHAR_BLANK); // แสดง ‘ ‘ (ช่องว่าง) ที่หลัก 1
delay(1000);

Display1.display(2, CHAR_BLANK); // แสดง ‘ ‘ (ช่องว่าง)ที่หลัก 2
delay(1000);

Display1.display(3, CHAR_BLANK); // แสดง ‘ ‘ (ช่องว่าง) ที่หลัก 3
delay(1000);

Display1.point(POINT_ON); // เปิดแสดงจุด “:” ระหว่างหลัก 1 กับ หลัก 2
Display1.clearDisplay(); // ต้องตาม Function นี้ จุดถึงจะแสดง
delay(1000);

tm1637.point(POINT_OFF); // ปิดแสดงจุด “:” ระหว่างหลัก 1 กับ หลัก 2
tm1637.clearDisplay(); // ต้องตาม Function นี้ จุดถึงจะปิดไม่แสดง
delay(1000);

Display1.point(POINT_ON);
Display1.clearDisplay();
Display1.display(0, 1);
Display1.display(1, 2);
Display1.display(2, 3);
Display1.display(3, 4);
delay(1000);