หลักการทำงาน

ใช้ LDR เช็คสถานะไฟของเครื่องซักผ้า เมื่อสัญญาณไฟเครื่องซักผ้าดับลง LDR ก็จะรับสัญญาณแสดงว่าซักผ้าเสร็จแล้วก็จะแจ้งเตือนผ่านไลน์ทันทีเพื่อให้เราทำผ้าที่ซักเสร็จแล้วไปตาก

alternative

วิธีการต่อวงจร

1เตรียมอุปกรณ์ที่ใช้สำหรับต่อวงจร
Esp8266 V.2 1 ตัว
LDR Sensor 1 ตัว
OLED Display 1 ตัว
Buzzer 1 ตัว
Switch 4 Pin 1 ตัว
นำ LDR Sensor ขา A0 ต่อเข้ากับขา A0 ของ Esp8266 ขา GND ต่อเข้ากับขา GND ของ Esp8266 และขา VCC เข้ากับขา Vin ของ Esp8266
นำ OLED Display ขา SCL ต่อเข้ากับขา D1 ของ Esp8266 ขา SDA ต่อเข้ากับขา D2 ของ Esp8266 ขา VCC ต่อเข้ากับ 3V ของ Esp8266 และขา GND ต่อเข้ากับขา GND ของ Esp8266

วิธีการต่อวงจร

นำ Buzzer ขา VCC ต่อเข้ากับขา D0 ของ Esp8266 และขา GND ต่อเข้ากับขา GND ของ Esp8266
นำ Switch ทั้งแบบ 4 pin และแบบกดติด-กดดับ ขาใดก็ได้ต่อเข้ากับขา D3 ของ Esp8266 และต่อเข้ากับขา 3V3 ของ Esp8266 และขา GND ต่อเข้ากับขา GND ของ Esp8266
นำ Sensor ทั้งหมดต่อเข้ากับบอร์ด PCB จากนั้นบัดกรี Sensor และสายไฟทั้งหมด สุดท้ายนำแผ่น PCB ติดตั้งในกล่อง

โค้ด และ ไฟล์สำหรับดาวน์โหลด

alternative

Code For Development

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include < BlynkSimpleEsp8266.h>

#include<DNSServer.h>
#include<WiFiManager.h>

#include <TridentTD_LineNotify.h>
#include<SPI.h>
#include<Wire.h>

#include < Adafruit_GFX.h>
#include < Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire,-1);
const unsigned char MarilynMonroe [] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x1f, 0x1f, 0x9f, 0xf8, 0x8c, 0xcc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x0e, 0x0f, 0x07, 0xf8, 0x8c, 0xcc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x46, 0x06, 0x07, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc4, 0x46, 0x66, 0x67, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x0e, 0x06, 0x07, 0xf8, 0x8c, 0xcc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x0f, 0x0f, 0x0f, 0xf8, 0x8c, 0xcc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xfe, 0x00, 0x0f, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xf0, 0x00, 0x03, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xe0, 0xff, 0xc0, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0x83, 0xff, 0xf8, 0x7f, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0x0f, 0x00, 0x1c, 0x3f, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xfe, 0x3c, 0x00, 0x07, 0x1f, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xfc, 0x70, 0x7f, 0x83, 0x8f, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xf8, 0xe1, 0xff, 0xe1, 0xc7, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xf9, 0xc7, 0xff, 0xf8, 0x63, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xf1, 0x8f, 0xff, 0xfc, 0x73, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xe3, 0x1f, 0xff, 0xfe, 0x31, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xe3, 0x3f, 0xff, 0xff, 0x19, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xe6, 0x3f, 0xff, 0xff, 0x98, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xc6, 0x7f, 0xff, 0xff, 0x8c, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xcc, 0x7f, 0xff, 0xff, 0xcc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xcc, 0xff, 0xff, 0xff, 0xcc, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xcc, 0xff, 0xff, 0xff, 0xc4, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xcc, 0xff, 0xff, 0xff, 0xc4, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x8c, 0xe1, 0xe1, 0xf1, 0xc4, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x8c, 0xc0, 0xc0, 0xc0, 0x46, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xcc, 0x00, 0x00, 0x04, 0x04, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xcc, 0x1e, 0x1e, 0x0e, 0x04, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x07, 0xcc, 0x7f, 0xff, 0xff, 0xcc, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x04, 0x4c, 0x7f, 0xff, 0xff, 0xcc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x06, 0x7f, 0xff, 0xff, 0x8c, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xe0, 0x06, 0x3f, 0xff, 0xff, 0x98, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xc2, 0x1f, 0xff, 0xff, 0x19, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xe0, 0x07, 0xff, 0xfe, 0x31, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xf8, 0x03, 0xff, 0xfc, 0x33, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xfc, 0xf1, 0xff, 0xf8, 0x63, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0xff, 0xf0, 0xc7, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xc1, 0x8f, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xfe, 0x00, 0x1e, 0x1f, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x60, 0xf8, 0x7f, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xe0, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xf8, 0x00, 0x0f, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xf9, 0x80, 0x7f, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xf9, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xf9, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, 0xe3, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0x87, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff };
const unsigned char MarilynMonroe2 [] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf9, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x03, 0x80, 0x1c, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0xf0, 0x3f, 0xc0, 0xf8, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x3f, 0xf1, 0xff, 0xf8, 0xff, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xf9, 0xff, 0xf9, 0xff, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xfc, 0xff, 0xf3, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xfe, 0x3f, 0xc7, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, 0x00, 0x0f, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xfb, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xe3, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfe, 0x3f, 0xf1, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xc7, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xe3, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0x8f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xc7, 0xff, 0xff, 0xff, 0xfe, 0x3f, 0x1f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x8f, 0xff, 0xff, 0xff, 0xff, 0x1e, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xe3, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x0c, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x4f, 0xff, 0xff, 0xff, 0xff, 0x21, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xcf, 0xff, 0xff, 0xff, 0xff, 0x33, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x1f, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0xe3, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xf1, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfc, 0xc0, 0x00, 0x00, 0x19, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfc, 0xc0, 0x00, 0x00, 0x19, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xf1, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xf3, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfe, 0x1f, 0xff, 0xff, 0xc3, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xf3, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xf9, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfc, 0xc0, 0x00, 0x00, 0x39, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfc, 0xc0, 0x00, 0x00, 0x39, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xf1, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfe, 0x1f, 0xff, 0xff, 0xc3, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x07, 0xfe, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x03, 0xfe, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xf3, 0xfe, 0x78, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xf1, 0xfe, 0x71, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfc, 0xc0, 0x00, 0x00, 0x39, 0xfe, 0x63, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfc, 0xc0, 0x00, 0x00, 0x39, 0xfe, 0x47, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xf1, 0xfe, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0xe3, 0xfe, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0
};
#define LINE_TOKEN "ใส่ Line Token ของคุณ"
char auth[] = "ใส่ Token Blynk";

int Button = LED_BUILTIN;
int led = D3;
int i = 0;
int buttonState = 1;
int analogPin = 0;
int val = 0;
int buzzer = 16;

WidgetLED led_status(V1);
BlynkTimer timer;
int washingMonitor;

BLYNK_WRITE (V1){
if(param.asInt()){
if(!timer.isEnabled(washingMonitor)){
timer.enable(washingMonitor);
}
}else{
timer.disable(washingMonitor);
led_status.off();
digitalWrite (D0,HIGH);
}
}

voidsetup(){
digitalWrite (buzzer,LOW);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
pinMode(D0,OUTPUT);
digitalWrite(D0,HIGH);
LINE.setToken(LINE_TOKEN);
washingMonitor = timer.setInterval(1000L,check_washingStatus);
timer.disable(washingMonitor);

pinMode(Button,INPUT_PULLUP);
pinMode(led, OUTPUT);
pinMode(led, HIGH);
pinMode(buzzer,OUTPUT);
Serial.begin(9600);
Blynk.config(auth, "elec.cmtc.ac.th", 8080);
WiFiManager wifiManager;;
buttonState =digitalRead(Button);
if ( buttonState == 0) {
wifiManager.resetSettings();
wifiManager.setTimeout(60);
if (!wifiManager.autoConnect("TDS reset"))
{
Serial.println("Failed to connect and hit timeout");
delay(3000);
ESP.reset();
delay(5000);
}
}
WiFi.printDiag(Serial);
Serial.println();
Serial.println("connected...OK");
}

void check_washingStatus(){
digitalWrite(buzzer , LOW);
int sensorValue = analogRead(A0);
val = analogRead(analogPin);
Serial.print("val = ");
Serial.println(val);
if(analogRead(A0) < 900){
led_status.on();
digitalWrite(D0,LOW); digitalWrite(buzzer , LOW);
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(35,20);
display.println("SYSTEM");
display.setCursor(40,40);
display.println("START");
display.display();
delay(2000);
display.clearDisplay();
display.setCursor(35,10);
display.println("Please");
display.setCursor(40,30);
display.println("Wait");
display.setCursor(25,50);
display.println("^_^ ^_^");
display.display();
delay(2000);
display.clearDisplay();
display.drawBitmap(0, 0, MarilynMonroe, 128, 64, WHITE);
display.display();
delay(5000);
display.clearDisplay();
}else{
led_status.off();
digitalWrite(D0,HIGH);
Blynk.virtualWrite(V0,0);

LINE.notifySticker("ซักผ้าเสร็จแล้วจร้าาา ไปตากด้วยนะ ^^ ", 1, 2); timer.disable(washingMonitor);
delay(1000);
digitalWrite(buzzer , HIGH);
delay(1000);
digitalWrite(buzzer , LOW);
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(25,20);
display.println("WASHING");
display.setCursor(25,40);
display.println("SUCCESS");
display.display();
display(2000);

display.clearDisplay();
display.drawBitmap(0, 0, MarilynMonroe2, 128, 64, WHITE);
display.display();
delay(2000);
display.clearDisplay();
}
}

void loop(){
digitalWrite(buzzer , LOW);
WiFiManager wifiManager;
buttonState = digitalRead(Button);
if ( buttonState == 0) {
wifiManager.resetSettings();
wifiManager.setTimeout(60);
if (!wifiManager.autoConnect("TSWD")){
Serial.println("Failed to connect and hit timeout");
delay(3000);
ESP.reset();
delay(5000);
}
}
Serial.print("button wifi reset : ");
Serial.println(buttonState);
Serial.print("i = ");
Serial.println(i);
Serial.println(" ");

Blynk.run();
timer.run();
}
ดาวน์โหลดไฟล์
DOWNLOAD FILE

ดาวน์โหลด library
DOWNLOAD FILE

ดาวน์โหลดเอกสาร


แสกนเพื่อรับการแจ้งเตือนผ่านไลน์

รูปภาพประกอบ

รูปภาพประกอบการต่อวงจร การเขียนโค้คเพื่อสั่งงานอุปกรณ์ และการทดสอบตัวชิ้นงาน

alternative
alternative
alternative
alternative
alternative
alternative
alternative

PROJECTS CREATOR

โปรเจคในครั้งนี้ได้มีการแบ่งออกเป็น 2 ส่วน คือ Software และ Hardware

alternative

Mr. Anupong Janswang

Software Developer

alternative

Mr. Asadayut Amatayakul

Hardware Developer