Mục lục:
- Bước 1: Ý tưởng hoặc giải pháp tiềm năng
- Bước 2: Lập hội
- Bước 3: Thiết kế Blind Gear
- Bước 4: Mã hóa người mù
- Bước 5: Hoàn thiện các lần chạm
- Bước 6: Đánh giá Dự án
Video: Máy mở mù tự động sử dụng EV3: 6 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
Tôi có một bộ rèm cuốn trong phòng ngủ mà tôi thường quên mở hoặc đóng vào buổi sáng hoặc buổi tối. Tôi muốn tự động hóa việc mở và đóng, nhưng có ghi đè khi nào thì tôi sẽ thay đổi.
Bước 1: Ý tưởng hoặc giải pháp tiềm năng
Sau khi tìm kiếm trên các trang web khác nhau như YouTube, Guiductables và Thingiverse, tôi thấy rằng giải pháp phổ biến nhất là điều khiển ống cuộn quấn và mở rèm bằng động cơ bước hoặc servo. Tôi tìm thấy 2 lựa chọn chính với những ưu điểm và nhược điểm khác nhau.
Ý tưởng 1: Phương pháp ống chỉ trong đó động cơ và hộp số được đặt bên trong ống chỉ. Điều này có những ưu điểm là nó là một phương pháp gọn gàng và thanh lịch, nhưng có nhược điểm là nó đòi hỏi phải sửa đổi lớn đối với người khiếm thị, dây không còn sử dụng được và việc lắp ráp sẽ rất khó tiếp cận để bảo trì khi thực hiện.
Ý tưởng 2: phương pháp dây trong đó động cơ và hộp số được đặt trên dây. Điều này có ưu điểm là nó đơn giản hơn và việc lắp ráp có thể dễ dàng tiếp cận. Tuy nhiên nó có nhược điểm là nó có thể xấu và cồng kềnh, cũng như thực tế là nó phải được gắn vào ngưỡng cửa khi thực hiện.
Tôi thích phương pháp dây hơn vì đây là một giải pháp đơn giản hơn nhiều mà không cản trở việc sử dụng dây thủ công và người mù sẽ không yêu cầu bất kỳ sửa đổi lớn nào. Tôi dự định làm cho nó kín đáo và nhỏ gọn nhất có thể khi tôi tạo ra phiên bản cuối cùng với ESP8266.
Bước 2: Lập hội
Tôi đã thực hiện dự án này bằng cách sử dụng Lego mindstorms EV3 có chức năng mà tôi cần để cho thấy dự án có thể hoạt động và tôi đã quen thuộc với phần mềm này chắc chắn đã giúp ích rất nhiều. Vì người mù sử dụng một chuỗi bóng để điều khiển ống chỉ, mà bánh răng Lego không tương thích với, tôi quyết định rằng giải pháp tốt nhất là thiết kế một bánh răng với khoảng cách bóng chính xác ở bên ngoài - với lỗ "hình chữ thập" tiêu chuẩn trong trung tâm, nơi tôi sẽ in 3D thiết kế. Tại thời điểm này, tôi cũng đã tạo một nút hiệu chỉnh và gắn một cảm biến ánh sáng vào cửa sổ của tôi cũng như nút để hoạt động như ghi đè.
Bước 3: Thiết kế Blind Gear
Tôi tháo rời mù để xem cách tay quay chi tiết hơn. Trong quá trình tháo rời, tôi tìm thấy một bánh răng nhỏ 16 răng được giữ cố định bằng một cuộn dây căng, đây là bộ phận tôi đang tìm kiếm. Sau khi thiết kế một bản sao của bánh răng, tôi đã thêm các lỗ tương thích với Lego cần thiết, in 3 phần riêng biệt và cuối cùng gắn chúng lại với nhau bằng superglue. Ban đầu tôi gặp vấn đề với việc làm cho bộ phận Lego tương thích, theo nghĩa là máy in 3D của tôi không có độ phân giải để tạo ra lỗ “x” đủ, tuy nhiên, nó không gặp vấn đề gì với các lỗ tròn ở hai bên của nó. Vì vậy, tôi đã thay thế chữ “x” bằng một lỗ tròn và nó được in đẹp. Sau đó, sau một số thử nghiệm nhỏ, tôi có thể thấy rằng nó có thể xử lý mô-men xoắn và trọng lượng từ người mù. Tôi sẽ liên kết các thiết kế của tôi cho thiết bị bên dưới hoặc bạn có thể tìm thấy nó trên Thingiverse tại:
Bước 4: Mã hóa người mù
Tôi muốn mã sẽ tự động mở và đóng rèm khi nó đạt đến mức ánh sáng cụ thể, nhưng nó cũng có nút ghi đè để người ta vẫn có thể mở hoặc đóng rèm khi họ muốn. Tôi đã liên kết GitHub của mình với phiên bản cuối cùng của mã tại đây:
Tôi mất vài ngày để hoàn thành mã cho dự án, tôi có logic cơ bản của chương trình hoạt động chính xác với cảm biến ánh sáng, tuy nhiên nút ghi đè tạm thời không hoạt động chính xác. Nó đã làm thay đổi trạng thái của người mù khi bị ép, nhưng nó không có chức năng "chốt" có nghĩa là người mù sẽ giữ nguyên vị trí - có nghĩa là người mù sẽ ngay lập tức đưa nó trở lại như cũ. Tôi đã khắc phục sự cố này bằng cách sử dụng khối “đợi cho đến khi”, được liên kết với cổng logic HOẶC đọc các giá trị của cảm biến ánh sáng và cảm biến cảm ứng, tôi sẽ giải thích bên dưới.
Mã bắt đầu bằng cách hiệu chỉnh động cơ và mù, bắt đầu với mù mở hoàn toàn và hạ thấp nó cho đến khi chạm vào cảm biến cảm ứng ở phía dưới, đếm xem cần bao nhiêu vòng quay để xuống dưới cùng, được lưu dưới dạng “RotationsNeeded” Biến đổi. Sau đó, nó ghi "false" vào biến "BlindOpen" được sử dụng để theo dõi vị trí của người mù. Tại thời điểm này, mã chia thành 4 vòng lặp.
Một trong những vòng lặp này là vòng lặp “Buttonstate” liên tục xuất bản trạng thái của nút tới một biến được gọi là “ButtonPressed”. Điều này giúp loại bỏ nhu cầu đặt nhiều khối nút trên tập lệnh.
Vòng lặp thứ hai là "Sáng hoặc tối" liên tục so sánh mức độ ánh sáng bên ngoài cửa sổ của tôi, với một hằng số được xác định trước đó trong mã. Nếu kết quả nằm dưới hằng số đó, vòng lặp sẽ ghi “false” vào biến “ItIsLight”, trong khi nếu nó ở trên giá trị, nó sẽ ghi “true”.
Vòng lặp thứ ba chứa một danh sách số gồm 3 tùy chọn về cơ bản cho người mù biết phải làm gì, 0 = mù xuống, 1 = mù lên, 2 = không làm gì vì người mù ở đúng nơi. Vòng lặp bắt đầu bằng cách đọc biến “BlindShould” chỉ định nhiệm vụ chính xác mà người mù phải làm, sau đó thực hiện nhiệm vụ đó, thay đổi biến “BlindOpen” thành tùy chọn đúng và sau đó trở thành không hoạt động cho đến khi biến “BlindShould” được thay đổi ở đâu nó lặp lại. Nó sử dụng giá trị "RotationsNeeded" cũng như +/- 100% sức mạnh để di chuyển người mù mở hoặc đóng hoàn toàn.
Vòng lặp thứ tư và cuối cùng là vòng lặp phức tạp nhất, đó là vòng lặp “Người quyết định” xử lý tất cả dữ liệu và quyết định phải làm gì với mỗi hoán vị. Nó thực hiện điều này bằng cách sử dụng logic dựa trên “ngã ba trên đường” trong đó “nút được nhấn”, “Mức sáng”, “Mở cửa” là các câu hỏi đúng hay sai. Tất cả các hoán vị đều có một phản hồi được mã hóa cứng, là 0 = blind down, 1 = blind up hoặc 2 = không làm gì - giá trị này được ghi vào biến “BlindShould” mà sau đó được xử lý bởi một vòng lặp trước đó. Một số phản hồi sau đó sẽ đợi biến “ItIsLight” và / hoặc “ButtonPressed” thay đổi trước khi kết thúc tập lệnh, đây chỉ là trường hợp đối với các hoán vị được kích hoạt nút vì nếu không nó sẽ ngay lập tức cố gắng sửa lại vị trí của nó, nghĩa là người mù sẽ quay trở lại về trạng thái ban đầu. Quá trình này sau đó được lặp lại để tạo ra một hệ thống tự động mạnh mẽ và tương đối đơn giản, có thể dễ dàng thêm vào và gỡ lỗi. Phù.
Bước 5: Hoàn thiện các lần chạm
Sau đó, tôi quyết định đấu dây nguồn điện 9V cho EV3 của mình bằng cách sử dụng một số chốt và ốc vít bằng gỗ làm "pin", điều này khiến sản phẩm không đáng tin cậy vào pin và khiến tôi không phải thay pin vài ngày một lần.
Bước 6: Đánh giá Dự án
Tôi nghĩ rằng tổng thể dự án đã diễn ra tốt đẹp, tôi đã kết thúc với một nguyên mẫu hoạt động cho cụm rèm tự động, tôi có thể lấy tất cả thông tin liên quan mà tôi tìm thấy trong dự án và triển khai thành phiên bản cuối cùng. Tôi đã mã hóa thành công thiết bị và sau đó không tìm thấy vấn đề gì lớn với mã cho đến nay. Tôi đã muốn làm cho thiết bị trở nên hấp dẫn hơn về mặt hình ảnh nhưng một lần nữa nó là bằng chứng về khái niệm và tôi sẽ nỗ lực để làm cho nó trông đẹp hơn khi tôi tạo ra phiên bản cuối cùng với ESP8266. Khi tôi thực hiện lại dự án, tôi sẽ thiết kế động cơ để ngồi bên trong người mù vì điều đó sẽ dễ che giấu hơn. Bài học lớn nhất mà tôi học được là gỡ lỗi một cách logic và suy nghĩ thấu đáo, ghi lại và kiểm tra mã của tôi trước khi tôi triển khai nó.
Đề xuất:
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy
Nhắc nhở sử dụng thời gian sử dụng thiết bị (chỉ hoạt động trên Windows, Ios sẽ không hoạt động): 5 bước
Nhắc nhở sử dụng thời gian sử dụng thiết bị (chỉ hoạt động trên Windows, Ios sẽ không hoạt động): Giới thiệu Đây là một cỗ máy hữu ích được tạo ra từ Arduino, nó nhắc bạn nghỉ ngơi bằng cách " biiii! &Quot; âm thanh và khiến máy tính của bạn quay lại màn hình khóa sau 30 phút sử dụng màn hình. Sau khi nghỉ 10 phút, nó sẽ " b
Máy đo điện dung / Máy đo điện dung tự động tự động đơn giản với Arduino và bằng tay: 4 bước
Máy kiểm tra tụ điện tự động đơn giản / Máy đo điện dung bằng Arduino và bằng tay: Xin chào! Đối với đơn vị vật lý này, bạn cần: * nguồn điện có 0-12V * một hoặc nhiều tụ điện * một hoặc nhiều điện trở sạc * đồng hồ bấm giờ * đồng hồ vạn năng cho điện áp đo * một arduino nano * một màn hình 16x2 I²C * Điện trở 1 / 4W với 220, 10k, 4,7M một
Robot Arduino có khoảng cách, hướng và mức độ xoay (Đông, Tây, Bắc, Nam) được điều khiển bằng giọng nói sử dụng mô-đun Bluetooth và chuyển động của robot tự động: 6 bước
Robot Arduino có khoảng cách, hướng và mức độ xoay (Đông, Tây, Bắc, Nam) được điều khiển bằng giọng nói sử dụng mô-đun Bluetooth và chuyển động của robot tự động: Tài liệu hướng dẫn này giải thích cách chế tạo Robot Arduino có thể di chuyển theo hướng cần thiết (Tiến, lùi , Trái, Phải, Đông, Tây, Bắc, Nam) yêu cầu Khoảng cách tính bằng Centimet bằng lệnh Thoại. Robot cũng có thể được di chuyển tự động
Thêm giắc cắm đồng bộ Pc vào cáp Nikon Sc-28 Ttl (sử dụng Cài đặt tự động cho đèn flash trên máy ảnh và kích hoạt đèn flash máy ảnh tắt !!): 4 bước
Thêm Giắc cắm Pc Sync vào Cáp Nikon Sc-28 Ttl (sử dụng Cài đặt Tự động cho Đèn flash trên Máy ảnh và Kích hoạt Tắt Đèn flash Máy ảnh !!): trong phần hướng dẫn này, tôi sẽ chỉ cho bạn cách tháo một trong các đầu nối 3pin TTL độc quyền của Pesky trên mặt bên của máy ảnh Nikon SC-28 đứt cáp TTL và thay thế nó bằng đầu nối đồng bộ PC tiêu chuẩn. điều này sẽ cho phép bạn sử dụng đèn flash chuyên dụng, s