สารบัญ:
- ขั้นตอนที่ 1: รับรหัส Octoprint API
- ขั้นตอนที่ 2: การตั้งค่า Raspberry ของคุณเพื่อเรียกใช้ Python Script
- ขั้นตอนที่ 3: พิมพ์เคสสำหรับหน้าจอ LCD
- ขั้นตอนที่ 4: เชื่อมต่อทั้งหมดกับ Arduino
- ขั้นตอนที่ 5: การอัปโหลด Sketch ไปยัง Arduino
- ขั้นตอนที่ 6: ตรวจสอบว่าทุกอย่างเรียบร้อย
- ขั้นตอนที่ 7: การตั้งค่าสคริปต์ให้เริ่มทำงานอัตโนมัติ
- ขั้นตอนที่ 8: เสร็จสิ้น
วีดีโอ: จอภาพการพิมพ์ Octoprint: 8 ขั้นตอน
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
สวัสดี!
ฉันคิดว่าโครงการนี้จะเป็นประโยชน์สำหรับผู้ที่ใช้ Octoprint
เป็นหน้าจอที่มีแสงพื้นหลังสีสันสดใสซึ่งจะแสดงข้อมูลบางอย่างเกี่ยวกับความคืบหน้าในการพิมพ์ ทำงานร่วมกับ Octoprint API เพื่อรับข้อมูลทั้งหมดเกี่ยวกับกระบวนการปัจจุบัน สคริปต์ Python เชื่อมต่อกับ Arduino Leonardo (คุณสามารถใช้อะไรก็ได้กับพอร์ต usb ฉันใช้ Leo เพราะเคยมีมาก่อน) และให้ข้อมูลบางอย่าง นอกจากนี้ คุณสามารถควบคุมเครื่องพิมพ์ของคุณผ่านอุปกรณ์นี้
คุณต้องการ:
- Raspberry pi (ฉันใช้ raspberry pi 3 B+)
- Arduino Leonardo (ในภาพคุณสามารถเห็น Iskra Neo เป็นอะนาล็อกของ Leonardo ดั้งเดิม)
- สายไมโครยูเอสบี
- หน้าจอ LCD ขนาด 20x4 (ฉันใช้โดยไม่มีตัวควบคุม I2C แต่แก้ไขโค้ดเพื่อใช้ I2C ได้ไม่ยาก)
- สี่ปุ่ม (ฉันใช้โมดูล)
- เขียงหั่นขนมขนาดเล็ก
- สายบางๆ
- แถบ LED RGB (ยาวแค่ไหน แล้วแต่คุณ)
- พาวเวอร์ซัพพลาย ผมใช้ 12v 3a ไม่เป็นไรที่จะจัดหาแถบ LED และ Arduino
- เครื่องพิมพ์ 3D เพื่อควบคุมและคุณต้องพิมพ์เคสสำหรับหน้าจอด้วย
- ตัวเชื่อมต่อบางตัว: แจ็คบาร์เรล (ชายและหญิง)
- เทปสองหน้าและเทปฉนวน
- Buzzer
- เซ็นเซอร์อุณหภูมิและความชื้น DHT21
ไม่จำเป็น. คุณสามารถเชื่อมต่อทั้งหมดโดยไม่ต้องบัดกรี
- หัวแร้ง
- ประสาน
ในระดับหนึ่งมันเป็นโครงการที่ยาก ฉันใช้เวลา 2 วันเต็มเพื่อทำให้เสร็จ
ขั้นตอนที่ 1: รับรหัส Octoprint API
คุณต้องมีคีย์ API
บันทึกมัน
ขั้นตอนที่ 2: การตั้งค่า Raspberry ของคุณเพื่อเรียกใช้ Python Script
ขั้นแรกคุณต้องเชื่อมต่อกับราสเบอร์รี่ของคุณผ่าน ssh
จากนั้นเข้าสู่ระบบและพิมพ์คำสั่งนี้
sudo apt-get ติดตั้ง python3-pip
จากนั้นคุณต้องติดตั้งแพ็คเกจหลาม
sudo pip3 ติดตั้ง pyserial
หลังจากการติดตั้งทั้งหมด ดาวน์โหลดสคริปต์ python จากหน้า Github
ที่เก็บ Github
พิมพ์ ssh terminal sudo nano port.py จากนั้นคัดลอกทั้งหมดจาก octoprint-monitor.py และวางในเทอร์มินัล ใน API ตัวแปร คุณต้องวางคีย์ Octoprint API ของคุณ คุณสามารถวางผ่านการคลิกที่ปุ่มขวาของเมาส์ของคุณ หลังจากนั้นกด Ctrl + X พิมพ์ "y" แล้วกด Enter
จากนั้นสร้างไฟล์ logMaster.py ผ่าน sudo nano logMaster.py จากนั้นคัดลอกทั้งหมดจาก octoprint-monitor.py และวางในเทอร์มินัล คุณสามารถวางผ่านการคลิกที่ปุ่มขวาของเมาส์ของคุณ หลังจากนั้นกด Ctrl + X พิมพ์ "y" แล้วกด Enter
จากนั้นสร้างคำสั่ง sudo python3 port.py
หากคุณมีข้อผิดพลาด ให้ตรวจสอบขั้นตอนก่อนหน้า
ถ้าคุณเห็น"
กำลังเชื่อมต่อ…
เชื่อมต่อแล้ว
ในเทอร์มินัลของคุณ ทุกอย่างเรียบร้อย กด Ctrl+C
ขั้นตอนที่ 3: พิมพ์เคสสำหรับหน้าจอ LCD
ฉันมีหน้าจอ LCD 20x4
คุณต้องพิมพ์ไฟล์จากลิงค์นี้
กรณีของฉันใน Thingiverse
ขั้นตอนที่ 4: เชื่อมต่อทั้งหมดกับ Arduino
ในภาพนี้ คุณจะเห็นแผนภาพการเดินสายไฟ เชื่อมต่อจอแสดงผล LCD กับ Arduino
- จากนั้นเชื่อมต่อออดกับพินที่ 9
- ปุ่ม 1 ถึง 7 พิน
- ปุ่ม 2 - 8th
- ปุ่ม 3 - 10
- ปุ่ม 4 - 13
- เซ็นเซอร์อุณหภูมิ - ขา 0
- แถบ LED - ขา 6
หลังจากนั้นแก้ไขทั้งหมดบนด้านเครื่องพิมพ์ ติดกาว LCD และปุ่มบนเคสที่พิมพ์ แก้ไขเคสด้วยเทปสองด้าน
เชื่อมต่อ arduino กับ raspberry pi ด้วยสาย usb
ต่อแหล่งจ่ายไฟเข้ากับ Arduino และแถบ LED ตามภาพ
ขั้นตอนที่ 5: การอัปโหลด Sketch ไปยัง Arduino
คุณต้องดาวน์โหลดไฟล์ octoprint-monitor.ino จาก github และอัปโหลดไปยัง arduino
คุณจะต้องมีห้องสมุด
- อดาฟรุต NeoPixel
- Liquid Crystal (ติดตั้งใน Arduino IDE แล้ว)
- ห้องสมุดทรอยก้า DHT
จากนั้นเชื่อมต่อ arduino กับ raspberry pi
ขั้นตอนที่ 6: ตรวจสอบว่าทุกอย่างเรียบร้อย
UPDATE: เพิ่มการตรวจจับพอร์ตอัตโนมัติแล้ว! ตอนนี้คุณไม่จำเป็นต้องค้นหาพอร์ตของ Arduino
เรียกใช้รหัสหลาม หากคุณเห็นข้อความ "Connected serial" แสดงว่าทุกอย่างเรียบร้อย
ขั้นตอนที่ 7: การตั้งค่าสคริปต์ให้เริ่มทำงานอัตโนมัติ
จะเพิ่มสคริปต์ให้ autoload บน raspberry pi ได้อย่างไร?
มันเป็นเรื่องง่าย. คุณต้องพิมพ์
sudo crontab -e
และเพิ่มท้ายไฟล์ได้เพียงบรรทัดเดียว
@reboot /usr/bin/python3 /home/pi/port.py
นั่นคือทั้งหมดที่ ตอนนี้รีบูตราสเบอร์รี่ของคุณและตรวจสอบทั้งหมด
ขั้นตอนที่ 8: เสร็จสิ้น
ตอนนี้ขั้นตอนสุดท้าย
ตรวจสอบทั้งหมดและหากมีปัญหา ให้เขียนความคิดเห็นเกี่ยวกับปัญหาของคุณ
ขอขอบคุณสำหรับความสนใจของคุณ!