
สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12


ในคู่มือนี้ ฉันจะบอกคุณถึงวิธีสร้าง Alarmostat โครงการโรงเรียนของฉันสำหรับ 1MCT ที่ Howest แนวคิดคือการสร้างอุปกรณ์ที่มีทั้งสัญญาณกันขโมยและเทอร์โมสตัทในเครื่องเดียว การออกแบบของฉันสามารถปรับปรุงได้อย่างแน่นอน ดังนั้นจึงไม่จำเป็นต้องทำตามคำแนะนำอย่างแม่นยำ มีความคิดสร้างสรรค์!
ส่วนประกอบที่จำเป็นแสดงไว้ด้านล่าง และสามารถดูวงจรไฟฟ้าที่แน่นอนได้ในภาพ (แต่ฉันไม่รับผิดชอบต่อความเสียหายใดๆ ต่ออุปกรณ์ของคุณ:))
เสบียง
-Raspberry Pi (ฉันใช้ 3B+) พร้อมอะแดปเตอร์และการ์ด SD
-เขียงหั่นขนม
-GPIO ฝ่าวงล้อมสามารถมีประโยชน์
- เซ็นเซอร์ตรวจจับความเคลื่อนไหว (HCRS501)
- สวิตช์แม่เหล็กประตู (ada375)
- ไฟ LED และตัวต้านทานบางตัว
- ออดที่ใช้งานอยู่
-ตัวเข้ารหัสแบบหมุน (keyes-0.40)
-2x16จอlcd
-74hc595 shiftregister เพื่อขับ lcd
-MFRC522 เครื่องอ่าน rfid
-สายไฟเยอะ
-วัสดุในการทำเคสและเครื่องมือในการประกอบ
(แหล่งจ่ายไฟแบบเขียงหั่นขนมพิเศษ)
ขั้นตอนที่ 1: รับไฟล์
ไฟล์สำหรับโปรเจ็กต์นี้สามารถพบได้ในที่เก็บเหล่านี้:
github.com/thomasdebiehw/project-backend
github.com/thomasdebiehw/project-frontend
แบ็กเอนด์เป็นโปรแกรม Python / Flask ที่สื่อสารกับฮาร์ดแวร์ของเราและให้บริการข้อมูลจากส่วนหน้าซึ่งเป็นเว็บอินเตอร์เฟส
อย่าเกลียดโค้ด ฉันรู้ว่าบางส่วนเขียนได้ไม่ดีและไม่ชัดเจน แต่เดี๋ยวก่อน ใช้งานได้:)
คุณอาจต้องเปลี่ยนแปลงบางสิ่งเพื่อให้ทำงานได้อย่างถูกต้อง เช่น ผู้ใช้ mysql หรือที่อยู่ IP ของโปรแกรมที่ทำงานอยู่
อ่าน readme ของ frontend เพื่อทราบว่าจะวางไฟล์เหล่านี้ไว้ที่ใด
รับไฟล์บน Pi ของคุณ (หรือทำการเปลี่ยนแปลงที่ยอดเยี่ยมกับไฟล์เหล่านั้น) และเตรียมพร้อมที่จะเชื่อมต่อทุกอย่างกับ Pi
ขั้นตอนที่ 2: เชื่อมต่อ


ปิด Pi ของคุณก่อนเชื่อมต่อส่วนประกอบ วงจรไฟฟ้าควรอธิบายได้ด้วยตัวเอง แต่ส่วนที่ต้องระวังคือเซ็นเซอร์ตรวจจับความเคลื่อนไหว ด้วยเหตุผลบางประการ เลย์เอาต์ของมันแตกต่างไปจากวงจรไฟฟ้า ฉันเพิ่มคำอธิบายประกอบให้กับรูปภาพเพื่ออธิบายการทำงานของส่วนประกอบต่างๆ
สิ่งหนึ่งที่คุณอาจต้องการทำ หากคุณประสบปัญหาคือใช้แหล่งจ่ายไฟแบบเขียงหั่นขนมภายนอก ฉันมีปัญหากับเครื่องอ่าน rfid ไม่ทำงาน แม้ว่าฉันจะไม่แน่ใจทั้งหมดเกี่ยวกับพลังงาน แต่ฉันก็ไม่พบปัญหานี้หลังจากใช้แหล่งภายนอก และมันก็ไม่เจ็บเช่นกัน
หากต้องการทำสิ่งนี้ ให้เชื่อมต่อพิน GND จาก Pi และแหล่งจ่ายไฟเข้าด้วยกัน เสียบทุกอย่าง +3.3v หรือ +5v จากส่วนประกอบเข้ากับเอาต์พุตตามแหล่งจ่ายภายนอกและคุณน่าจะดี
อย่าเชื่อมต่อ 3.3 หรือ 5v ของ Pi กับแหล่งจ่ายไฟ หากคุณกำลังใช้อย่างใดอย่างหนึ่งที่ดีที่สุดคือปล่อยให้สิ่งเหล่านี้ขาดการเชื่อมต่อโดยสมบูรณ์เพื่อหลีกเลี่ยงการทำผิดพลาด
คุณสามารถเห็นการตั้งค่าการทดสอบของฉันในรูปที่สอง
ขั้นตอนที่ 3: การทดสอบ

คุณควรใส่ฐานข้อมูลบน Pi ผ่าน MySQL Workbench โดยทำการนำเข้าข้อมูล ไฟล์ในที่เก็บคือดัมพ์ของฐานข้อมูล ไม่เช่นนั้นคุณอาจประสบปัญหาเนื่องจาก Pi ใช้ MariaDB แทน MySQL คุณอาจต้องสร้างผู้ใช้ใหม่หรือเปลี่ยนข้อมูลรับรองเหล่านี้ในรหัส คุณสามารถดู ERD ได้ในรูปที่แนบมา
คุณสามารถลองเรียกใช้โปรแกรม Alarmostat ได้ทันที แต่ฉันแนะนำให้ทดสอบส่วนประกอบแยกกันก่อน คุณสามารถใช้คลาสที่รวมอยู่ใน github repo และสร้างโปรแกรมเล็กๆ เพื่อทดสอบส่วนประกอบทั้งหมดของคุณ ซึ่งจะทำให้การแก้ไขปัญหาง่ายขึ้นมาก
เมื่อคุณรู้ว่าส่วนประกอบของคุณทำงาน เราสามารถเริ่มสร้างเคสได้
ขั้นตอนที่ 4: กรณี




กรณีสามารถเป็นอะไรก็ได้ที่คุณต้องการ หากคุณต้องการสร้างต้นแบบที่มีในตัวเหมือนของฉัน มีข้อกำหนดบางประการ
- ช่องเจาะบางส่วนสำหรับติดตั้งส่วนประกอบรางที่แผ่นด้านหน้า
-กลไกประตูบางประเภท
- ด้านในมีพื้นที่เพียงพอ
ฉันใช้ไม้หนา 6 มม. มีความทนทานและสมบูรณ์แบบมากหากคุณต้องการตัดด้วยเลเซอร์ แต่การติดตั้งส่วนประกอบโดยไม่ต้องใช้สกรูที่ด้านหน้าอาจทำได้ยาก
ฉันจับสกรูที่แสดงในภาพแล้วใช้น็อตเพื่อทำให้สั้นลงอย่างมีประสิทธิภาพ ฉันขอแนะนำอย่างยิ่งให้ทดสอบว่าสกรูของคุณใช้วัสดุที่ใช้แล้วทิ้งได้ไกลแค่ไหน เนื่องจากชิ้นส่วนเหล่านี้อาจแตกต่างกันไป
บางส่วนไม่มีรูสกรูที่ดี (keyes-040, hcsr501, leds) ดังนั้นฉันจึงใช้ปืนกาวร้อนเพื่อยึดสิ่งเหล่านี้เข้าที่ ไม่ใช่วิธีแก้ปัญหาที่สะอาดที่สุด แต่จะทำได้ดี อาจไม่จำเป็นต้องใช้หัวแร้ง แต่ฉันใช้อันหนึ่งเพื่อบัดกรีสายไฟที่ดีกว่ากับเซ็นเซอร์ประตู ada375 ของฉันเนื่องจากหลุดออกง่ายเกินไป
ชิ้นส่วนที่ฉันติดตั้งเข้ากับเคสคือ:
-2 ไฟ LED
-ada375
-hcsr501
-lcd
- อีโคเดอร์โรตารี่
-rfid reader
ส่วนที่เหลือติดอยู่กับเขียงหั่นขนม (แต่แนะนำให้ติดเซ็นเซอร์อุณหภูมิไว้ที่อื่นนอกเคส)
ขั้นตอนที่ 5: ข้อสังเกตบางประการเกี่ยวกับกรณีของฉัน




คุณสามารถค้นหาแบบร่างของเคสด้านบน นี่คือมิติข้อมูล:
แผ่นหน้า: 40.5 x 30 ซม.
ข้างตัวเรือนส่วนประกอบ:20 x 30 ซม.
บนและล่าง: 20 x 20 ซม.
ฉันเจาะรูเล็กๆ ที่ด้านข้างเพื่อกำหนดเส้นทางรางสายเซ็นเซอร์และช่องที่ใหญ่กว่าที่แผงด้านหลังสำหรับสายไฟและสายอีเทอร์เน็ต ช่องเปิดสำหรับไฟ LED 2 ดวงที่ด้านหน้าก็เจาะเช่นกัน
คำแนะนำหนึ่งข้อ: อย่าคัดลอกมิติข้อมูลเหล่านี้! จานบนสุดสำหรับฉันควรมีขนาด 20.6 x 21.2 ซม. เพราะฉันไม่ได้คำนึงถึงความหนาของไม้ และแม้ว่านั่นจะถูกต้อง แต่กล่องหุ้มที่ Pi และส่วนประกอบนั่งอยู่นั้นแทบจะไม่ใหญ่พอ ฉันไม่ได้คำนึงถึงความยาวที่เพิ่มขึ้นของแหล่งจ่ายไฟเขียงหั่นขนมและโชคดีที่ฉันสามารถวางไว้ในแนวทแยงมุมได้
ฉันแนะนำให้ใช้จานหน้าขนาดเดียวกัน และทำให้เคสด้านหลังกว้างขึ้น 5 ซม. มีพื้นที่เหลือทางด้านซ้ายมากเกินพอที่จะขยับประตูและเซ็นเซอร์ไปที่ขอบอีกเล็กน้อย
หรือรู้..ออกแบบเอง!
ขั้นตอนที่ 6: การประกอบ



ฉันพบว่าการทำงานตามลำดับนี้ง่ายที่สุด:
1: ตัดไม้ของคุณให้ได้ขนาดที่เหมาะสม
2: นำเพลทด้านหน้าและทำพิลึกสำหรับส่วนประกอบต่างๆ (ถ้าคุณต้องการตัดด้วยเลเซอร์นี้ ไฟล์จะถูกแนบมา คุณต้องมีรูพิเศษอีกสองรูสำหรับไฟ LED)
3: ติดตั้งส่วนประกอบที่จำเป็นเข้ากับแผ่นด้านหน้า
4: ทดสอบเชื่อมต่อส่วนประกอบเหล่านี้ คุณควรทำเช่นนี้ในขณะที่คุณยังมีพื้นที่ทำงาน ฉันติดสายที่เกี่ยวข้องเข้าด้วยกันเพื่อให้เป็นส่วนหัว ทำให้เชื่อมต่อได้ง่ายขึ้นเมื่อทุกอย่างเข้าที่
5: ติดตั้ง raspberry pi เข้ากับตัวเรือนด้านใน (หรือค้นหาวิธีอื่นในการติดตั้งเพราะแทบจะเป็นไปไม่ได้ที่จะถอด sd card ออก) ถั่วที่ฉันใช้สัมผัสกับหมุดโลหะบน Pi ดังนั้นฉันจึงปิดด้านล่างบางส่วน ด้วยเทปพันสายไฟ
ขั้นตอนที่ 7: การประกอบเพิ่มเติม




ตอนนี้ประกอบเข้าด้วยกัน (ฉันใช้กาวไม้ที่แข็งแรงมากเพราะไม้นี้ไม่ชอบตะปูหรือสกรูด้านหนา 6 มม.)
ฉันติดแผงด้านข้างทั้งสองข้างของตัวเรือนเข้ากับขอบด้านนอกของเพลตด้านล่าง และวางแผงด้านหลังที่ด้านบนของเพลตด้านล่าง ระหว่างเพลตด้านข้าง ทำให้แข็งแรงขึ้นแต่ต้องเจียรส่วนบนของแผ่นรองหลังออกเพราะออกมาสูงกว่าแผงด้านข้างและด้านหน้า 6 มม.
ขั้นตอนที่ 8: เชื่อมต่อ



ในที่สุดก็ถึงเวลาเชื่อมต่อส่วนประกอบภายในเคสอีกครั้ง ฉันเพิ่งวางเขียงหั่นขนมเข้าที่ด้วยสายเคเบิลทั้งหมดที่ต่ออยู่ จากนั้นจึงเชื่อมต่อส่วนประกอบที่ประกอบเข้าด้วยกันทีละชิ้น
อย่างที่คุณเห็นสิ่งนี้ไม่ได้สะอาดเกินไป ดังนั้นคุณอาจพบวิธีที่ดีกว่าในการติดตั้งอย่างถูกต้อง
ขั้นตอนที่ 9: ซอฟต์แวร์
คุณจะต้องเพิ่มผู้ใช้ในฐานข้อมูลหากต้องการใช้เครื่องอ่าน rfid เพื่อติดตั้งและปลดอาวุธระบบ เชื่อมต่อกับ pi ของคุณผ่าน Workbench เลือกฐานข้อมูล Alarmostat และเรียกใช้คำสั่งต่อไปนี้:
INSERT INTO alarmostat.user (iduser, username, usertype, userpassword, userrfidtag) VALUES (ค่าเริ่มต้น, '#yourusername', 'user', '#password', '#rfidid')
แทนที่ # ด้วยค่าที่ถูกต้อง คุณสามารถค้นหา rfidid ได้ด้วยการรันสคริปต์ rfidtest.py จากที่เก็บ มันจะแสดง id ของแท็กของคุณ:
ในการรันโปรแกรมเมื่อเริ่มต้น ดู readme:
ขั้นตอนที่ 10: คุณพร้อมแล้ว

มันจบแล้ว! คุณพร้อมที่จะปกป้องและควบคุมอุณหภูมิบ้านในจินตนาการของคุณแล้ว! ขอให้สนุกและลองเพิ่มคุณสมบัติใหม่ให้กับโค้ด!
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน

การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน

การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน

วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน

การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน

เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง