สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
สวัสดี!
ฉันชื่อเอ็ด ฉันอายุ 15 ปี มีความหลงใหลในการคำนวณ การเขียนโปรแกรม และวิศวกรรมไฟฟ้า ตั้งแต่อายุยังน้อย ฉันอาศัยอยู่บ้านพ่อแม่ โปรเจ็กต์นี้เริ่มต้นเมื่อตัดสินใจย้ายไปห้องใต้หลังคา/ห้องใต้หลังคา ในขั้นตอนการออกแบบห้องด้วยเฟอร์นิเจอร์ใหม่ที่จะซื้อ ตัดสินใจว่าจะทำสิ่งนี้ ห้องแตกต่างกันเล็กน้อย และห้องอัจฉริยะก็ถือกำเนิดขึ้น!
ขั้นตอนที่ 1: การรับชิ้นส่วน
อเมซอนมีหลายวิธีในการทำเช่นนี้ คุณสามารถซื้อส่วนประกอบทั้งหมดได้ในราคาถูก แต่การจัดส่งจะใช้เวลาประมาณ 30 วันจากจีน หรือคุณสามารถซื้อชิ้นส่วนใน Amazon
(ลิงก์ทั้งหมดในสหราชอาณาจักรฉันกลัว)
NODEMCU 1x
อเมซอน
Bangood
ARDUINO อย่างน้อย 2x ขึ้นอยู่กับจำนวนโมดูลที่คุณใช้ (ประเภทใดก็ได้ แต่ฉันใช้ Pro Micros เพราะฉันวางมันไว้)
อเมซอน
Bangood
บอร์ดรีเลย์ 8 ชิ้น 1x
Bangood
อเมซอน
โมดูลวิทยุ (NRF24L01) อย่างน้อย 2x
อเมซอน
Bangood
อะแดปเตอร์วิทยุอย่างน้อย 2x
Bangood
อเมซอน
โมดูลรีเลย์เดี่ยวหลายตัวขึ้นอยู่กับว่าคุณต้องการเชื่อมต่ออุปกรณ์เพิ่มเติมหรือไม่
อเมซอน
Bangood
อื่น ๆ
สายจัมเปอร์จำนวนมาก ปลายต่างกัน
อดทนหน่อยนะ
ws2182b แถบ LED
ของใช้ในบ้านอัจฉริยะเพิ่มเติม เช่น พัดลม
Amazon Echo ทุกประเภท
สาย USB สำหรับการเขียนโปรแกรม
คณะกรรมการ Perf
ส่วนหัวของพิน
ขั้นตอนที่ 2: มันทำงานอย่างไร
เมื่อเราทำสิ่งนี้เราต้องเข้าใจวิธีการทำงานก่อน
โดยพื้นฐานแล้วมี 3 องค์ประกอบในการตั้งค่านี้
- NodeMCU ที่รับคำสั่งจาก amazon Echo ซึ่งส่งคำสั่งไปตามรีเลย์
- Arduino ที่รับคำสั่งจาก NodeMCU ผ่านรีเลย์ แล้วส่งคำสั่งเพิ่มเติมผ่าน Radio
- ตัวรับวิทยุ Arduino ซึ่งรับคำสั่งทางวิทยุและติดอยู่กับไฟทั้งหมด
ฉันรู้ว่ามีวิธีที่ดีกว่าในการทำให้ Arduino สื่อสารกับ NodeMCU ได้ดีกว่าการใช้ Logic ของบอร์ดรีเลย์พื้นฐาน แต่ฉันลองใช้โซลูชันอื่น ๆ อีก 3 วิธีและนี่เป็นวิธีเดียวที่ใช้งานได้ในตอนท้ายดังนั้นฉันจึงติดอยู่กับสิ่งนี้
ขั้นตอนที่ 3: การเดินสายไฟชิ้นส่วน (เครื่องส่งสัญญาณ)
ขั้นแรก ต่อ NODEMCU เข้ากับรีเลย์
D0-D6 ควรต่อสายเข้ากับ INPUT 1-7 บนรีเลย์
และ VIN และ GROUND เชื่อมต่อตามลำดับ
เชื่อมต่อรีเลย์กับ Arduino
สิ่งที่เราพยายามทำคือทำให้รีเลย์เป็นเหมือนปุ่มกดธรรมดาๆ
ดังนั้นให้เชื่อมต่อ NO ของรีเลย์กับกระแสไฟ 5v
เชื่อมต่อ COM ของรีเลย์กับสองสิ่งที่แตกต่างกัน กับพิน Arduino ที่ถูกต้องและกับ GND ผ่านตัวต้านทานแบบดึงขึ้น 1Kohm
คุณสามารถทำสิ่งนี้ทั้งหมดบนกระดานขนมปังหรือผ่าน perfboard ด้วยการบัดกรี
เชื่อมต่อโมดูลวิทยุ
ขั้นแรกให้ใส่โมดูลวิทยุเข้ากับอะแดปเตอร์แล้วต่อสาย
นี่สำหรับโปรไมโคร
อแดปเตอร์ --------------arduino
MO - 16
CE - 7
CSN - 8
SCK - 15
MI - 14
นั่นคือการเดินสายทั้งหมดสำหรับฟังก์ชันเครื่องส่งสัญญาณ
ขั้นตอนที่ 4: การเดินสายไฟชิ้นส่วน (ตัวรับ)
ส่วนนี้ขึ้นอยู่กับจำนวนโมดูลตัวรับที่คุณวางแผนจะใช้ สำหรับฉันฉันกำลังใช้จำนวนมาก เพียงทำซ้ำขั้นตอนนี้
ประการแรก
เชื่อมต่อโมดูลวิทยุก่อนอื่นให้ใส่โมดูลวิทยุเข้ากับอะแดปเตอร์แล้วต่อสาย
นี่สำหรับโปรไมโคร
อแดปเตอร์ --------------arduino
MO - 16
CE - 7
CSN - 8
SCK - 15
MI - 14
เชื่อมต่อแถบ LED
5v - 5v
GND -GND
DI- A0
ขั้นตอนที่ 5: รหัส
สวัสดี, ฉันจะยอมรับตอนนี้ว่าทักษะ C++ ของฉัน / Arduino นั้นต่ำกว่ามาตรฐาน
เลยเอาโค้ดของหลายๆ คนมารวมกัน
เครดิตไปที่:
รุย ซานโตส
วิธีการเมคคาทรอนิกส์
ตัวอย่าง Arduino
ผู้สร้าง FauxMoESP
โดยพื้นฐานแล้วรหัส NodeMCU ใช้ libary ที่ยอดเยี่ยมที่เรียกว่า FauxMoESP
ซึ่งเลียนแบบสวิตช์ WeMO
จากตรงนั้นมันค่อนข้างใช้งานง่าย แต่ฉันยังคงใช้และแก้ไขรหัสของ Rui Santos ขออภัย!
มันควบคุมแต่ละรีเลย์เพื่อทำคำสั่งบางอย่างและนั่นคือมัน
รหัสเครื่องส่งสัญญาณ Arduino ระบุรูปแบบแล้วส่งสัญญาณวิทยุอีกครั้ง มันไม่ใช่รหัสของฉันทั้งหมด แต่ฉันแก้ไขมัน
รหัส Arduino Reciever อีกครั้งไม่ใช่ของฉันทั้งหมด แต่ฉันแก้ไขแล้ว มันฟังรหัสแล้วเปิด/ปิด LED
รหัสลิงค์ด้านล่าง
ขั้นตอนที่ 6: การตั้งค่า Alexa
พื้นฐานของคำสั่งคือกิจวัตร
Alexa รู้วิธีการทำ 7 สิ่ง; เปิดและปิดรีเลย์แต่ละตัว โดยตั้งค่าสวิตช์ FauxmoESP เป็น 10%, 20% ฯลฯ เท่านั้นยังไม่พอ ดังนั้นเราจึงใช้กิจวัตรเพื่อทำสิ่งเหล่านั้นทั้งหมดเพื่อให้เราสามารถสั่ง LEDS ได้
กระบวนการนี้อาจใช้เวลาสักครู่ แต่จงอดทน!
ขั้นตอนที่ 7: ขอบคุณ
ขอบคุณที่สละเวลาดูคำแนะนำนี้ มันมีความหมายกับฉันมาก! หากคุณสร้างสิ่งนี้ขึ้นมา ขอให้โชคดีกับมัน หรือขอให้มีความสุข แสดงความคิดเห็น กดไลค์ หรือติดตามหากคุณสนุกกับสิ่งนี้ และอย่าลืมถามคำถามที่คุณอาจมี!