Mục lục:

ARCA (Android điều khiển từ xa đáng yêu): 4 bước (có hình ảnh)
ARCA (Android điều khiển từ xa đáng yêu): 4 bước (có hình ảnh)

Video: ARCA (Android điều khiển từ xa đáng yêu): 4 bước (có hình ảnh)

Video: ARCA (Android điều khiển từ xa đáng yêu): 4 bước (có hình ảnh)
Video: TẠI SAO TÔI MUỐN L4D3 2024, Tháng bảy
Anonim
ARCA (Android điều khiển từ xa đáng yêu)
ARCA (Android điều khiển từ xa đáng yêu)
ARCA (Android điều khiển từ xa đáng yêu)
ARCA (Android điều khiển từ xa đáng yêu)
ARCA (Android điều khiển từ xa đáng yêu)
ARCA (Android điều khiển từ xa đáng yêu)

Tài liệu hướng dẫn này được tạo ra để đáp ứng yêu cầu dự án của Makecourse tại Đại học Nam Florida (www.makecourse.com).

ARCA là một Android được điều khiển từ xa đáng yêu vô cùng thú vị để xây dựng và chơi cùng. Mục tiêu của dự án này là tạo ra thứ gì đó mà bất kỳ ai cũng có thể hiểu và liên quan đến bằng cách tạo ra một robot vừa đáng yêu vừa có chức năng.

Robot hoạt động bằng cách hiển thị các cảm xúc khác nhau trên ma trận 8 x 8 LED, những cảm xúc này bao gồm vui vẻ, ngủ, yêu, tức giận, ngớ ngẩn và nhìn lên, trái và phải. Robot cũng hoạt động giống như một chiếc xe RC và có thể tiến lên và rẽ trái hoặc phải. Robot đi về phía trước bằng cách kích hoạt cả hai động cơ bánh xe, rẽ trái bằng cách bật động cơ bên phải và rẽ phải bằng cách bật động cơ bên trái. Thiết kế rất đơn giản nhưng nó hoạt động hiệu quả, và tôi muốn tập trung nhiều vào việc lập trình Arduino vì thực tâm tôi là một lập trình viên.

Bạn có thể tìm thấy phiên bản mới nhất của tất cả các tệp được sử dụng trong hướng dẫn này trên Kho lưu trữ ARCA Github của tôi.

Bước 1: Danh sách bộ phận và in 3D

Danh sách bộ phận và in 3D
Danh sách bộ phận và in 3D
Danh sách bộ phận và in 3D
Danh sách bộ phận và in 3D

Các bộ phận của dự án này có thể được in 3D hoặc mua trực tuyến. Khi nghĩ đến việc lắp ráp, tôi muốn tạo ra chìa khóa hiệu quả và cũng cố gắng không (theo nghĩa đen) phát minh lại bánh xe. Máy in 3D được sử dụng cho dự án này là Makerbot Replicator, nếu bạn muốn đảm bảo rằng các bản in 3D của bạn phù hợp với của tôi thì hãy sử dụng máy in này.

Các thành phần cấu trúc

  • Hộp có lỗ ở hai bên cho bánh xe và tay đòn
  • Nắp hộp có lỗ cho bánh sau và lỗ cho cảm biến hồng ngoại
  • Cánh tay trái
  • Tay phải
  • Trục cho hai bánh sau
  • hai đầu nối trục để kết nối nắp với trục
  • 4 bánh xe (động cơ cũng bao gồm trong liên kết này)
  • Vít nhỏ (để lắp động cơ)

Thành phần điện tử

  • Arduino Uno
  • Breadboard nhỏ (tôi đã mua bộ Arduino và nó đi kèm với nó)
  • Hai ma trận chấm đỏ MAX7219 với điều khiển MCU
  • Máy thu hồng ngoại và điều khiển từ xa
  • Hai bóng bán dẫn TIP 120
  • Kết nối dây (tôi đã sử dụng rất nhiều dây từ nam sang nữ cũng như từ nam với nam và khuyên bạn nên sử dụng dây dài thay vì dây ngắn)
  • một điện trở 220 ohm
  • Hai động cơ bánh răng
  • Bộ nguồn có thể kết nối USB (loại di động được sử dụng cho điện thoại di động)

Bước 2: Lắp ráp

cuộc họp
cuộc họp
cuộc họp
cuộc họp
cuộc họp
cuộc họp

Hội cấu trúc

Các bộ phận được in 3D có thể sẽ cần được làm sạch một chút, và tôi khuyên bạn nên chà nhám nó bằng hạt mịn và sử dụng axeton (chất tẩy sơn móng tay) để loại bỏ bất kỳ cặn keo nào được sử dụng trong quá trình in 3D. Một số bộ phận có thể không khớp hoàn toàn, và tôi cần phải chà nhám trục xe để có thể tròn hoàn hảo và lọt qua các lỗ một cách chính xác.

Các bánh xe cần một chút điều chỉnh, chúng cần được khoan nhiều hơn để phù hợp với kích thước của trục ở phía sau và các vít ở phía trước. Sử dụng mũi khoan 6mm để khoan qua các lỗ trên bánh xe để khoan các lỗ lớn hơn trên bánh xe.

Đối với việc lắp ráp này, tôi đã sử dụng nhiều loại keo khác nhau, nhưng tôi thấy rằng bê tông lỏng (keo tạo mẫu) là tốt nhất để giữ lại mặc dù thời gian khô lâu nhưng epoxy là tốt nhất cho những thứ bạn cần khô nhanh và giữ tốt, mặc dù lộn xộn.

Phần còn lại của lắp ráp là khá thẳng về phía trước:

  1. Gắn các giá đỡ trục vào mặt sau của nắp hộp, sử dụng epoxy để niêm phong
  2. Chạy trục qua người giữ trục
  3. Dán các bánh xe vào trục bằng bê tông lỏng
  4. Luồn cánh tay qua các lỗ phía trên và dùng keo epoxy để dán vào giá đỡ cánh tay
  5. Vặn nắp hộp vào hộp
  6. Dùng băng dính điện dán vào đáy hộp nơi có bánh xe

Lắp ráp điện

Các bánh trước được gắn trực tiếp vào động cơ, và bạn cần sử dụng một vít nhỏ trong động cơ để làm cho nó đủ dài để chui qua lỗ trên rô bốt ở mỗi bên. Cần có một lỗ nhỏ trên chốt quay của động cơ và bạn có thể vặn vít vào đó và dán đầu vít vào bánh xe sau khi đẩy vít qua lỗ trên hộp.

Mặt sau của breadboard của tôi có một lớp nền dính, nhưng bạn có thể sử dụng băng dính điện để dán nó nếu không. Băng dính điện cũng được sử dụng để gắn các thành phần điện không có trong bảng vì lý do an toàn. MCU với màn hình LED được gắn vào mặt sau của hốc mắt bằng băng dính điện và các động cơ cũng được gắn vào các cạnh của hộp gần với các lỗ bằng băng dính điện. Tôi đã sử dụng băng dính điện màu đỏ để làm cho nó vô hình hơn, đề phòng trường hợp và tôi khuyên bạn nên sử dụng băng dính điện có màu tương tự như phiên bản ARCA của bạn.

Breadboard và các ghim được thiết lập giống như hình ảnh Fritzing này. Nếu bạn muốn thêm nhiều hơn vào sơ đồ này để tùy chỉnh ARCA, bạn có thể tải xuống tệp Fritzing trong kho lưu trữ Github của tôi và chỉnh sửa nó cho phù hợp với nội dung của bạn.

Tôi gắn dây vào các vòng trong động cơ bánh răng bằng cách uốn các dây xung quanh các vòng, để giữ chúng gắn chặt. Có lẽ tốt hơn là bạn nên hàn các kết nối này nếu bạn có quyền sử dụng mỏ hàn, nhưng đây là một giải pháp dễ dàng nếu bạn không có.

Bộ nguồn được gắn vào cùng một sợi dây được sử dụng để kết nối Arduino với máy tính để tải xuống chương trình của bạn và bộ nguồn này chỉ lỏng lẻo trong robot nên có thể dễ dàng tháo ra và sạc.

Bước 3: Lập trình

Lập trình
Lập trình

Đây là mã bạn có thể tải lên ARCA của mình để làm cho nó hoạt động chính xác như mã của tôi, bạn cũng cần hai thư viện sau để sử dụng mã.

Tuy nhiên, vì lợi ích của sự rõ ràng và tùy chỉnh, tôi sẽ hướng dẫn bạn qua mã của tôi. Vui lòng bỏ qua bước này nếu bạn không tùy chỉnh robot của mình hoặc không có kế hoạch thay đổi cảm xúc.

Đầu tiên, tôi bao gồm hai thư viện để sử dụng trong mã của mình, cho phép tôi sử dụng các chức năng và đối tượng của các thư viện này. Tôi cũng đang xác định các chân của tôi ở đây. Nếu bạn quyết định thực hiện các ghim của mình khác với thiết lập của tôi ở bước trước, hãy thực hiện các thay đổi đối với mã của bạn tại đây với các ghim thích hợp.

Tiếp theo, tôi xác định cảm xúc, khai báo các đối tượng cần thiết cho cảm biến IR và màn hình LED 8 x 8 và xác định một số biến toàn cục. Các cảm xúc được khai báo trong một mảng byte, trong đó mỗi số hex trong mảng đại diện cho các hàng trong kết quả hiển thị 8 x 8. Để tạo cảm xúc tùy chỉnh của bạn, tôi khuyên bạn nên vẽ ra cảm xúc mà bạn muốn trong lưới 8 x 8, sau đó viết ra mỗi hàng số nhị phân 8 bit trong đó đèn tắt là 0 và đèn bật là 1, sau đó tạo một số thập lục phân từ đó và đặt nó trong một mảng có độ dài 8. Tôi cũng đã xác định một số biến toàn cục để sử dụng trong vòng lặp; các biến cho cơ chế nhấp nháy và các con trỏ để lưu trữ cảm xúc và đặt chúng bắt đầu ở mức trung tính.

Bây giờ chúng ta đến với vòng lặp thiết lập, nơi tôi bật giám sát nối tiếp để thử nghiệm và điều này sẽ hữu ích để kiểm tra mã của bạn với các điều khiển từ xa IR khác nhau. Sau đó, tôi khởi tạo các đối tượng mắt trái và mắt phải bằng cách sử dụng các chức năng từ thư viện điều khiển LED. Tôi cũng đặt các chân của động cơ bánh răng để xuất ra và khởi động bộ thu IR.

Trong vòng lặp, về cơ bản nó đợi tín hiệu IR thay đổi hiện trạng của robot. Vì vậy, nếu một tín hiệu IR nhận được và nó khớp với một trong các mã từ một nút cụ thể, thì câu lệnh if đó sẽ được kích hoạt và đặt giá trị mắt trái và mắt phải cho phù hợp với cảm xúc. Nếu một nút chuyển động được nhấn, như trái, phải, tiến và OK, thì các chốt được ghi kỹ thuật số để bật hoặc tắt tùy thuộc vào nút được nhấn. Chỉ cần lưu ý về mã bộ thu IR: có một mã mẫu trong thư viện điều khiển từ xa IR sẽ cung cấp cho bạn mã hex cho điều khiển từ xa của bạn, nếu không có gì xảy ra khi bạn nhấn các nút thì hãy mở chương trình này để đảm bảo mã là chính xác. Tất cả những gì bạn phải làm là thay đổi số hex với mỗi nút.

Cuối cùng, bạn có chức năng in cảm xúc lên màn hình 8 x 8. Điều này sử dụng các hàm setRow từ thư viện điều khiển LED và chỉ cần đi qua các mảng bạn đã tạo và đặt các hàng cho phù hợp. Nó có hai tham số: mảng cho mắt trái và mảng cho mắt phải. Đây có thể là một con trỏ byte hoặc chính một mảng byte (tức là tên "trung tính") hoạt động giống như một con trỏ.

Bước 4: Mẹo và thủ thuật thưởng

Mẹo và thủ thuật thưởng
Mẹo và thủ thuật thưởng

Chắc chắn có rất nhiều điều mà tôi đã học được trong dự án này và tôi muốn chia sẻ một số mẹo bổ sung ở đây áp dụng cho cả dự án này và cho các dự án khác sử dụng Arduino.

  • Có rất nhiều tài nguyên trực tuyến dành cho Arduino và theo ý kiến của tôi, nguồn hữu ích nhất đến từ trang web Arduino do các ví dụ mã rõ ràng và ngắn gọn của chúng.
  • Đừng phát minh lại bánh xe, có rất nhiều bộ dụng cụ và các mảnh dựng sẵn mà bạn có thể sử dụng để thực hiện dự án của mình dễ dàng hơn. Tôi là một lập trình viên chứ không phải một kỹ sư cơ khí và tôi đã gặp khó khăn khi cố gắng tìm ra cách tôi sẽ làm cho con robot này hoạt động, nhưng thật dễ dàng để tìm mua thứ gì đó trực tuyến và thực hiện nó trong thiết kế của tôi so với việc tái tạo lại bánh xe
  • Các thư viện là người bạn của bạn trong Arduino cũng như trong tất cả các ngôn ngữ hướng đối tượng và chúng tồn tại là có lý do. Ghép nối bộ điều khiển này với bộ điều khiển vi mô và lập trình một đèn LED 8 x 8 rất đơn giản. Tôi đã lập trình một trong những cái này bằng tay trước đây và chỉ một cái sử dụng mọi chân trong Arduino và yêu cầu hàng tấn mã. Rất lộn xộn và không vui vẻ cho lắm.
  • Máy in 3D rất tuyệt nhưng không hoàn hảo và không sao cả nếu bạn phải mài bớt một số thứ. Bạn muốn mở rộng hơn khi in 3D vì lý do này vì trong hầu hết các trường hợp, bạn có thể mài bớt một chút để có được sự phù hợp hoàn hảo đó.
  • Nguồn điện có thể là một vấn đề bởi vì tôi đã nghĩ đến việc sử dụng năng lượng thực sự vào phút trước và nghĩ rằng pin 5v sẽ làm được điều đó. Sau đó, dường như ngẫu nhiên, đôi khi động cơ hoặc màn hình LED không hoạt động. Sau khi tôi nâng cấp lên gói năng lượng, không còn vấn đề gì nữa, mặc dù bên trong robot cồng kềnh hơn.

Đề xuất: