สารบัญ:
- ขั้นตอนที่ 1: GitHub Link
- ขั้นตอนที่ 2: การสาธิตสดบน YouTube
- ขั้นตอนที่ 3: ส่วนประกอบที่จำเป็น
- ขั้นตอนที่ 4: วิธีใช้งานโค้ดและการเชื่อมต่อ
- ขั้นตอนที่ 5: การติดตั้ง
- ขั้นตอนที่ 6: การออกแบบ PCB
- ขั้นตอนที่ 7: กราฟการไหลของการควบคุมโดยละเอียดของระบบ
- ขั้นตอนที่ 8: รหัส
วีดีโอ: ระบบป้องกันไอซิ่ง: 8 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
โครงงานนี้มีวัตถุประสงค์เพื่อป้องกันการก่อตัวของน้ำแข็งหรือหิมะโดยใช้น้ำเกลือเป็นสารต้านน้ำแข็ง การใช้เซ็นเซอร์ความชื้นและอุณหภูมิในการตรวจจับสภาพแวดล้อม สปริงเกอร์จะกระจายน้ำเกลือซึ่งควบคุมโดย Raspberry Pi เซ็นเซอร์ IR ใช้สำหรับตรวจจับคนและสัตว์ เมื่อตรวจพบคน สปริงเกอร์จะปิด
ชุดคำสั่งทั้งหมดในการสร้างและใช้งานโปรเจ็กต์มีอยู่ในหน้า GitHub ของฉัน
GitHub:ระบบป้องกันน้ำแข็ง
ขั้นตอนที่ 1: GitHub Link
กรุณาเยี่ยมชมหน้า GitHub ของเราเพื่อทำความเข้าใจส่วนประกอบ เครื่องมือ และแพ็คเกจต่างๆ ที่ใช้สร้างระบบ
ระบบกันน้ำแข็ง
อ้างถึงลิงก์ด้านบนเพื่อทราบข้อมูลเพิ่มเติมเกี่ยวกับโปรเจ็กต์ เนื่องจากมีหน้าต่างๆ รวมถึง readme และ wiki ที่เชื่อมโยงกับโปรเจ็กต์ เพื่อช่วยให้คุณสร้างระบบป้องกันไอซิ่งของคุณเองได้ง่ายขึ้น
ฉันจะให้คำแนะนำทีละขั้นตอนตั้งแต่ขั้นตอนที่สามเป็นต้นไปเพื่อให้ผู้ที่ชื่นชอบ RPi สร้างได้ง่ายขึ้นจากคำแนะนำ:)
ขั้นตอนที่ 2: การสาธิตสดบน YouTube
อ้างถึงหน้า YouTube ของเราสำหรับการสาธิตสด ลิงค์ด้านล่าง:
การสาธิต YouTube สำหรับระบบ Anti-Icing
ขั้นตอนที่ 3: ส่วนประกอบที่จำเป็น
ฮาร์ดแวร์:
1. เซ็นเซอร์ IR: HC-SR501 PIR Motion Detector แรงดันไฟฟ้า: 5V - 20V การใช้พลังงาน: 65mATTL เอาต์พุต: 3.3V, 0VLock time: 0.2 วินาทีวิธีการทริกเกอร์: L - ปิดใช้งานทริกเกอร์ซ้ำ H เปิดใช้งานทริกเกอร์ซ้ำ ช่วงการตรวจจับ: น้อยกว่า 120 องศาภายใน 7 เมตรอุณหภูมิ: – 15 ~ +70 ขนาด: 32*24 มม. ระยะห่างระหว่างสกรู 28 มม. M2 ขนาดเส้นผ่านศูนย์กลางเลนส์: 23 มม.
2. เซ็นเซอร์ความชื้นและอุณหภูมิ: DHT22 (AM2302)
ใช้พลังงานต่ำ 3 ถึง 5V และกระแสไฟสูงสุด I/O2.5mA ระหว่างการแปลง (ขณะขอข้อมูล) ดีสำหรับการอ่านค่าความชื้น 0-100% พร้อมความแม่นยำ 2-5% ดีสำหรับการอ่านอุณหภูมิ -40 ถึง 80°C ความแม่นยำ ±0.5°C ไม่มาก อัตราการสุ่มตัวอย่างมากกว่า 0.5 Hz (ทุกๆ 2 วินาที) ข้อมูลบัสเดี่ยวใช้สำหรับการสื่อสารระหว่าง MCU และ DHT22 โดยจะมีค่าใช้จ่าย 5 มิลลิวินาทีสำหรับการสื่อสารแบบครั้งเดียว
3. Decdeal ปั๊มมอเตอร์ DC แบบไม่มีแปรง QR50E
ต้นทุนต่ำและอเนกประสงค์ 12V 5W พิกัดปริมาณปั๊ม 280l/H สามารถจัดการกับสารละลายประเภทต่างๆ รวมทั้งน้ำเกลือ (น้ำเกลือ) และน้ำมันที่อุณหภูมิต่างๆ
4. แบตเตอรี่ DC 12V / แหล่งจ่ายไฟ
ขั้นตอนที่ 4: วิธีใช้งานโค้ดและการเชื่อมต่อ
รหัส:
- โคลนที่เก็บ
- คัดลอกโค้ด/html ไปที่ /var/www/html
- ในโฟลเดอร์ Code ไฟล์หลักสามารถดำเนินการได้
- หากคุณเปลี่ยนหมายเลขพินอินพุต/เอาต์พุต คุณสามารถใช้ CMake เพื่อสร้างไฟล์หลักใหม่ได้
- เปิดเบราว์เซอร์ ป้อนที่อยู่ของ raspberryPi เพื่อเข้าถึงส่วนต่อประสานผู้ใช้
การเชื่อมต่อ:
เราใช้การกำหนดหมายเลข WiringPi ในรหัสของเรา ดังนั้น:
กำลัง GPIO: 4.
มอเตอร์ GPIO: 3.
เซ็นเซอร์ PIR GPIO: 0
เซ็นเซอร์ DHT22 GPIO: 7.
ขั้นตอนที่ 5: การติดตั้ง
เนื่องจากโครงการของเราเกี่ยวข้องกับ Mysql, Php, เว็บเซิร์ฟเวอร์ จึงมีคำสั่งหลายอย่างในการตั้งค่าสภาพแวดล้อมการทำงานดังนี้:
การตรวจสอบระบบ raspberry pi เป็นปัจจุบัน
sudo apt-get update
sudo apt-get อัพเกรด
การติดตั้ง apache2, php, mysql รองรับ
sudo apt-get ติดตั้ง apache2 -y
sudo apt-get ติดตั้ง php7.0
sudo apt-get ติดตั้ง mysql-server
sudo apt-get ติดตั้ง mysql-client
sudo apt-get default-libmysqlclient-dev
หลังจากติดตั้งการรองรับสำหรับสภาพแวดล้อมแล้ว ควรสร้างฐานข้อมูลและตารางที่เกี่ยวข้องเพื่ออ่านและเขียนข้อมูล
หากคุณต้องการสร้างบัญชีเข้าสู่ระบบเฉพาะแทนที่จะใช้ 'รูท' คุณสามารถทำตามคำสั่งต่อไปนี้:
การสร้างผู้ใช้ใหม่ชื่อ 'pi'
sudo mysql -u root สำหรับเข้าสู่ฐานข้อมูล mysql
mysql> ใช้ mysql;
mysql> สร้างผู้ใช้ 'pi'@'localhost' ระบุโดย '';
mysql> ให้สิทธิ์ทั้งหมดบน *.* เป็น 'pi'@'localhost';
mysql> อัปเดตผู้ใช้ SET plugin='mysql_native_password' WHERE User='pi';
mysql> ล้างสิทธิ์;
mysql> ออก;
บริการ mysql เริ่มใหม่
การสร้างฐานข้อมูลสำหรับราสเบอร์รี่ pi
mysql>สร้างเซ็นเซอร์ฐานข้อมูล
mysql>ใช้เซ็นเซอร์;
mysql>สร้างตาราง th_sensor(ชื่อถ่าน (20) ไม่ใช่คีย์หลักที่เป็นค่าว่าง, ค่าลอยตัว(10, 2) ไม่ใช่ค่าว่าง, ค่า2ลอย(10, 2);
mysql>ออก;
ตอนนี้คุณสามารถคัดลอกโฟลเดอร์ /Code/html ไปยังไดเร็กทอรี localhost เริ่มต้นเป็น /var/www/html
การสร้างสคริปต์สำหรับเริ่มระบบเมื่อเปิด pi
ตัวอย่างเช่น การสร้างไฟล์ชื่อ boot.desktop ภายใต้ทิศทาง:.config/autostart/
เนื้อหาของไฟล์ดังนี้:
[รายการเดสก์ท็อป]
Type=Application
ชื่อ=testboot
NoDisplay=true
Exec= xxx/xxx/xx./main
"xxx/xxx/xx" คือไดเร็กทอรีของไฟล์หลักของคุณ
สุดท้าย หลังจากรีบูต pi ของคุณแล้ว คุณสามารถเปิดเว็บเบราว์เซอร์เพื่อดูอินเทอร์เฟซได้
ขั้นตอนที่ 6: การออกแบบ PCB
Schematic และ PCB เราเลือก Orcad capture และตัวแก้ไข PCB เพื่อวาด PCB
วงจรเซนเซอร์:
ไฟล์ต้นฉบับของแผนผัง กรุณาเปิดไฟล์นี้โดย Orcad Capture
ไฟล์ต้นฉบับของ PCB กรุณาเปิดไฟล์นี้โดย PCB Editor
แผนผังของวงจรเซ็นเซอร์มีให้ด้านบนพร้อมกับไฟล์ PCB 16 พินเพียงพอสำหรับโครงการของเรา ดังนั้นเราจึงใช้ส่วนหัวที่มี 16 พินเท่านั้น
J2 ใช้สำหรับเซ็นเซอร์ PIR
J3 ใช้สำหรับเซ็นเซอร์ความชื้นและอุณหภูมิ
J4 สำหรับ GPIO
R1 และ R2 เป็นตัวต้านทานแบบดึงขึ้น
D1 LED ใช้สำหรับทดสอบมอเตอร์ สัญญาณนี้ใช้สำหรับควบคุมมอเตอร์
D2 LED สำหรับการสังเกต มันจะแสดงว่าวงจรทำงานหรือไม่
วงจรควบคุมมอเตอร์:
ไฟล์ต้นฉบับของแผนผัง กรุณาเปิดไฟล์นี้โดย Orcad Capture
ไฟล์ต้นฉบับของ PCB กรุณาเปิดไฟล์นี้โดย PCB Editor
แผนผังและ PCB สำหรับมอเตอร์ไดรฟ์
แผนผังของวงจรไดรเวอร์มอเตอร์มีให้ด้านบนพร้อมกับไฟล์ PCB
J1 ใช้สำหรับแหล่งพลังงาน
J2 สำหรับมอเตอร์
J3 ใช้สำหรับสัญญาณควบคุมที่มาจาก GPIO
J4 สำหรับสวิตช์
Q1 คือการควบคุมมอเตอร์
D2 LED คือการตรวจสอบว่าวงจรทำงานอย่างถูกต้องหรือไม่
ขั้นตอนที่ 7: กราฟการไหลของการควบคุมโดยละเอียดของระบบ
รายละเอียดของการไหลของสัญญาณในทั้งระบบพร้อมกับการหน่วงเวลา อัตราการสุ่มตัวอย่างและการรีเฟรช และโปรโตคอลบัสที่ใช้มีให้ด้านบนเพื่อความเข้าใจเพิ่มเติมเกี่ยวกับระบบ
ข้อเสนอแนะเพิ่มเติมสำหรับการปรับปรุงและการปรับเปลี่ยนอยู่เสมอยินดีเป็นอย่างยิ่ง:)
ขั้นตอนที่ 8: รหัส
แพ็คเกจรหัสได้รับการอัปโหลดในไฟล์.zip ซึ่งคุณสามารถใช้เพื่อแยกและคอมไพล์ใน raspberry pi ของคุณ
เราใช้ GitHub เป็นซอฟต์แวร์ควบคุมเวอร์ชันของเรา เนื่องจากเป็นซอฟต์แวร์ฟรี ดูแลรักษาง่าย และเผยแพร่เวอร์ชันที่ใหม่กว่าเพื่อบันทึกการเปลี่ยนแปลงทั้งหมดที่เกิดขึ้นกับโปรแกรม
กระบวนการโคลนแพ็คเกจและคอมไพล์โดยใช้คำสั่ง 'make' น่าจะง่ายกว่าเมื่อเปรียบเทียบกับการเข้ารหัสแต่ละบรรทัด (เป็นการยากที่จะเขียนโค้ดประเภทต่างๆ สำหรับส่วนประกอบและงานต่างๆ ในภาษาต่างๆ ในไฟล์ที่ต่างกัน)
ข้อจำกัดความรับผิดชอบ: สิ่งนี้ไม่ควรถือเป็นการโฆษณาหรือการลดระดับสำหรับเว็บไซต์อื่น เนื่องจากฉันเชื่อว่าเราเป็นชุมชนที่เปิดกว้างและเป็นผู้ใหญ่ที่ทำงานร่วมกันเพื่อสร้างอนาคตที่ดีขึ้นทีละนิด:)
หวังว่าคุณจะสนุกกับการสร้างโครงการนี้มากที่สุดเท่าที่เราทำ:)
ไชโย!
แนะนำ:
การออกแบบเกมในการสะบัดใน 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 ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง