- ฮาร์ดแวร์ที่ต้องการ:
- คำอธิบายแผนผัง:
- เคล็ดลับในการใช้ ESP8266 GPIO PINS:
- โดย CircuitDigest
- เอาท์พุต:
ระบบอัตโนมัติในบ้านเป็นโครงการที่สร้างแรงบันดาลใจสำหรับพวกเราส่วนใหญ่มาโดยตลอด การสลับโหลด AC จากความสะดวกสบายของเก้าอี้หรือเตียงของเราในห้องใดก็ได้โดยไม่ต้องเอื้อมมือไปกดสวิตช์ในห้องอื่นฟังดูไม่ดีเลย !! ขอบคุณโมดูล ESP8266 ที่ทำให้แนวคิดนี้สามารถนำไปใช้ได้อย่างง่ายดายด้วยความรู้ที่ละเอียดอ่อนเกี่ยวกับอุปกรณ์อิเล็กทรอนิกส์
ในโครงการนี้ให้เราเรียนรู้วิธีสร้างกล่องรวมสัญญาณซึ่งสามารถสลับสวิตช์จากระยะไกลโดยใช้โทรศัพท์หรือคอมพิวเตอร์ของคุณที่มีการเชื่อมต่ออินเทอร์เน็ตที่ใช้งานได้ โปรเจ็กต์นี้สามารถสลับโหลด AC สองตัวที่มีพิกัดกระแสไฟฟ้าไม่เกิน 5A หรือ ~ 800 วัตต์ เมื่อคุณเข้าใจแนวคิดแล้วคุณสามารถขยายจำนวนหรือโหลด AC ได้โดยใช้โมดูล ESP ขั้นสูงและเพิ่มพิกัดกำลังของโหลดโดยใช้รีเลย์พิกัดสูง
บทช่วยสอนนี้ถือว่าคุณมีประสบการณ์ในการใช้โมดูล ESP8266 กับ Arduino IDE หากไม่ได้ไปที่การเริ่มต้นใช้งาน ESP8266 ตัวรับส่งสัญญาณ WiFi (ตอนที่ 1) และการเริ่มต้นกับ ESP8266 (ตอนที่ 3): การเขียนโปรแกรม ESP8266 ด้วย Arduino IDE และกระพริบบทแนะนำเกี่ยวกับหน่วยความจำก่อนดำเนินการต่อ
ฮาร์ดแวร์ที่ต้องการ:
ฮาร์ดแวร์ที่จำเป็นสำหรับโครงการนี้แสดงอยู่ด้านล่าง:
- ESP8266
- โมดูล FTDI (สำหรับการเขียนโปรแกรม)
- รีเลย์แม่เหล็กไฟฟ้า 3V 5A (2Nos)
- โมดูลแปลง AC-DC (5V / 700mA ขึ้นไป)
- BC547 (2Nos)
- LM317 Regulator
- 220ohm และ 360ohm Resistor
- ตัวเก็บประจุ 0.1 และ 10uf
- IN007 ไดโอด (2Nos)
- กล่องแยก
- สายไฟสำหรับการเชื่อมต่อ
คำอธิบายแผนผัง:
แผนผังที่สมบูรณ์ของโครงการนี้แสดงไว้ด้านล่าง:
แผนผังประกอบด้วยโมดูลตัวแปลง AC เป็น DC ซึ่งเอาต์พุตจะเป็น 5V และ 700mA เนื่องจากโมดูล ESP8266 ของเราทำงานบน 3.3V เราจึงต้องแปลง 5V เป็น 3.3V ดังนั้นจึงใช้ IC ควบคุมแรงดันไฟฟ้าตัวแปร LM317 เพื่อควบคุม 3.3V สำหรับโมดูล ESP ในการสลับโหลด AC เราได้ใช้รีเลย์แม่เหล็กไฟฟ้ารีเลย์นี้ต้องใช้ 3V เพื่อให้พลังงานและสามารถทนต่อ 5A ที่ไหลผ่านขา Common (C) และขาเปิด (NO) ตามปกติของรีเลย์ ในการขับเคลื่อนรีเลย์เราได้ใช้ทรานซิสเตอร์ BC547 NPN ซึ่งสลับโดยพิน GPIO ของโมดูล ESP
เนื่องจากโมดูล ESP8266 มาพร้อมกับหมุด GPIO ในตัวโครงการจึงมีความเรียบง่ายพอสมควร แต่ควรใช้ความระมัดระวังขณะใช้พิน GPIO ของโมดูล ESP ซึ่งจะกล่าวถึงด้านล่าง
เคล็ดลับในการใช้ ESP8266 GPIO PINS:
- โมดูล ESP8266-01 มีพิน GPIO สองตัวคือพิน GPIO0 และ GPIO2 ตามลำดับ
- กระแสสูงสุดของพิน GPIO คือ 12mA
- กระแสไฟสูงสุดของหมุด GPIO คือ 20mA
- เนื่องจากกระแสไฟฟ้าต่ำเราไม่สามารถขับโหลดที่เหมาะสมเช่นรีเลย์โดยตรงจากพินจึงจำเป็นต้องมีวงจรขับ
- ไม่ควรมีโหลดใด ๆ เชื่อมต่อกับพิน GPIO เมื่อโมดูล ESP เปิดอยู่ โมดูลอื่นจะติดอยู่ในลูปรีเซ็ต
- การจมกระแสมากกว่ากระแสที่แนะนำจะทอดพิน GPIO ของโมดูล ESP8266 ดังนั้นโปรดใช้ความระมัดระวัง
เพื่อเอาชนะข้อบกพร่องข้างต้นของโมดูล ESP8266 เราได้ใช้ BC547 เพื่อขับเคลื่อนรีเลย์และใช้สวิตช์ระหว่าง Emitter และกราวด์ของทรานซิสเตอร์ BC547 การเชื่อมต่อนี้จะต้องเปิดเมื่อเปิดโมดูล ESP จากนั้นจึงสามารถปิดและปล่อยทิ้งไว้ได้
ฮาร์ดแวร์:
เมื่อคุณเข้าใจแผนผังแล้วเพียงแค่ประสานวงจรบนชิ้นส่วนของ Perf Board แต่ตรวจสอบให้แน่ใจว่าบอร์ดของคุณพอดีกับกล่องแยกด้วย
ตัวแปลง AC-DC ที่ใช้ในโครงการนี้ให้เอาต์พุต 5V โดยมีกระแสไฟต่อเนื่อง 700mA และกระแสไฟฟ้าสูงสุด 800mA คุณสามารถซื้อออนไลน์ที่คล้ายกันได้อย่างง่ายดายเนื่องจากหาซื้อได้ง่าย การออกแบบตัวแปลงของเราเองหรือใช้แบตเตอรี่จะมีประสิทธิภาพน้อยลงสำหรับโครงการของเรา เมื่อคุณซื้อโมดูลนี้เพียงแค่บัดกรีสายเข้ากับขั้วอินพุตและคุณควรพร้อมที่จะใช้งานส่วนที่เหลือของวงจร
เมื่อทุกอย่างถูกบัดกรีแล้วควรมีลักษณะดังนี้
อย่างที่คุณสังเกตได้ว่าฉันใช้กล่องเทอร์มินัล 2 พินสามกล่อง ซึ่งใช้สำหรับป้อน + V จากโมดูลตัวแปลง AC-DC และอีกสองตัวเพื่อเชื่อมต่อโหลด AC เข้ากับรีเลย์
ตอนนี้ให้เราเชื่อมต่อเทอร์มินัลบนกล่องแยกเข้ากับบอร์ด Perf ของเรา
คุณสามารถสังเกตได้ว่ากล่องรวมสัญญาณของฉันมีสามขั้ว (จุดเสียบ) ใช้อันใด (ทางขวาที่สุด) เพื่อจ่ายไฟให้กับโมดูลตัวแปลง AC-Dc ของเราอีกสองตัวใช้เพื่อเชื่อมต่อโหลด AC ดังที่คุณเห็นสายกลาง (สายสีดำ) เชื่อมต่อกับปลั๊กทั้งสามจุด แต่สายเฟสเป็น (สายสีเหลือง) ปล่อยให้ว่าง ปลายเฟสของจุดปลั๊กทั้งสอง (สายสีแดงสองเส้น) ก็ปล่อยให้ว่างเช่นกัน สายฟรีทั้งสามสายนี้ควรเชื่อมต่อกับเทอร์มินัลรีเลย์ที่เราเพิ่มลงในบอร์ด Perf ดังที่แสดงด้านล่าง
บอร์ด Perf ของฉันเข้ากับกล่องแยกได้อย่างสมบูรณ์แบบตรวจสอบให้แน่ใจว่าของคุณทำได้เช่นกัน เมื่อทำการเชื่อมต่อแล้วให้อัปโหลดโปรแกรมไปยังโมดูล ESP จะติดตั้งบนบอร์ด Perf แล้วขันสกรูกล่องแยก
โปรแกรม ESP8266:
โมดูล ESP8266 ของเราถูกตั้งโปรแกรมโดยใช้ Arduino IDE ดังที่ได้กล่าวไว้ก่อนหน้านี้หากคุณต้องการทราบวิธีการตั้งโปรแกรม ESP โดยใช้ Arduino IDE ไปที่บทช่วยสอนในลิงค์ โปรแกรมที่สมบูรณ์จะได้รับในตอนท้ายของบทช่วยสอนนี้ แนวคิดของโปรแกรมสามารถอธิบายได้ด้วยตนเองอย่างไรก็ตามมีการกล่าวถึงบรรทัดสำคัญบางประการด้านล่าง
const char * ssid = "บ้าน BPAS"; // ป้อน SSID ของ Wifi ที่นี่ const ถ่าน * รหัสผ่าน = "รอยแตก"; // ใส่รหัสผ่านของคุณที่นี่
โมดูล ESP จะทำหน้าที่เป็นสถานีและจุดเชื่อมต่อในโครงการของเรา ดังนั้นจึงต้องเชื่อมต่อกับเราเตอร์ของเราเมื่อทำหน้าที่เป็นสถานี บรรทัดข้างต้นของรหัสใช้เพื่อป้อน SSID และรหัสผ่านของเราเตอร์ของเรา เปลี่ยนตามเราเตอร์ของคุณ
mainPage + = "
กล่องแยกอัจฉริยะ
โดย CircuitDigest
สวิตช์ 1
"; mainPage + ="สวิตช์ 2
"; ข้อเสนอแนะ ="ทั้งสวิตช์ 1 และสวิตช์ 2 ปิดอยู่
";เมื่อเราเชื่อมต่อกับที่อยู่ IP ของโมดูลหน้าเว็บจะแสดงขึ้นซึ่งทำงานบน HTML โค้ด HTML นี้จะต้องถูกกำหนดไว้ข้างโปรแกรม Arduino ของเราดังที่แสดงด้านบน สิ่งนี้ไม่จำเป็นต้องให้คุณรู้ HTML ก่อนมือเพียงแค่อ่านแท็ก HTML และเปรียบเทียบกับผลลัพธ์คุณจะเข้าใจว่าแต่ละแท็กแสดงถึงอะไร
คุณยังสามารถคัดลอกโค้ด HTML นี้และวางลงในไฟล์ txt และเรียกใช้เป็นไฟล์ HTML เพื่อจุดประสงค์ในการดีบัก
ในขณะที่ (WiFi.status ()! = WL_CONNECTED) {ล่าช้า (500); Serial.print ("."); } Serial.println (""); Serial.print ("เชื่อมต่อกับ"); Serial.println (ssid); Serial.print ("ที่อยู่ IP:"); Serial.println (WiFi.localIP ());
นอกจากนี้เรายังใช้ตัวเลือก Serial monitor สำหรับการดีบักโมดูล ESP และทราบสถานะที่โปรแกรมกำลังทำงานอยู่ จอภาพแบบอนุกรมจะส่งออก“.” จนกว่า ESP จะสร้างการเชื่อมต่อกับเราเตอร์ เมื่อสร้างการเชื่อมต่อแล้วจะให้ที่อยู่ IP ของเว็บเซิร์ฟเวอร์รหัสสำหรับเดียวกันจะแสดงไว้ด้านบน
server.on ("/ switch1On", () {feedback = "
สวิตช์ 1 เปิดอยู่
"; currentPage = mainPage + feedback; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_0, HIGH); delay (1000);});เมื่อเราทราบที่อยู่ IP แล้วเราสามารถเข้าถึงโค้ด HTML โดยใช้ IP นั้นบนเบราว์เซอร์ของเรา ตอนนี้เมื่อกดแต่ละปุ่มคำขอจะถูกส่งไปยังโมดูล ESP ในฐานะไคลเอนต์ ตามคำขอของไคลเอ็นต์นี้โมดูลจะตอบสนอง ตัวอย่างเช่นหากไคลเอ็นต์ร้องขอ "/ switchOn" โมดูลจะอัปเดตโค้ด HTML และส่งไปยังไคลเอนต์และเปลี่ยนพิน GPIO เป็น HIGH รหัสสำหรับสิ่งเดียวกันแสดงไว้ด้านบน ในทำนองเดียวกันสำหรับแต่ละการกระทำจะมีการกำหนด server.on ()
เอาท์พุต:
เมื่อคุณพร้อมกับฮาร์ดแวร์และโปรแกรมแล้วให้อัปโหลดโปรแกรมไปยังโมดูล ESP8266 ของเราดังที่แสดงในบทช่วยสอนนี้ จากนั้นคลิกที่จอภาพแบบอนุกรมของ Arduino IDE คุณจะเห็นสิ่งนี้หาก SSID และรหัสผ่านตรงกัน
จดบันทึกที่อยู่ IP ที่แสดงในจอภาพอนุกรม ในกรณีของฉันที่อยู่ IP คือ "http://192.168.2.103" เราต้องใช้ IP นี้ในเบราว์เซอร์ของเราเพื่อเข้าถึงหน้าเว็บ ESP
ตอนนี้วางโมดูล ESP ในบอร์ดรีเลย์ของเราปิดกล่องแยกและเปิดเครื่องจากนั้นสั้นหมุด GPIO ไปที่โหลด หากทุกอย่างทำงานได้อย่างถูกต้องเมื่อคุณป้อนที่อยู่ IP ในเบราว์เซอร์ของคุณคุณจะเห็นหน้าจอต่อไปนี้
ตอนนี้เพียงแค่เปิด / ปิดสวิตช์ที่คุณต้องการและควรมีผลกับฮาร์ดแวร์จริง นั่นคือพวกคุณไม่สามารถสลับโหลด AC ที่คุณชื่นชอบได้โดยเพียงแค่เชื่อมต่อเข้ากับจุดปลั๊ก หวังว่าคุณจะชอบโครงการและทำให้มันใช้งานได้หากไม่ใช้ส่วนความคิดเห็นเรายินดีที่จะช่วยเหลือคุณ
การทำงานที่สมบูรณ์ของโครงการกล่องแยกอัจฉริยะ DIY นี้แสดงอยู่ในวิดีโอด้านล่าง