สารบัญ:
- ขั้นตอนที่ 1: จำเป็น
- ขั้นตอนที่ 2: การติดตั้งซอฟต์แวร์ที่จำเป็นลงใน Raspbian
- ขั้นตอนที่ 3: การเดินสายไฟ Arduino
- ขั้นตอนที่ 4: การเข้ารหัส Arduino
- ขั้นตอนที่ 5: การเขียนโปรแกรม RS485 บน Raspberry
- ขั้นตอนที่ 6: การทดสอบสคริปต์
- ขั้นตอนที่ 7: บทสรุป
วีดีโอ: RS485 ระหว่าง Arduino และ Raspberry Pi: 7 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
สำหรับโรงเรียนฉันต้องทำโครงการ ฉันเลือกที่จะสร้างตัวควบคุมเรือนกระจกอัจฉริยะที่ควบคุมโดย Raspberry Pi เซ็นเซอร์จะถูกขับเคลื่อนโดย Arduino uno ในช่วงหลายเดือนต่อจากนี้ ฉันจะโพสต์การสร้างโปรเจ็กต์นี้ทีละขั้นตอนบน Instrucables เพื่อให้คุณทำได้เช่นกัน ฉันต้องการการสื่อสารแบบอนุกรมที่สามารถใช้ได้ในระยะทางไกล RS485 เหมาะสำหรับสิ่งนี้ RS485 รองรับความเร็วสูงสุด 10 Mbit/s และระยะทาง 1200 เมตร คุณต้องลดความเร็วที่คุณส่ง ทั้งนี้ขึ้นอยู่กับความยาวของสายเคเบิล ดูตารางนี้เพื่อทราบความเร็วสูงสุดต่อระยะทาง หากต้องการอ่านและตั้งค่าบนทาส RS485 ฉันจะใช้ภาษาไพ ธ อน
ขั้นตอนที่ 1: จำเป็น
อะไหล่:
- Raspberry PI (ฉันใช้ 3B+)
- โมดูล MAX485
- อินเทอร์เฟซ USB เป็น RS485
- สายจัมเปอร์บางส่วน
- arduino uno
ขั้นตอนที่ 2: การติดตั้งซอฟต์แวร์ที่จำเป็นลงใน Raspbian
ฉันจะไม่พูดถึงวิธีการติดตั้ง raspbian บนราสเบอร์รี่ของคุณ มีคำแนะนำบางอย่างที่อธิบายสิ่งนี้อยู่แล้ว แต่ฉันจะอธิบายวิธีการติดตั้งซอฟต์แวร์ที่จำเป็น
ขั้นแรกให้อัปเดตราสเบอร์รี่ของคุณ:
apt update
จากนั้นติดตั้ง pip:
apt-get ติดตั้ง python3-pip
คลิกเข้าไปเพื่อใช่
จากนั้นติดตั้ง minimalmodbus:
pip3 ติดตั้ง -U minimalmodbus
ขั้นตอนที่ 3: การเดินสายไฟ Arduino
ในภาพด้านบน คุณสามารถดูวิธีการต่อ Arduino กับอินเทอร์เฟซ RS485 RS485 ตัวที่สองแสดงถึงอะแดปเตอร์ USB เป็น RS485
ขั้นตอนที่ 4: การเข้ารหัส Arduino
ขั้นแรกให้นำเข้าไลบรารีนี้ผ่านภาพร่าง ใช้ไลบรารี และเพิ่มไลบรารี zip จากนั้นอัปโหลดภาพร่างที่ฉันรวมเป็นไฟล์แนบ นี่คือรหัสสำหรับโหนดทาสของ Arduino ที่ทำให้สามารถควบคุมออนบอร์ดที่นำบนพิน 13 ของ Arduino ได้
ขั้นตอนที่ 5: การเขียนโปรแกรม RS485 บน Raspberry
ตอนนี้เรากำลังจะเขียนโค้ดราสเบอร์รี่ pi เป็นมาสเตอร์
- เปิดเทอร์มินัลบนราสเบอร์รี่ pi ของคุณ
- สร้างไฟล์ใหม่ modbus.py
vi modbus.py
- พิมพ์ i สำหรับส่วนแทรก
- วางโค้ดในไฟล์
- กดปุ่มหลบหนี
- พิมพ์:wq
- กดปุ่ม Enter
ขั้นตอนที่ 6: การทดสอบสคริปต์
พิมพ์คำสั่ง:
python3 modbus.py
ตอนนี้ให้ใน 1 หรือ 0 แล้วคุณจะเห็นไฟ LED บน Arduino เปิดและปิด
ขั้นตอนที่ 7: บทสรุป
นี่เป็นขั้นตอนแรกในการสร้างตัวควบคุมเรือนกระจกที่สมบูรณ์ของฉัน ผ่าน RS485 ฉันสามารถเปิดวาล์วและอ่านค่าเซ็นเซอร์ได้ ฉันหวังว่าคุณจะสนุกกับคำแนะนำนี้
สำหรับผู้ที่พูดภาษาดัตช์คุณสามารถติดตามโครงการของฉันได้ที่นี่ เมื่อโปรเจ็กต์เสร็จสิ้น ฉันจะขยายคำสั่งสอนของโปรเจ็กต์ที่สมบูรณ์ของฉัน
แนะนำ:
ติดตาม: ศูนย์สื่อขั้นสูงพร้อม Odroid N2 และ Kodi (รองรับ 4k และ HEVC): 3 ขั้นตอน
ติดตาม: Advanced Media Center พร้อม Odroid N2 และ Kodi (รองรับ 4k และ HEVC): บทความนี้เป็นบทความต่อจากบทความก่อนหน้าของฉันที่ประสบความสำเร็จค่อนข้างมากเกี่ยวกับการสร้างศูนย์สื่ออเนกประสงค์ โดยอ้างอิงจาก Raspberry PI ที่ได้รับความนิยมมากในตอนแรก แต่ ในภายหลัง เนื่องจากไม่มีเอาต์พุตที่สอดคล้องกับ HEVC, H.265 และ HDMI 2.2 จึงมีสวิตช์
Blinds Control ด้วย ESP8266, Google Home และ Openhab Integration และ Webcontrol: 5 ขั้นตอน (พร้อมรูปภาพ)
การควบคุมมู่ลี่ด้วย ESP8266, Google Home และ Openhab Integration และ Webcontrol: ในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นว่าฉันเพิ่มระบบอัตโนมัติให้กับมู่ลี่ของฉันอย่างไร ฉันต้องการเพิ่มและลบระบบอัตโนมัติได้ ดังนั้นการติดตั้งทั้งหมดจึงเป็นแบบหนีบ ส่วนหลักคือ: สเต็ปเปอร์มอเตอร์ ตัวขับสเต็ปควบคุม bij ESP-01 เกียร์และการติดตั้ง
DIY IBeacon และ Beacon Scanner ด้วย Raspberry Pi และ HM13: 3 ขั้นตอน
DIY IBeacon และ Beacon Scanner ด้วย Raspberry Pi และ HM13: Story A beacon จะส่งสัญญาณอย่างต่อเนื่องเพื่อให้อุปกรณ์บลูทู ธ อื่น ๆ รู้ว่ามีอยู่ และฉันอยากได้บีคอนบลูทูธเพื่อติดตามกุญแจมาตลอด เพราะฉันลืมเอามันมาเหมือน 10 ครั้งในปีที่แล้ว และฉันก็เกิดขึ้น
การสื่อสาร Modbus TCP ระหว่าง Arduino และอุปกรณ์อุตสาหกรรม: 3 ขั้นตอน
การสื่อสาร Modbus TCP ระหว่าง Arduino และอุปกรณ์อุตสาหกรรม: วิธีอุตสาหกรรมในการควบคุมบอร์ด Arduino ด้วย HMI อุตสาหกรรมและเชื่อมโยงไปยังเครือข่ายอุตสาหกรรมด้วยการสื่อสาร Modbus TCP
การควบคุมเซอร์โวโดยใช้ MPU6050 ระหว่าง Arduino และ ESP8266 ด้วย HC-12: 6 ขั้นตอน
การควบคุมเซอร์โวโดยใช้ MPU6050 ระหว่าง Arduino และ ESP8266 ด้วย HC-12: ในโครงการนี้ เรากำลังควบคุมตำแหน่งของเซอร์โวมอเตอร์โดยใช้ mpu6050 และ HC-12 สำหรับการสื่อสารระหว่าง Arduino UNO และ ESP8266 NodeMCU