Mục lục:

Bộ nạp dự án: 14 bước
Bộ nạp dự án: 14 bước

Video: Bộ nạp dự án: 14 bước

Video: Bộ nạp dự án: 14 bước
Video: Điều Kiện Kết Nạp Đảng Viên Mới Nhất | TVPL 2024, Tháng mười một
Anonim
Bộ nạp dự án
Bộ nạp dự án

Bạn đã bao giờ muốn cho thú cưng của mình ăn khi vắng nhà, hoặc chỉ ngồi trên ghế sofa êm ái của bạn chưa? Nếu vậy, dự án này là dành cho bạn! Project Feeder là một dự án mã nguồn mở cho phép bạn cho vật nuôi ăn tự động hoặc thủ công từ điện thoại hoặc máy tính của bạn. Bạn cũng có thể theo dõi buổi phát trực tiếp và theo dõi hành vi ăn uống của thú cưng.

Trước khi bạn bắt đầu!

Dự án này là một nhiệm vụ được thực hiện cho đại học và có thời gian ràng buộc, vì vậy nó rất "đang trong quá trình thực hiện". Đây là lý do tại sao tôi biết rằng có những thứ có thể được cải thiện và có thể được cập nhật trong tương lai. Tôi khuyến khích bạn sáng tạo, cải thiện và mở rộng khái niệm này.

Để bắt đầu, chúng ta sẽ xem xét các yêu cầu để xây dựng dự án này. Bạn sẽ thực sự cần những kỹ năng và công cụ được liệt kê dưới đây.

Kỹ năng của nhà sản xuất:

  • In 3D hoặc sử dụng dịch vụ in
  • Hàn
  • Kiến thức điện tử cơ bản

Công cụ:

  • máy in 3D
  • Hàn sắt
  • Súng bắn keo nóng hoặc các loại keo khác hoạt động với các hợp chất sợi máy in 3D
  • Tua vít

Quân nhu

Tổng chi phí xây dựng dự án này là khoảng € 120 tùy thuộc vào nơi bạn mua phần và loại giảm giá bạn nhận được.

Quan trọng:

Một số bộ phận được đánh dấu bằng "Unique", điều đó có nghĩa là nó dành riêng cho thiết kế cấu trúc của công trình và bạn cần một bản sao chính xác của bộ phận đó.

Raspberry Pi 4 Model B / 2GB + 16GB (yêu cầu tối thiểu) Thẻ Micro SD

Nguồn hàng trên Rasberry Pi hiện tại rất hạn chế, điều này sẽ cần một số tìm kiếm xung quanh.

Bộ chuyển đổi nguồn điện 12V 60W

www.banggood.com/AC-100-240V-to-DC-12V-5A-…

Ổ cắm giắc cắm nguồn DC 5.5mm X 2.1mm (Duy nhất)

www.banggood.com/10pcs-5_5-x-2_1mm-DC-Powe…

DC-DC 12V đến 5V 3A Mô-đun nguồn Buck Step Down (Duy nhất)

www.banggood.com/LM2596-DC-DC-Voltage-Regu…

Động cơ bước hai pha 42mm 12V Nema 17

www.banggood.com/42mm-12V-Nema-17-Two-Phas…

Mô-đun cầu H kép L298N

www.banggood.com/Whoales-L298N-Dual-H-Br…

GY6180 VL6180X Cảm biến khoảng cách bay

www.banggood.com/GY6180-VL6180X-Time-Of-Fl…

Cảm biến tránh chướng ngại vật hồng ngoại (x3)

www.banggood.com/3Pcs-Infrared-Obstacle-Av…

Máy ảnh USB

www.banggood.com/Electronic-Camera-Module-…

Đèn nền LCD 16 × 2, vi điều khiển 8051 I2C

www.hobbyelectronica.nl/product/1602-lcd-d…

Bộ dịch chuyển mức hai chiều

www.banggood.com/nl/Two-Channel-IIC-I2C-Lo…

Điện trở giá trị phổ biến (10k, 220R, 470R)

www.banggood.com/Whorors-Geekcreit-600pc…

Đèn LED (x2)

Điốt (x2)

Công tắc BẬT / TẮT 12V (Duy nhất)

www.banggood.com/5pcs-12V-Round-Rocker-Tog…

Đai ốc: 3x8mm, 3x10mm, 3x12mm

Bước 1: Nhấp nháy thẻ SD

Nhấp nháy thẻ SD
Nhấp nháy thẻ SD

Đối với bước này, bạn sẽ phải flash thẻ SD của mình với hình ảnh được cung cấp:

thomy.stackstorage.com/s/KbCfVgoU0t8gU3C

Hình ảnh được trang bị một máy chủ web apache xây dựng trước, cơ sở dữ liệu và mã để giao tiếp với bộ nạp. Vì vậy, bạn không phải làm bất cứ điều gì liên quan đến thiết lập phần mềm.

Nếu bạn muốn xem mã, bạn có thể lấy tất cả mã được yêu cầu từ:

github.com/VanIseghemThomas/ProjectFeeder

Đảm bảo rằng bạn biết cách flash đúng thẻ SD hoặc không làm gián đoạn quá trình vì điều đó có thể dẫn đến thẻ bị hỏng. Để flash thẻ, tôi đã sử dụng phần mềm có tên là Win32DiskManager. Một chương trình khác mà tôi biết hoạt động và thân thiện với người dùng hơn một chút được gọi là Ethcer. Cả hai đều hoạt động tốt như nhau.

Bước 2: SSH vào Pi

SSH Into the Pi
SSH Into the Pi

Khi quá trình nhấp nháy hoàn tất, bây giờ bạn có thể đặt thẻ SD vào pi và bật nguồn. Đảm bảo rằng bạn đã cắm vào pi bằng cáp ethernet. Bây giờ bạn sẽ có thể kết nối với nó bằng SSH với ip 169.254.10.1. Tôi sử dụng một chương trình có tên PuTTY, nhưng nếu bạn không muốn cài đặt phần mềm, bạn luôn có thể nhập lệnh sau vào dấu nhắc lệnh:

ssh [email protected]

Bây giờ hãy mở một phiên. Khi kết nối lần đầu tiên, bạn sẽ gặp cảnh báo, bạn có thể bỏ qua điều đó và chỉ tiếp tục. Bạn sẽ được yêu cầu đăng nhập với tư cách người dùng và sau đó nhập mật khẩu, đối với hình ảnh này, hãy sử dụng thông tin đăng nhập sau:

  • Người dùng: feederpi
  • Mật khẩu: Redeef1

Người dùng 'pi' cũng đang hoạt động nhưng bạn sẽ không thể đăng nhập vì nó. Điều này là do nó được thiết lập để tự động đăng nhập vào nguồn và chạy chương trình. Đây là lý do tại sao bạn sẽ gặp những điều sau khi đăng nhập:

[sudo] mật khẩu cho feederpi:

Chỉ cần nhấn crtl + c và bạn sẽ có một shell ngay bây giờ.

Bây giờ gõ như sau:

sudo -i

Bây giờ bạn đã đăng nhập với quyền root.

Bước 3: Thiết lập Wifi

Thiết lập Wi-Fi
Thiết lập Wi-Fi

Bây giờ bạn đã đăng nhập với quyền root và có thể gõ:

wpa_passphrase "Your SSID" "Your Password" >> /etc/wpa_supplicant/wpa_supplicant.conf

Để kiểm tra xem cấu hình của bạn đã được thêm đúng chưa, hãy nhập thông tin sau. Bạn cũng có thể xóa mật khẩu văn bản thuần túy để bảo mật nếu muốn, nhưng hãy đảm bảo lưu các thay đổi khi thoát.

nano /etc/wpa_supplicant/wpa_supplicant.conf

Bây giờ bạn có thể khởi động lại pi của mình bằng cách nhập:

khởi động lại ngay bây giờ

Bây giờ, hãy cho pi một thời gian để khởi động và đăng nhập lại bằng SSH như trước, để xem bạn có kết nối với wifi hay không, bạn gõ:

ip a

Trong nội dung wlan0, bạn sẽ thấy một cái gì đó tương tự với địa chỉ ip, điều này có nghĩa là bạn đã kết nối thành công với wifi của mình. Sau đó, khi mọi thứ được kết nối, phần mềm sẽ hiển thị điều này ra màn hình LCD.

Bước 4: In các bộ phận

Các phần bạn sẽ cần cho dự án này được tìm thấy ở đây:

www.thingiverse.com/thing:4459996

Việc in tất cả các phần này sẽ mất một khoảng thời gian, vì vậy bạn sẽ cần một chút kiên nhẫn.

Đây là những cài đặt tôi đã sử dụng (PLA):

  • Chiều cao lớp: 0,3mm
  • Tốc độ in: 50-60mm / s
  • Nhiệt độ vòi phun: 200 ° C
  • Nhiệt độ giường: 60 ° C

Không có nhiều điều để nói về điều này ngoại trừ, chúc bạn in ấn vui vẻ.

Bước 5: Lắp ráp các bộ phận (giới thiệu)

Lắp ráp các bộ phận (giới thiệu)
Lắp ráp các bộ phận (giới thiệu)
Lắp ráp các bộ phận (giới thiệu)
Lắp ráp các bộ phận (giới thiệu)

Được rồi, bây giờ chúng ta tiếp tục lắp ráp mọi thứ. Trước khi giải thích tất cả, tôi sẽ điểm qua một số điều cần ghi nhớ và điều đó sẽ giúp bạn hoàn thành công việc này.

MẸO 1:

Tôi quyết định tạo tất cả các lỗ 2,5mm trừ 3mm giống như các bu lông. Điều này là do đó bạn có thể khai thác một sợi bằng cách vặn các bu lông và loại bỏ sự cần thiết của đai ốc. Bắt bu lông vào khá khó khăn, hãy sử dụng mỏ hàn của bạn để mở rộng phần trên, điều này sẽ giúp bạn dễ dàng lấy bu lông vào và bắt đầu vặn.

MẸO 2:

Nếu giống như tôi, bạn đang thiếu bu lông, chỉ cần vặn theo cặp chéo. Điều này tiết kiệm rất nhiều trong số chúng và hoạt động tốt.

Bước 6: Lắp ráp đầu (Bộ phân phối)

Lắp ráp đầu (Bộ phân phối)
Lắp ráp đầu (Bộ phân phối)
Lắp ráp đầu (Bộ phân phối)
Lắp ráp đầu (Bộ phân phối)
Lắp ráp đầu (Bộ phân phối)
Lắp ráp đầu (Bộ phân phối)

Các bộ phận được sắp xếp như trong hình.

Chúng được giữ với nhau bởi cái gọi là 'tấm'. Một trong những tấm lắp ráp với động cơ bước của bạn.

Đảm bảo rằng phần trên của bu lông bằng phẳng với bề mặt, nếu không việc tiếp liệu sẽ bị tắc nghẽn. Bạn nên sử dụng bu lông 3x8mm cho việc này và mô hình "Stepper_offset" giữa bước và mặt ngoài của tấm.

Bây giờ đưa nhà máy vào bước, nó sẽ diễn ra khá dễ dàng. Nếu không, bạn có thể sử dụng một ít vaseline.

Phần còn lại là khá thẳng về phía trước, chỉ cần bắt vít nơi bạn tìm thấy một lỗ.

Bước 7: Lắp ráp Top (Container)

Lắp ráp phần trên cùng (Container)
Lắp ráp phần trên cùng (Container)
Lắp ráp phần trên cùng (Container)
Lắp ráp phần trên cùng (Container)
Lắp ráp phần trên cùng (Container)
Lắp ráp phần trên cùng (Container)

Ở đây bạn có thể thấy cách tôi tạo thùng chứa của mình. Hộp được sử dụng ban đầu cho các mảnh khô của liên hiệp.

Ở trên cùng, bạn muốn gắn cảm biến TOF, cảm biến này sẽ được sử dụng để đo lượng thực phẩm còn lại trong hộp đựng. Trong các hình ảnh bạn có thể thấy cách tôi đính kèm nó. Đầu tiên, tôi nung chảy các lỗ cho các chân bằng mỏ hàn, sau đó dán cảm biến vào vị trí bằng một ít keo nóng trong khi các dây cáp được kết nối.

Để đóng hộp chứa, tôi đã tạo 2 lỗ bằng mỏ hàn và vặn 2 bu lông. Tất cả đều có thể được sử dụng dây chun, dây buộc hoặc dây zip để đóng nó theo cách đó.

Bước 8: Lắp ráp phần đáy

Lắp ráp đáy
Lắp ráp đáy
Lắp ráp đáy
Lắp ráp đáy
Lắp ráp đáy
Lắp ráp đáy

Đối với vị trí của các mô-đun khác nhau, hãy tham khảo các hình ảnh, chúng khá tự giải thích. Một phần của những bức ảnh này đã có sẵn hệ thống dây điện, bạn nên xem lại phần đó ngay bây giờ. Những hình ảnh được chụp ở giữa quá trình phát triển dự án này. Ban đầu, kế hoạch là đặt một cảm biến lực và cân thực phẩm nhưng do bộ cảm biến lực của tôi bị hỏng vào phút cuối, tôi phải bỏ tính năng đó đi và thay thế bằng một video phát trực tiếp cũng khá gọn gàng. Tùy chọn luôn ở đó để thêm cảm biến lực, nhưng bạn sẽ phải đào sâu vào mã và chỉnh sửa một số nội dung.

Bước 9: Điện tử, cảm biến và thiết bị truyền động

Điện tử, Cảm biến và Thiết bị truyền động
Điện tử, Cảm biến và Thiết bị truyền động
Điện tử, Cảm biến và Thiết bị truyền động
Điện tử, Cảm biến và Thiết bị truyền động
Điện tử, Cảm biến và Thiết bị truyền động
Điện tử, Cảm biến và Thiết bị truyền động
Điện tử, Cảm biến và Thiết bị truyền động
Điện tử, Cảm biến và Thiết bị truyền động

Bây giờ là lúc để đặt mỏ hàn vào. Tôi đã cung cấp 2 bản trình bày về những gì bạn cần làm, một bản sơ đồ điện tiêu chuẩn, một bản trình bày trực quan. Tôi thực sự khuyên bạn nên sử dụng sơ đồ điện vì nó mang lại nhiều hiểu biết hơn về cách mọi thứ hoạt động và được kết nối với nhau theo ý kiến của tôi. Lý do duy nhất mà cái kia ở đây, là vì nó là bắt buộc. Lý do tôi nói điều này là bởi vì không có nhiều không gian cho cáp, vì vậy bạn sẽ phải hiệu quả với hệ thống dây GND, + 5V, v.v. tùy thuộc vào cách bạn muốn chạy cáp của mình. Vì vậy, không kết nối mọi thứ chính xác với nhau như sơ đồ, nó sẽ hoạt động nhưng sẽ không phù hợp.

Đối với công tắc, bạn có thể thấy tôi đã nối dây cả 3 dây dẫn, điều này là do công tắc đi kèm với một đèn LED tích hợp cho biết nếu nguồn được bật. 2 đạo trình không màu đóng vai trò là công tắc, dây dẫn có màu đi đến GND.

Nói chung, đây là thứ tự tôi kết nối mọi thứ:

  1. Phần nguồn: giắc cắm nguồn, cầu h, bộ chuyển đổi boost, công tắc
  2. Raspberry Pi (Xem bước tiếp theo để biết thêm thông tin)
  3. Cảm biến hồng ngoại
  4. Đèn LED
  5. Đầu vào bước
  6. Phần I2C: 3.3V, SDA, SCL

Nó không cần thiết nhưng hữu ích khi có một pcb tạo mẫu đặt xung quanh để hàn như tôi đã làm.

Cũng đừng quên kết nối máy ảnh với cổng USB của pi.

Quan trọng:

Đảm bảo điều chỉnh bộ chuyển đổi boost thành 5V trước khi kết nối phần 5V của mạch. Nếu không, bạn có thể gặp rủi ro khi chiên mọi thứ. Để điều chỉnh điều này, bạn xoay chiết áp và nhìn vào chỉ số điện áp trên màn hình.

Bước 10: Điện tử, Raspberry Pi

Điện tử, Raspberry Pi
Điện tử, Raspberry Pi

Do những hạn chế trong phần mềm để vẽ giản đồ, tôi không thể vẽ cách nối pi raspberry.

Đối với + 5V, bạn có thể chỉ cần đấu dây vào chân 5V của pi, nhưng điều này bỏ qua sự an toàn chẳng hạn như cầu chì. Nếu bạn nhìn ở phía dưới, bạn sẽ thấy một số miếng đệm được dán nhãn là TPxx, trong trường hợp của chúng tôi, chúng tôi đang tìm kiếm TP1 hoặc TP2. Hàn + 5V của bạn dẫn đến một trong số chúng nhưng hãy cẩn thận để không nối với các dấu vết khác. Điều này rất có thể cũng sẽ làm mất hiệu lực bảo hành. Cá nhân tôi đã thử kết nối nó với cả hai tấm đệm thử nghiệm và kết luận rằng nó có lẽ là dễ nhất và an toàn nhất để sử dụng TP2, tránh xa các tấm đệm tiếp xúc khác và không có nhiều dấu vết xung quanh nó.

Đối với GND, chỉ cần lấy một trong các chân trên đầu như các chương trình sơ đồ, điều này hoàn toàn ổn.

Bước 11: Kiểm tra thiết bị điện tử

Khi mọi thứ được kết nối chính xác, bạn nên kiểm tra mọi thứ trước khi lắp ráp mọi thứ hoàn chỉnh.

Đây là danh sách kiểm tra:

  • Địa chỉ IPV4 hiển thị trên màn hình LCD
  • Có thể kết nối với IP thông qua trình duyệt
  • Có thể chuyển bước bằng cách "cho ăn" và thấy đèn LED sáng lên
  • Trạng thái vùng chứa đọc và cập nhật
  • Phát trực tiếp từ máy ảnh
  • Phát hiện các sự kiện ăn uống

Xử lý sự cố:

Sau đây tôi liệt kê một số vấn đề tôi gặp phải và cách khắc phục chúng.

- Màn hình LCD của tôi sáng lên nhưng không hiển thị gì:

1) Tại thời điểm viết bài này, pi cần khoảng 2 phút để khởi động hoàn toàn, vì vậy bạn phải cho nó thêm thời gian.

2) Bạn đã không kết nối màn hình LCD một cách chính xác. Bạn có thể xem liệu mình đã kết nối đúng cách hay chưa bằng cách nhập lệnh sau vào shell:

sudo i2cdetect -y 1

Điều này phải trả về 2 địa chỉ: 0x27 (= LCD) và 0x29 (= cảm biến TOF). Nếu 0x27 không hiển thị, bạn phải kiểm tra hệ thống dây điện của màn hình LCD. Nếu cả hai đều không hiển thị, bạn phải kiểm tra dây của các chân SDA và SCL. Ví dụ. kiểm tra xem bạn có tình cờ hoán đổi cả hai hay không. Trường hợp xấu nhất bạn đã làm sai điều gì đó với 2 thành phần riêng lẻ hoặc một cái gì đó bị hỏng.

- Màn hình LCD của tôi bị kẹt ở "Đang kết nối với WiFi"

Điều này có nghĩa là số pi của bạn bị kẹt khi cố gắng kết nối với một trong các mạng mà bạn đã định cấu hình để kết nối. Điều này có nghĩa là bạn không ở trong phạm vi của điểm tích lũy hoặc bạn đã làm sai điều gì đó trong khi định cấu hình, ví dụ: một lỗi đánh máy. Trong trường hợp đó, hãy quay lại "Thiết lập WiFi" và xem lại lần nữa.

Phần mềm này cũng được thiết lập để kết nối với các mạng gia đình với địa chỉ IP bắt đầu bằng "192.168". Nếu mạng của bạn được thiết lập với một phạm vi riêng tư khác, chẳng hạn như "10.0" hoặc "172.16", bạn sẽ phải truy cập /home/pi/project/main.py và trong hàm get_ips () thay đổi: if "192.168" in ip nếu "Phạm vi riêng tư của bạn ở đây" trong ip.

- Màn hình LCD của tôi hiển thị ip nhưng tôi không thể kết nối:

1) Đảm bảo rằng bạn đang kết nối với ip 192.168. X. X, ip 169.254.10.1 khác luôn được cấu hình để kết nối qua ethernet thẳng với máy tính của bạn. Điều này sẽ không hoạt động nếu bạn không cắm điện.

2) Đảm bảo rằng bạn đang ở trên cùng một mạng hoặc bạn đã bật chuyển tiếp cổng trên mạng của mình nếu bạn muốn truy cập bộ nạp từ bên ngoài mạng của nó.

- Bước chân lắc lư và không quay đầu:

Điều này có nghĩa là bạn đã không kết nối chính xác các đầu vào hoặc đầu ra của cầu H kép. Hãy thử hoán đổi chúng cho đến khi nó hoạt động.

Bước 12: Hoàn thành

Hoàn thành
Hoàn thành
Hoàn thành
Hoàn thành
Hoàn thành
Hoàn thành
Hoàn thành
Hoàn thành

Bây giờ bạn đã tìm ra cách để mọi thứ hoạt động, đã đến lúc kết hợp mọi thứ lại với nhau. Tôi đã phải đặt 2 phần lại với nhau bằng băng dính, điều này là do thiết kế của các lỗ không đủ chắc chắn để giữ căng và nó bị nứt đối với tôi. Đây là một trong những điều chính cần được cải thiện trong tương lai. Một lựa chọn tốt hơn là chỉ dán hai phần lại với nhau nhưng đây có thể là một vấn đề khi một thứ gì đó bên trong bị vỡ và bạn muốn truy cập vào bên trong. Đó là lý do tại sao tôi đi với băng dính điện cũ tốt.

Khi bạn truy cập trang web, bạn sẽ được chào đón bằng một bảng điều khiển nơi bạn có thể thực hiện những việc như cho ăn thủ công, kiểm tra trạng thái, xem dữ liệu và thêm các cài đặt trước.

Bước 13: Thêm: Tiện ích mở rộng của Chrome

Thêm: Tiện ích mở rộng của Chrome
Thêm: Tiện ích mở rộng của Chrome
Thêm: Tiện ích mở rộng của Chrome
Thêm: Tiện ích mở rộng của Chrome
Thêm: Tiện ích mở rộng của Chrome
Thêm: Tiện ích mở rộng của Chrome

Nếu bạn không muốn duyệt đến trang tổng quan và chỉ muốn kiểm tra nhanh trạng thái hoặc nguồn cấp dữ liệu, bạn có thể sử dụng tiện ích mở rộng của Chrome. Do nó không có trong cửa hàng Chrome trực tuyến chính thức, bạn sẽ phải tải nó giống như cách bạn phát triển một gói như vậy.

Trước tiên, hãy đảm bảo rằng bạn tải xuống thư mục Tiện ích mở rộng bộ cấp dữ liệu từ thư mục github:

github.com/VanIseghemThomas/ProjectFeeder

Truy cập URL sau:

chrome: // extensions /

Khi đó, hãy bật chế độ nhà phát triển và tải thư mục tiện ích mở rộng. Bây giờ nó sẽ xuất hiện dưới dạng một phần mở rộng.

Nếu nó không xuất hiện trong thanh Chrome của bạn, bạn có thể tìm thấy nó trong menu Chrome.

Bước 14: Phần mềm

Phần mềm
Phần mềm

Nếu bạn thích mày mò phần mềm hoặc vì lý do nào đó cần một bản sao mới của tệp, tất cả các tệp bạn cần đều có trong kho lưu trữ GitHub mà tôi đã tạo:

Tôi cũng đã cung cấp giản đồ EER cho cơ sở dữ liệu, trong trường hợp bạn muốn thêm các tính năng vào API. Cũng có thể tìm thấy kết xuất của cơ sở dữ liệu trong kho lưu trữ GitHub. Tất cả mã phụ trợ được viết bằng Python. Flask được sử dụng để định tuyến và Socket.io cho websockets.

Đề xuất: