Mục lục:

Raspberry Pi Cam Tank V1.0: 8 bước (có hình ảnh)
Raspberry Pi Cam Tank V1.0: 8 bước (có hình ảnh)

Video: Raspberry Pi Cam Tank V1.0: 8 bước (có hình ảnh)

Video: Raspberry Pi Cam Tank V1.0: 8 bước (có hình ảnh)
Video: Raspberry Pi High Quality Camera Getting Started Guide - First Pictures and Videos 2024, Tháng bảy
Anonim
Image
Image
Raspberry Pi Cam Tank V1.0
Raspberry Pi Cam Tank V1.0

Tôi yêu xe tăng từ khi còn là một đứa trẻ. Xây dựng đồ chơi xe tăng của riêng tôi luôn là một trong những ước mơ của tôi. Nhưng do thiếu kiến thức và kỹ năng. Giấc mơ chỉ là giấc mơ.

Sau nhiều năm học về kỹ thuật và thiết kế công nghiệp. Tôi có được các kỹ năng và kiến thức. Và nhờ các máy in 3D sở thích rẻ hơn. Cuối cùng thì tôi cũng có thể thực hiện được bước của mình.

Tôi muốn chiếc xe tăng này có những tính năng gì?

  • Điều khiển từ xa
  • Bánh xe không tải bị treo (giống như xe tăng thật!)
  • Có tháp pháo có thể xoay và súng BB nghiêng có thể bắn đạn 6mm
  • Có thể truyền video đến bộ điều khiển để bạn có thể điều khiển ở xa

Lúc đầu, tôi định sử dụng arduino làm bộ điều khiển, nhưng sau một số nghiên cứu, tôi thấy không có cách nào thực tế để tự phát trực tuyến video. Tuy nhiên, Raspberry Pi có vẻ là một ứng cử viên sáng giá cho việc phát trực tuyến video. Và bạn có thể kiểm soát nó thông qua vợ từ điện thoại của bạn!

Bắt đầu nào.

Bước 1: Các bộ phận cần thiết

Để kiểm soát

Raspberry Pi phiên bản B

Trung tâm USB được cấp nguồn (Belkin F4u040)

Webcam USB (Logitech C270)

Wifi dongle (Edimax)

Cáp nhảy từ nữ sang nam

Cho việc lái xe

Hai mô-men xoắn cao tiếp tục servo hoặc động cơ (đối với hai bánh dẫn động)

Một bánh xe thép 1/8 cho trục bánh xe (mua tại kho nhà và không đắt)

Mười vòng bi tay áo (đặt hàng trên Mcmaster)

Một số lò xo để treo (mua một loại lò xo ở Harbour Freight, không đắt)

Đối với tháp pháo

Đồ chơi súng BB tự động

Một động cơ DC mini mô-men xoắn cao

Một servo siêu nhỏ để nghiêng lên và xuống

Một số con ngựa bằng thép 1/4 làm trục súng

Những thứ khác

Tôi đã in 3D hầu hết các bộ phận của chiếc xe tăng này, nếu bạn có thể dễ dàng tiếp cận máy cắt laser, điều đó cũng sẽ hoạt động.

Tôi đã sử dụng dây tóc PLA để in vì nó dễ xử lý hơn (không có vấn đề về bọc trên ABS). Nhưng, thực sự khó để cát, cắt, khoan sau này.

Bạn có thể nghĩ rằng in 3D là tốt cho các bộ phận tùy chỉnh và bạn có thể in một bộ phận rất phức tạp thành một bộ phận. Điều đó đúng. Tuy nhiên, tôi cho rằng cách đó không thiết thực và kinh tế đối với một người có sở thích chơi cá. Lý do là:

Máy in sở thích của bạn sẽ không chính xác như vậy.

Bạn sẽ mắc sai lầm trong đo lường và tính toán (dung sai, căn chỉnh, v.v.).

Dù sao đi nữa, có khả năng cao là bản in của bạn không hoạt động hoặc không vừa với lần chụp đầu tiên của bạn. Một phần nhỏ cũng được, bạn chỉ cần thay đổi mẫu sau đó in lại là được. Nhưng đối với một phần lớn hơn và phức tạp hơn, thật khó chịu khi biết có điều gì đó không ổn sau hàng giờ in. Thật lãng phí thời gian và vật chất. Vì vậy, đây là cách tiếp cận của tôi:

Đối với bất cứ thứ gì đối xứng, chỉ in một nửa của nó, thử nó, nếu mọi thứ hoạt động tốt, hãy in toàn bộ.

Tạo mô hình cho bộ phận trong khi suy nghĩ về in 3D. Có thể có một bề mặt phẳng để gắn giường máy in không? Nó có thể được chia thành nhiều phần nhỏ hơn để tránh nhiều cấu trúc hỗ trợ không?

Đối với các bộ phận có nhiều tính năng (tương tác với nhiều bộ phận khác), hãy chia mô hình thành các mô-đun. Vì vậy, nếu một tính năng bị lỗi, bạn sẽ không in lại toàn bộ. Chỉ cần tinh chỉnh mô-đun và in lại mô-đun đó. Tôi sử dụng vít và đai ốc để kết nối chúng.

Làm bạn tốt với dụng cụ cầm tay, cưa tay, X-acto, máy khoan động lực, súng bắn keo nóng. Nếu bạn có thể sửa lỗi in, hãy sửa nó.

Điều này giải thích tại sao xe tăng của tôi có rất nhiều bộ phận. Tôi vẫn đang điều chỉnh những phần đó và một khi tôi tìm thấy sự kết hợp tốt, tôi có thể in chúng lại với nhau thành một bộ phận. Sau đó, đó sẽ là Cam Tank v2.0 của tôi.

Bước 2: Hệ thống lái xe

Image
Image
Hệ thống lái xe
Hệ thống lái xe
Hệ thống lái xe
Hệ thống lái xe

Huyền phù

Lúc đầu, tôi đã làm một nguyên mẫu không có bất kỳ hệ thống treo nào, chỉ có các trục ngang thân dưới với các ổ trục và bánh xe. Nhưng nghĩ đến sự thoải mái của người vận hành (tôi sẽ lái nó xem video phát trực tuyến!), Tôi quyết định thêm hệ thống treo để làm cho nó mát hơn.

Tất cả những gì tôi có là một số lò xo cuộn, không có thủy lực, không có lò xo lá. Lúc đầu, tôi đã thử nghiệm một số cơ chế thanh xoắn với PLA. (Hệ thống treo thanh xoắn thường gặp trên một số xe tăng). Hóa ra sau một vài lần vặn, thanh PLA được in sẽ bị mềm và cuối cùng bị gãy. ABS có thể tốt hơn cho mục đích này nhưng tôi chưa bao giờ thử. Vì vậy, sau khi nghiên cứu sâu hơn, tôi đã tìm thấy thiết kế hệ thống treo Christie, đây là một đoạn video ngắn cho thấy nó hoạt động như thế nào.

Tuy nhiên, hệ thống treo christie có rất nhiều bộ phận nhỏ và khi đó tôi không còn tin tưởng vào máy in của mình. Vì vậy, tôi đã thực hiện một số đình chỉ như thế này.

(hình ảnh)

Cấu hình này chiếm quá nhiều không gian bên trong. Vì vậy, tôi xoay cánh tay trong 90 độ. Lưu ý rằng bánh xe đầu tiên và bánh xe cuối cùng ngắn hơn

Bộ căng sau

Tôi nghĩ khi xe tăng vượt qua một số chướng ngại vật, các bánh xe không tải có thể di chuyển lên và đường đua sẽ mất sức căng. Vì vậy, tôi đã thêm một số cơ chế căng trên bánh sau. Về cơ bản, đó là hai lò xo đẩy trục thực mọi lúc, tác dụng một số lực lên nó để làm chặt các đường ray.

Bánh xe và đường dẫn động

Tôi đã thiết kế đường ray và bánh xe cho con sâu bướm này trong solidworks. Tôi không biết nhiều về kỹ thuật cơ khí nên không thể tính toán bánh răng được. Vì vậy, tôi đã mô phỏng các bộ phận trong solidworks để xem liệu nó có hoạt động hay không trước khi tôi nhấn nút Print. Mỗi rãnh được kết nối với một số dây tóc 3mm dự phòng. Nó hoạt động khá tốt với một số công việc chà nhám. Nhưng thiết kế đường đua có một khuyết điểm, bề mặt tiếp đất quá trơn nên khó bám. Nếu tôi in nó lộn ngược, tôi có thể thêm một số lốp xe, nhưng nó sẽ tốn rất nhiều vật liệu hỗ trợ vì răng. Các giải pháp trong tương lai: 1: in răng riêng sau đó dán chúng lại với nhau. 2. Áp dụng một số sơn phun phủ cao su.

Sau đó, tôi in vỏ cho servo và đảm bảo rằng bánh lái có thể được gắn vào tay servo bằng vít.

Bước 3: Hệ thống vũ khí

Image
Image
Hệ thống vũ khí
Hệ thống vũ khí
Hệ thống vũ khí
Hệ thống vũ khí

Phần này là thú vị nhất đối với tôi. Bạn có thể mua một đồ chơi xe tăng máy ảnh. Nhưng tôi không tìm thấy một món đồ chơi kết hợp máy ảnh và vũ khí nào đó.

Tôi đã mua đồ chơi súng airsoft tự động này với giá $ 9,99 khi giảm giá. (Bây giờ là khoảng 20 đô la và tôi có thể thử thứ gì đó rẻ hơn sau) Và hãy chia nhỏ nó để hiểu cơ chế. Tôi hoàn toàn có thể cắt cơ thể và dán nó vào bể của mình. Nhưng tôi không thích nửa cơ thể trông xấu xí. Vì vậy, tôi đã tiến hành đo đạc và sửa sang lại phần cơ khí. Từ những tác phẩm này, tôi đã học được một bài học về in 3D: bạn sẽ luôn mắc sai lầm. Cần 5 bản in để làm cho mọi bộ phận vừa vặn, và rất nhiều công đoạn cắt, chà nhám và dán nóng để làm cho nó hoạt động hoàn hảo.

Sau khi mỗi bộ phận từ khẩu súng đồ chơi di chuyển chính xác trong cơ thể nhân bản của tôi, tôi in bốn bộ phận khác để kẹp thân. Và đã thêm thiết bị nghiêng, phễu đạn BB và hỗ trợ máy ảnh. Các bộ phận này đều được vặn vào thân súng. Cuối cùng chúng có thể được kết hợp thành ít nhất hai phần. Nhưng tôi nghĩ rằng tôi vẫn chưa sẵn sàng.

Trên đế tháp pháo, tôi đã thêm một micro servo, để nghiêng và một động cơ micro DC để quay.

Sau đó tôi bắt đầu chạy thử súng, kết nối 4 viên pin AA và nó bắn tốt. Tôi thực sự rất vui vì nó hoạt động tốt. Nhưng ngày hôm sau tôi phát hiện ra một vấn đề.

Đây là video thử súng của tôi. tháp pháo được kết nối với bộ chuyển đổi 3v.

Bước 4: Thiết lập Pi

Đây là phần quan trọng nhất, trái tim của chiếc xe tăng của chúng tôi - Raspberry Pi!

Nếu bạn chưa chơi Raspberry Pi. Tôi khuyên bạn nên bắt đầu với cuốn sách này: Bắt đầu với raspberry pi bằng MAKE. Bạn có thể nắm được những kiến thức cơ bản và hiểu biết toàn diện về Pi.

Tải xuống hệ điều hành raspbian mới nhất.

Công cụ tiếp theo mà tôi khuyên dùng nhiều là Remote Desktop. Đây là hướng dẫn của Adam Riley. Sau khi thiết lập, bạn có thể xem máy tính để bàn Pi trên PC (không được thử nghiệm trên Mac). Vì vậy, để chạy Pi "trần trụi", có nghĩa là không cần màn hình, chuột và bàn phím. Một số bạn bè của tôi đang sử dụng dòng lệnh ssh. Nhưng tôi thích máy tính để bàn hơn.

Dựa trên nghiên cứu trước đây, tôi biết Raspberry Pi có khả năng phát trực tuyến video. Vì vậy, tôi bắt đầu lộn xộn với các ứng dụng khác nhau trên Pi. Nhiều ứng dụng có độ trễ lâu (giây) hoặc có tốc độ khung hình thấp. Sau vài tuần lang thang trên các video và hướng dẫn trực tuyến, thật may mắn là tôi đã tìm ra giải pháp. Một video trên youtube về webiopi đã cho tôi rất nhiều hy vọng. Nhiều nghiên cứu hơn khiến tôi tin rằng đây là con đường đúng đắn để đi.

Webiopi là một khuôn khổ giúp kết nối giữa Pi và thiết bị internet khác thực sự dễ dàng. Nó kiểm soát tất cả GPIOS của Pi và sau đó khởi động một máy chủ chứa html tùy chỉnh. Bạn có thể truy cập vào html này từ các thiết bị khác (máy tính, điện thoại thông minh, v.v.) và nhấp vào một nút trong trình duyệt trong khoảng cách wifi, GPIO được kích hoạt.

Video khiến tôi tràn đầy hy vọng, dựa trên một hướng dẫn trên webiopi - dự án cambot. Nó được giới thiệu trên MagPi magzine # 9 [html] [pdf] và # 10 [html] [pdf]. Cảm ơn Eric PTAK!

Bằng cách làm theo hướng dẫn từng bước, bạn có thể làm cho cambot hai bánh! Đây là cách hoạt động: kết nối hai động cơ với cầu H, sau đó điều khiển cầu H bằng 6 chân GPIO để điều khiển hướng và tốc độ. Webiopi được sử dụng để kiểm soát các GPIO. Và MJPG-streamer được sử dụng để phát trực tuyến video.

Nếu bạn chưa quen với Pi hoặc Linux như tôi vài tháng trước, bạn có thể gặp một chút vấn đề sau khi làm theo tất cả các bước. Bạn có thể chạy mã python cho webiopi và video phát trực tuyến riêng biệt nhưng không biết làm thế nào để chạy chúng cùng nhau? Tôi đã mất một lúc để biết rằng bạn có thể thêm dấu & vào sau một lệnh (& thực sự khó tìm kiếm trên google, BTW), điều đó có nghĩa là bạn muốn lệnh này chạy trên nền. Vì vậy, tôi sẽ làm điều này mọi lúc:

sudo python cambot.py &

sudo./stream.sh

Tôi tin rằng bạn tạo một tệp bash chứa lệnh trên thành một tệp và chạy một lần. Tôi vẫn chưa thử.

Vì vậy, tôi đã thử thiết lập cơ bản này với hai động cơ DC, nó chạy, nhưng động cơ tôi có không đủ mạnh. Dẫn tôi đến một lựa chọn khác: Servos liên tục.

Câu hỏi mới xuất hiện sau đó: webiopi có hỗ trợ các servos được điều khiển bằng PWM không?

Câu trả lời là có, nhưng không phải tự nó: RPIO là cần thiết để tạo PWM phần mềm

Cài đặt RPIO (Tôi không gặp may với phương pháp cài đặt apt-get đầu tiên. Phương thức github hoạt động hiệu quả đối với tôi)

Mã mẫu và các cuộc thảo luận khác

Bây giờ bot của bạn đã được nâng cấp với hai Servos! Hãy suy nghĩ về những gì bạn có thể làm với cánh tay phụ!

Tôi đã sửa đổi mã mẫu ở trên để phù hợp với xe tăng của mình. Bạn không cần phải có bằng khoa học máy tính để làm điều này. Bạn tốt miễn là bạn có thể hiểu mã mẫu và biết những gì để sao chép và nơi để thay đổi.

Bước 5: Kết nối điện tử

Kết nối điện tử
Kết nối điện tử
Kết nối điện tử
Kết nối điện tử
Kết nối điện tử
Kết nối điện tử

Bộ sạc dự phòng tôi đã mua, Anker Astro Pro, có hai cổng USB và một cổng 9v (lý do chính khiến tôi mua cái này). Tôi đã thử cấp nguồn cho Pi, dongle wifi và webcam bằng một cổng USB. Không khởi động. Vì vậy, tôi đã sử dụng cổng USB khác cho một bộ chia USB được cấp nguồn.

Sau đó, tôi nghĩ có lẽ tôi có thể cấp nguồn cho các Servos bằng cổng USB hub. Nó hoạt động, nhưng kết nối wifi rất không ổn định.

Để giải quyết vấn đề này, tôi đã mang theo 4 pin AA để cung cấp năng lượng cho nhu cầu servo 6V. Tôi vạch cáp USB để lộ dây nối đất (màu đen) và kết nối với mặt đất của bộ pin AA.

3 servo, màu đỏ đến 6V, màu đen nối đất, và chân tín hiệu kết nối với chân GPIO.

Theo kế hoạch, động cơ quay của tháp pháo và động cơ của súng cũng phải được cấp nguồn 6V với điều khiển cầu H. Nhưng khi tôi kết nối mọi thứ, súng sẽ không bắn! Có vẻ như động cơ đang cố gắng quay, nhưng không thể truyền động các bánh răng. Điện áp đầu ra là đúng, nhưng dường như không có đủ dòng điện để lái xe. Tôi cũng đã thử MOSFET nhưng không may mắn.

Tôi phải bỏ phần này vì lý do thời gian. Và đây là lý do tại sao trong bài kiểm tra súng, tôi phải kết nối động cơ súng với bộ chuyển đổi bằng tay. Vẫn còn rất nhiều điều để học hỏi trong lĩnh vực điện tử. Trong trường hợp xấu nhất, tôi luôn có thể điều khiển súng bằng cò kéo và nhả servo.

Bước 6: Giao diện

Image
Image
Giao diện
Giao diện
Giao diện
Giao diện

Tôi cũng đã thay đổi các giao diện từ mã mẫu cambot và rasprover. Vì tôi định sử dụng điện thoại thông minh làm bộ điều khiển nên tôi đã tối ưu hóa bố cục cho điện thoại của mình (galaxy note3).

Hầu hết các bố cục và kiểu có thể được chỉnh sửa trong index.html. Tuy nhiên, kiểu nút mặc định (xám đậm với viền đen) được xác định trong webiopi.css nằm tại / usr / share / webiopi / htdocs. Tôi đã sử dụng thiết bị đầu cuối để chạy sudo nano để sửa đổi nó.

Luồng video nằm ở giữa màn hình, điều khiển lái xe ở bên trái và điều khiển vũ khí ở bên phải. Tôi đã thiết kế điều khiển lái xe thành hai bộ gồm lên (tiến), dừng, xuống (lùi) muốn một số điều khiển tốt hơn, nhưng trong video, bạn có thể nói rằng đôi khi hơi khó xử.

Bước 7: Kế hoạch tương lai

Như bạn có thể nói, đây là dự án vẫn chưa kết thúc. Nhờ cuộc thi raspberry pi, tuần trước tôi đã phấn đấu rất nhiều, chỉ cố gắng hoàn thành nó trước thời hạn. Mọi chuyện diễn ra khá tốt cho đến khi tôi phát hiện súng không bắn…

Nó còn nhiều thứ cần được cải thiện, nhưng tôi hy vọng bạn có thể học được điều gì đó từ kinh nghiệm của tôi.

Kế hoạch ngắn hạn:

Làm cho súng hoạt động !!!

Hộp đựng lớn hơn cho nhiều BB hơn

Cỗ xe tăng cần khám phá thế giới - hãy ra khỏi nhà của wifi!

Thiết lập nút đặc biệt trên Pi để điện thoại có thể kết nối với nó ở bất kỳ đâu

Chạy lệnh xe tăng khi khởi động

Thêm nút tắt để tắt Pi một cách an toàn.

Kế hoạch dài hạn:

Hệ thống lái xe tốt hơn để ổn định và bám đường

Thiết kế bảng mạch của riêng tôi thay vì bảng mạch bánh mì ngay bây giờ

Quay video góc nhìn thứ nhất

Một khẩu súng khác? Hãy biến nó thành một con tàu chiến!

Thêm cảm biến để tự tuần tra?

Tầm nhìn máy tính để nhắm mục tiêu tự động!

Điều khiển xe tăng ở xa: Tôi sẽ xem mọi thứ ở nhà!

Bước 8: Cảm ơn bạn đã đọc

Cảm ơn vì đã đọc tiếng Anh kém của tôi (nó không phải là ngôn ngữ đầu tiên của tôi). Tôi hy vọng bạn đã có một số niềm vui hoặc học được điều gì đó ở đây. Đây sẽ là một dự án đang được thực hiện, vì vậy nếu bạn có chuyên môn trong bất kỳ lĩnh vực nào, tôi đánh giá cao lời khuyên của bạn.

Nếu bạn có bất kỳ câu hỏi nào, vui lòng để lại bình luận, tôi sẽ cố gắng hết sức để giải đáp.

Hãy để tôi cập nhật - The Cam Tank2.0-- trong tương lai gần.

Cuối cùng, đây là một đoạn video hiển thị kịch bản trận chiến. Nó khá thú vị.

Thưởng thức và hẹn gặp lại lần sau!

Đề xuất: