Mục lục:
Video: Màn hình in Octoprint: 8 bước
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Xin chào!
Tôi nghĩ rằng dự án này sẽ hữu ích cho những người sử dụng Octoprint.
Đó là một màn hình có đèn nền đầy màu sắc hiển thị cho bạn một số thông tin về tiến độ in. Nó hoạt động với API Octoprint để lấy tất cả thông tin về quy trình hiện tại. Tập lệnh Python kết nối với Arduino Leonardo (bạn có thể sử dụng bất kỳ với cổng USB nào. Tôi đã sử dụng Leo, vì tôi đã có nó trước đây) và cung cấp cho nó một số thông tin. Ngoài ra, bạn có thể điều khiển máy in của mình thông qua thiết bị này.
Bạn cần:
- Raspberry pi (Tôi đã sử dụng raspberry pi 3 B +)
- Arduino Leonardo (Trên ảnh, bạn có thể thấy Iskra Neo, nó là một bản tương tự của Leonardo gốc)
- Cáp micro usb
- Màn hình LCD 20x4 (Tôi đã sử dụng mà không có bộ điều khiển I2C, nhưng không khó để chỉnh sửa mã để sử dụng bộ điều khiển I2C)
- Bốn nút (tôi đã sử dụng một mô-đun)
- Breadboard mini
- Một số dây
- Dải đèn LED RGB (Bao lâu? Tùy bạn)
- Nguồn cung cấp, tôi đã sử dụng 12v 3a. Có thể cung cấp dải LED và Arduino
- Máy in 3D để điều khiển và bạn cũng cần in hộp đựng cho màn hình
- Một số đầu nối: giắc cắm thùng (nam và nữ)
- Băng keo hai mặt và băng keo cách điện
- Buzzer
- Cảm biến nhiệt độ và độ ẩm DHT21
Không bắt buộc. Bạn có thể kết nối tất cả một cách đơn giản mà không cần hàn
- Hàn sắt
- Hàn
Ở một mức độ nào đó, đó là một dự án khó. Tôi đã dành trọn 2 ngày để hoàn thành nó.
Bước 1: Nhận Khoá API Octoprint
Bạn cần có khóa API.
Lưu nó.
Bước 2: Thiết lập Raspberry của bạn để chạy Python Script
Lúc đầu, bạn cần kết nối với mâm xôi của mình thông qua ssh.
Sau đó đăng nhập và gõ lệnh này
sudo apt-get install python3-pip
Sau đó, bạn cần cài đặt một số gói python
sudo pip3 cài đặt pyserial
Sau khi tất cả cài đặt, hãy tải xuống tập lệnh python từ trang Github
Kho lưu trữ Github
Gõ vào ssh terminal sudo nano port.py, sau đó sao chép tất cả từ octoprint-monitor.py và dán vào terminal. Trong API biến, bạn cần dán khóa API Octoprint của mình. Bạn có thể dán bằng cách nhấp vào nút bên phải của chuột. Sau đó nhấn Ctrl + X, gõ "y" và nhấn Enter.
Sau đó tạo tệp logMaster.py thông qua sudo nano logMaster.py, sau đó sao chép tất cả từ octoprint-monitor.py và dán vào thiết bị đầu cuối. Bạn có thể dán bằng cách nhấp vào nút bên phải của chuột. Sau Ctrl + X đặt trước đó, hãy nhập "y" và nhấn Enter.
Sau đó thực hiện lệnh sudo python3 port.py
Nếu bạn gặp lỗi, hãy kiểm tra các bước trước đó.
Nếu bạn thấy"
Đang kết nối…
Đã kết nối.
trong thiết bị đầu cuối của bạn, tất cả đều ổn. Nhấn Ctrl + C.
Bước 3: In vỏ cho màn hình LCD
Tôi có màn hình LCD 20x4.
Bạn cần in một tệp từ liên kết này
Trường hợp của tôi trên Thingiverse.
Bước 4: Kết nối tất cả với Arduino
Trên hình ảnh này, bạn có thể thấy sơ đồ nối dây. Kết nối màn hình LCD với arduino.
- Sau đó kết nối buzzer với chân thứ 9
- Nút 1 đến chốt thứ 7
- Nút 2 - 8
- Nút 3 - 10
- Nút 4 - 13
- Cảm biến nhiệt độ - chân 0
- Dải đèn LED - chân 6
Sau đó khắc phục tất cả trên mặt máy in, dán keo lcd và các nút vào vỏ máy in. Cố định vỏ bằng băng dính hai mặt.
Kết nối arduino với raspberry pi bằng cáp usb.
Kết nối bộ nguồn với arduino và dải LED như trên hình.
Bước 5: Tải Sketch lên Arduino
Bạn cần tải xuống tệp octoprint-monitor.ino từ github và tải nó lên arduino.
Bạn sẽ cần một số thư viện.
- Adafruit NeoPixel
- Tinh thể lỏng (Nó đã được cài đặt cho Arduino IDE)
- Thư viện Troyka DHT
Sau đó kết nối arduino với raspberry pi.
Bước 6: Kiểm tra xem tất cả đều ổn
CẬP NHẬT: Đã thêm tự động phát hiện cổng! Bây giờ bạn không cần phải tìm cổng của arduino.
Khởi chạy mã python. Nếu bạn thấy dòng chữ "Đã kết nối nối tiếp", tất cả đều ổn.
Bước 7: Thiết lập tập lệnh để tự động khởi động
Làm cách nào để thêm script vào autoload trên raspberry pi?
Dễ thôi. Bạn cần gõ
sudo crontab -e
Và thêm vào cuối tệp chỉ một dòng.
@reboot / usr / bin / python3 /home/pi/port.py
Đó là tất cả. Bây giờ khởi động lại mâm xôi của bạn và xác minh tất cả.
Bước 8: Hoàn thiện
Bây giờ là bước cuối cùng.
Kiểm tra tất cả và nếu có điều gì đó không ổn, hãy viết bình luận về vấn đề của bạn.
Cám ơn vì sự quan tâm của bạn!