สารบัญ:

ระบบป้องกันไอซิ่ง: 8 ขั้นตอน
ระบบป้องกันไอซิ่ง: 8 ขั้นตอน

วีดีโอ: ระบบป้องกันไอซิ่ง: 8 ขั้นตอน

วีดีโอ: ระบบป้องกันไอซิ่ง: 8 ขั้นตอน
วีดีโอ: IF หรือ Intermittent Fasting อย่าเพิ่งทำถ้ายังไม่ได้ดูคลิปนี้ By Bangkok Hospital 2024, มิถุนายน
Anonim
ระบบป้องกันไอซิ่ง
ระบบป้องกันไอซิ่ง

โครงงานนี้มีวัตถุประสงค์เพื่อป้องกันการก่อตัวของน้ำแข็งหรือหิมะโดยใช้น้ำเกลือเป็นสารต้านน้ำแข็ง การใช้เซ็นเซอร์ความชื้นและอุณหภูมิในการตรวจจับสภาพแวดล้อม สปริงเกอร์จะกระจายน้ำเกลือซึ่งควบคุมโดย 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: วิธีใช้งานโค้ดและการเชื่อมต่อ

รหัส:

  1. โคลนที่เก็บ
  2. คัดลอกโค้ด/html ไปที่ /var/www/html
  3. ในโฟลเดอร์ Code ไฟล์หลักสามารถดำเนินการได้
  4. หากคุณเปลี่ยนหมายเลขพินอินพุต/เอาต์พุต คุณสามารถใช้ CMake เพื่อสร้างไฟล์หลักใหม่ได้
  5. เปิดเบราว์เซอร์ ป้อนที่อยู่ของ 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

การออกแบบ PCB
การออกแบบ PCB
การออกแบบ PCB
การออกแบบ PCB
การออกแบบ PCB
การออกแบบ 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' น่าจะง่ายกว่าเมื่อเปรียบเทียบกับการเข้ารหัสแต่ละบรรทัด (เป็นการยากที่จะเขียนโค้ดประเภทต่างๆ สำหรับส่วนประกอบและงานต่างๆ ในภาษาต่างๆ ในไฟล์ที่ต่างกัน)

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

หวังว่าคุณจะสนุกกับการสร้างโครงการนี้มากที่สุดเท่าที่เราทำ:)

ไชโย!

แนะนำ: