สารบัญ:

การตรวจสอบเครื่องซักผ้า/เครื่องอบผ้าด้วย ESP8266 & เซ็นเซอร์การเร่งความเร็ว: 6 ขั้นตอน
การตรวจสอบเครื่องซักผ้า/เครื่องอบผ้าด้วย ESP8266 & เซ็นเซอร์การเร่งความเร็ว: 6 ขั้นตอน

วีดีโอ: การตรวจสอบเครื่องซักผ้า/เครื่องอบผ้าด้วย ESP8266 & เซ็นเซอร์การเร่งความเร็ว: 6 ขั้นตอน

วีดีโอ: การตรวจสอบเครื่องซักผ้า/เครื่องอบผ้าด้วย ESP8266 & เซ็นเซอร์การเร่งความเร็ว: 6 ขั้นตอน
วีดีโอ: #shorts #หินปูนเกาะหนามาก #scaling 2024, กรกฎาคม
Anonim
การตรวจสอบเครื่องซักผ้า/เครื่องอบผ้าด้วย ESP8266 & Acceleration Sensor
การตรวจสอบเครื่องซักผ้า/เครื่องอบผ้าด้วย ESP8266 & Acceleration Sensor

เครื่องซักผ้า/เครื่องอบผ้าอยู่ในห้องใต้ดิน และตามกฎแล้ว คุณใส่เสื้อผ้าจำนวนมากในนั้น และหลังจากนั้น คุณจะยุ่งกับงานบ้านอื่นของคุณ คุณมองข้ามเสื้อผ้าที่เปียกและซึมอยู่ในห้องใต้ดินบนเครื่องของคุณ อีกครั้งที่คุณวิ่งลงไปชั้นล่างโดยคาดหวังว่าเครื่องจะทำงานเสร็จและหลังจากนั้นคุณจะเห็นเครื่องยังคงทำงานอยู่ ฉันรู้ว่ามันน่ารำคาญ

ลองนึกภาพสถานการณ์ที่คุณสามารถดูสถานะของเครื่องซักผ้า/เครื่องอบผ้าบนโทรศัพท์มือถือหรือแท็บเล็ตของคุณ ในทำนองเดียวกัน คุณจะได้รับข้อความทางโทรศัพท์ที่ระบุว่าเครื่องเสร็จสิ้นการมอบหมายงานแล้ว ฟังดูน่าดึงดูดและเอื้ออำนวยเป็นพิเศษใช่ไหม!

ด้วยความช่วยเหลือของ ESP8266 และเซ็นเซอร์มาตรความเร่ง คุณสามารถตรวจสอบสถานะของเครื่องซักผ้า/เครื่องอบผ้าของคุณได้ คุณสามารถร่วมลงทุนที่บ้านของคุณเองได้ง่ายๆ เพียงแค่ทำตามคำแนะนำและคัดลอกโค้ด

ขั้นตอนที่ 1: อุปกรณ์ที่เราต้องการ

อุปกรณ์ที่เราต้องการ
อุปกรณ์ที่เราต้องการ
อุปกรณ์ที่เราต้องการ
อุปกรณ์ที่เราต้องการ
อุปกรณ์ที่เราต้องการ
อุปกรณ์ที่เราต้องการ
อุปกรณ์ที่เราต้องการ
อุปกรณ์ที่เราต้องการ

1. Adafruit Huzzah ESP8266

ขั้นตอนแรกคือการได้รับบอร์ด Adafruit Huzzah ESP8266 Adafruit Huzzah ESP8266 เป็นชิป Wi-Fi ราคาประหยัดพร้อมสแต็ค TCP/IP และความสามารถของไมโครคอนโทรลเลอร์เต็มรูปแบบ ESP8266 เป็นแพลตฟอร์มสำหรับผู้ใหญ่สำหรับการตรวจสอบและควบคุมแอปพลิเคชันโดยใช้ Arduino Wire Language และ Arduino IDE โมดูล ESP8266 เป็นบอร์ดที่คุ้มค่าอย่างยิ่งกับชุมชนขนาดใหญ่และเติบโตอย่างต่อเนื่อง

2. Adafruit Huzzah ESP8266 Host Adapter (โปรแกรมเมอร์ USB)

อะแดปเตอร์โฮสต์ ESP8266 นี้ได้รับการออกแบบมาโดยเฉพาะสำหรับรุ่น Adafruit Huzzah ของ ESP8266 โดยมีอินเทอร์เฟซ I²C พอร์ต USB ในตัวจ่ายไฟและตั้งโปรแกรมให้กับ ESP8266

3. H3LIS331DL เซ็นเซอร์เร่งความเร็ว

H3LIS331DL เป็นเครื่องวัดความเร่งเชิงเส้นแบบ 3 แกนประสิทธิภาพสูงที่ใช้พลังงานต่ำพร้อมอินเทอร์เฟซอนุกรม I²C แบบดิจิตอล เป็นอุปกรณ์สำหรับวัดความเร่งด้วยอัตราข้อมูลเอาท์พุตตั้งแต่ 0.5 Hz ถึง 1 kHz สิ่งเหล่านี้ทำให้เซ็นเซอร์นี้เป็นตัวเลือกในอุดมคติสำหรับโครงการนี้

4. สายเคเบิลเชื่อมต่อ

ฉันใช้สายต่อ I²C ที่ลิงค์ด้านบน

5. สาย USB ขนาดเล็ก

สายไฟ mini USB เป็นตัวเลือกในอุดมคติสำหรับการจ่ายไฟให้กับ Adafruit Huzzah ESP8266

ขั้นตอนที่ 2: การเชื่อมต่อฮาร์ดแวร์

การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์

โดยทั่วไปแล้ว การเชื่อมต่อนั้นง่ายมาก ทำตามคำแนะนำและรูปภาพด้านล่าง แล้วคุณจะไม่มีปัญหา

การเชื่อมต่อ Adafruit Huzzah ESP8266 และ USB Programmer

ก่อนอื่น ให้ใช้ Adafruit Huzzah ESP8266 และวางโปรแกรมเมอร์ USB (ที่มีพอร์ต I²C หันเข้าด้านใน) ไว้ กด USB Programmer เบาๆ เข้าที่ และเราเสร็จสิ้นขั้นตอนนี้ ง่ายเหมือนพาย (ดูรูป #1)

การเชื่อมต่อของเซนเซอร์กับ Adafruit Huzzah ESP8266

นำเซ็นเซอร์และต่อสายเคเบิล I²C เข้ากับเซ็นเซอร์ เพื่อการทำงานที่เหมาะสมของสายเคเบิลนี้ โปรดจำไว้ว่า I²C Output เสมอเชื่อมต่อกับอินพุตI²C ควรทำเช่นเดียวกันสำหรับ Adafruit Huzzah ESP8266 โดยติดตั้งโปรแกรมเมอร์ USB ไว้ด้านบน (ดูรูปที่ 2)

ด้วยความช่วยเหลือของโปรแกรมเมอร์ USB ESP8266 มันง่ายมากที่จะตั้งโปรแกรม ESP8266 สิ่งที่คุณต้องทำคือเสียบเซ็นเซอร์เข้ากับโปรแกรมเมอร์ USB และพร้อมใช้งาน ฉันชอบใช้อะแดปเตอร์นี้มากกว่าเพราะช่วยให้เชื่อมต่อฮาร์ดแวร์ได้ง่ายขึ้นมาก หากไม่มีโปรแกรมเมอร์ USB แบบพลักแอนด์เพลย์นี้ มีความเสี่ยงสูงที่จะเชื่อมต่อผิด สายที่ผิดเส้นเดียวสามารถฆ่า wifi และเซ็นเซอร์ของคุณได้

หมายเหตุ: สายสีน้ำตาลควรเป็นไปตามการเชื่อมต่อกราวด์ (GND) ระหว่างเอาต์พุตของอุปกรณ์หนึ่งกับอินพุตของอุปกรณ์อื่นเสมอ

กำลังของวงจร

เสียบสาย Mini USB เข้ากับแจ็คไฟของ Adafruit Huzzah ESP8266 สว่างขึ้นและ voila เราพร้อมแล้ว!

การประกอบขั้นสุดท้ายจะมีลักษณะเหมือนในรูปที่ 3

วางเซ็นเซอร์ในเครื่องซักผ้า/เครื่องอบผ้า

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

ด้วยสิ่งนี้ เราทำงานฮาร์ดแวร์ทั้งหมดเสร็จแล้ว

ขั้นตอนที่ 3: Adafruit Huzzah ESP8266 Arduino Code

รหัส ESP สำหรับเซ็นเซอร์ Adafruit Huzzah ESP8266 และ H3LIS331DL มีอยู่ในที่เก็บ Github ของเรา

ก่อนดำเนินการโค้ด โปรดอ่านคำแนะนำที่ให้ไว้ในไฟล์ Readme และตั้งค่า Adafruit Huzzah ESP8266 ตามนั้น จะใช้เวลาสักครู่ในการทำเช่นนั้น

หมายเหตุ: ก่อนอัปโหลด ตรวจสอบให้แน่ใจว่าคุณป้อนเครือข่าย SSID และรหัสผ่านในรหัส

คุณสามารถคัดลอกรหัส ESP ที่ใช้งานได้สำหรับเซ็นเซอร์นี้จากที่นี่ด้วย:

// เผยแพร่โดยให้สิทธิ์ใช้งานตามเจตจำนงเสรี// ใช้แบบใดก็ได้ที่คุณต้องการ ไม่ว่าจะมีกำไรหรือให้เปล่า โดยให้เหมาะสมกับใบอนุญาตของงานที่เกี่ยวข้อง // การตรวจสอบเครื่องซักผ้า/เครื่องอบผ้าด้วย ESP8266 // รหัสนี้ออกแบบมาเพื่อใช้งานกับโมดูลขนาดเล็ก H3LIS331DL_I2CS I2C จาก Dcubestore.com //

#รวม

#รวม #รวม #รวม

// ที่อยู่ H3LIS331DL I2C คือ 0x18(24)

#define แอดเดอร์ 0x18

const char* ssid = "เครือข่าย ssid ของคุณ";

const char* password = "รหัสผ่านของคุณ";

ESP8266เว็บเซิร์ฟเวอร์เซิร์ฟเวอร์(80);

เป็นโมฆะ handleroot()

{ ข้อมูล int ที่ไม่ได้ลงนาม[6];

สำหรับ (int i = 0; i <6; i ++) { // เริ่ม I2C Transmission Wire.beginTransmission (Addr); // เลือกการลงทะเบียนข้อมูล Wire.write((40 + i)); // หยุด I2C Transmission Wire.endTransmission();

// ขอข้อมูล 1 ไบต์

Wire.requestFrom(Addr, 1); // อ่านข้อมูลขนาด 6 ไบต์ // xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb if (Wire.available () == 1) { data = Wire.read (); } } ล่าช้า (300);

// แปลงข้อมูล

int xAccl = ((ข้อมูล[1] * 256) + ข้อมูล[0]); ถ้า (xAccl > 32767) { xAccl -= 65536; } int xAcc = ((100 * 9.8) / 32768) * xAccl;

int yAccl = ((ข้อมูล[3] * 256) + ข้อมูล[2]);

ถ้า (yAccl > 32767) { yAccl -= 65536; } int yAcc = ((100 * 9.8) / 32768) * yAccl;

int zAccl = ((ข้อมูล[5] * 256) + ข้อมูล[4]);

ถ้า (zAccl > 32767) { zAccl -= 65536; } int zAcc = ((100 * 9.8) / 32768) * zAccl;

// ส่งออกข้อมูลไปยังมอนิเตอร์แบบอนุกรม

Serial.print("การเร่งความเร็วในแกน X: "); Serial.print(xAcc); Serial.println("m/s"); Serial.print("การเร่งความเร็วในแกน Y: "); Serial.print(yAcc); Serial.println("m/s"); Serial.print("การเร่งความเร็วในแกน Z: "); Serial.print(zAcc); Serial.println("m/s"); ล่าช้า (300);

// ส่งออกข้อมูลไปยังเว็บเซิร์ฟเวอร์

server.sendContent ("<meta http-equiv='refresh' content='10'""

ควบคุมทุกอย่าง

www.controleverything.com

H3LIS331DL เซนเซอร์ I2C โมดูลขนาดเล็ก

"); server.sendContent ("

การเร่งความเร็วในแกน X = " + String(xAcc) + " m/s/s"); server.sendContent ("

การเร่งความเร็วในแกน Y = " + String(yAcc) + " m/s/s"); server.sendContent ("

การเร่งความเร็วในแกน Z = " + String(zAcc) + " m/s/s");

ถ้า (xAcc > 2)

{ // ส่งออกข้อมูลไปยังจอภาพแบบอนุกรม Serial.println ("เครื่องซักผ้า / เครื่องอบผ้า: ใช้งานได้");

// ส่งออกข้อมูลไปยังเว็บเซิร์ฟเวอร์

server.sendContent ("

เครื่องซักผ้า/อบผ้า: ทำงาน"); } อื่น { // ส่งออกข้อมูลไปยังจอภาพอนุกรม Serial.println ("เครื่องซักผ้า/เครื่องอบผ้า: เสร็จสิ้น");

// ส่งออกข้อมูลไปยังเว็บเซิร์ฟเวอร์

server.sendContent ("

เครื่องซักผ้า/อบผ้า: เสร็จแล้ว"); } }

การตั้งค่าเป็นโมฆะ ()

{ // เริ่มต้นการสื่อสาร I2C เป็น MASTER Wire.begin (2, 14); // เริ่มต้นการสื่อสารแบบอนุกรม กำหนดอัตรารับส่งข้อมูล = 115200 Serial.begin(115200);

// เชื่อมต่อกับเครือข่าย WiFi

WiFi.begin(ssid, รหัสผ่าน);

// รอการเชื่อมต่อ

ในขณะที่ (WiFi.status () != WL_CONNECTED) { ล่าช้า (500); Serial.print("."); } Serial.println(""); Serial.print("เชื่อมต่อกับ"); Serial.println(ssid);

// รับที่อยู่ IP ของ ESP8266

Serial.print("ที่อยู่ IP:"); Serial.println(WiFi.localIP());

// เริ่มเซิร์ฟเวอร์

server.on("/", แฮนเดิลรูท); เซิร์ฟเวอร์.begin(); Serial.println("เซิร์ฟเวอร์ HTTP เริ่มทำงาน");

// เริ่มการส่ง I2C

Wire.beginTransmission(Addr); // เลือกควบคุมการลงทะเบียน 1 Wire.write(0x20); // เปิดใช้งานแกน X, Y, Z, โหมดเปิดเครื่อง, อัตราการส่งข้อมูล 50Hz Wire.write(0x27); // หยุด I2C Transmission Wire.endTransmission();

// เริ่มการส่ง I2C

Wire.beginTransmission(Addr); // เลือกควบคุมการลงทะเบียน 4 Wire.write(0x23); // ตั้งค่าเต็มสเกล +/- 100g อัปเดตต่อเนื่อง Wire.write(0x00); // หยุด I2C Transmission Wire.endTransmission(); ล่าช้า (300); }

วงเป็นโมฆะ ()

{ server.handleClient(); }

ขั้นตอนที่ 4: การปฏิบัติจริงของรหัส

การปฏิบัติจริงของรหัส
การปฏิบัติจริงของรหัส

ตอนนี้ ดาวน์โหลด (git pull) หรือคัดลอกโค้ดแล้วเปิดใน Arduino IDE

รวบรวมและอัปโหลดรหัสและดูผลลัพธ์บน Serial Monitor ของคุณ หลังจากนั้นไม่กี่วินาทีก็จะแสดงพารามิเตอร์ทั้งหมด

คัดลอกที่อยู่ IP ของ ESP8266 จาก Serial Monitor แล้ววางลงในเว็บเบราว์เซอร์ของคุณ คุณจะเห็นหน้าเว็บที่มีการอ่านค่าความเร่งแบบ 3 แกนและสถานะของเครื่องซักผ้า/เครื่องอบผ้า ก่อนดำเนินการทดสอบขั้นสุดท้าย คุณต้องแก้ไขค่าความเร่งตามตำแหน่งถังซักของเครื่องซักผ้าและตำแหน่งเซ็นเซอร์ในเงื่อนไข if-else ในโค้ด

เอาต์พุตของเซ็นเซอร์บน Serial Monitor และ Web Server แสดงในภาพด้านบน

ขั้นตอนที่ 5: แอปพลิเคชันและการอัพเกรด

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

คุณยังสามารถได้รับข้อความบนโทรศัพท์ของคุณที่ระบุว่าเครื่องเสร็จสิ้นการมอบหมายงาน ด้วยสิ่งนี้ คุณจะจำเสื้อผ้าในเครื่องซักผ้าได้เสมอ สำหรับสิ่งนี้ คุณสามารถอัปเกรดโปรเจ็กต์นี้ได้โดยการเพิ่มบางส่วนในโค้ดที่ให้ไว้ด้านบน

ฉันหวังว่าคุณจะชอบโครงการนี้และเป็นแรงบันดาลใจให้ทดลองต่อไป บอร์ด Adafruit Huzzah ESP8266 ใช้งานได้หลากหลาย ราคาถูก และเหมาะสำหรับผู้ที่ชื่นชอบงานอดิเรกทุกคน นี่เป็นเพียงหนึ่งในหลายโครงการง่ายๆ ที่สามารถสร้างได้โดยใช้ ESP8266

ขั้นตอนที่ 6: แหล่งข้อมูลเกี่ยวกับการก้าวต่อไป

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ H3LIS331DL และ ESP8266 โปรดดูที่ลิงก์ด้านล่าง:

  • เอกสารข้อมูลเซ็นเซอร์ H3LIS331DL
  • เอกสารข้อมูล ESP8266

คุณยังสามารถดูบทความเพิ่มเติมของเราเกี่ยวกับโครงการ Home Automation & ESP8266:

  • ระบบอัตโนมัติภายในบ้านด้วย ESP8266 และรีเลย์คอนโทรลเลอร์
  • ไฟควบคุมพร้อม ESP8266 และเพรสเชอร์เซนเซอร์

แนะนำ: