Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Arduino Spybot

Компоненты и расходные материалы

Arduino UNO
× 1
Arduino Proto Shield
Вы можете использовать любую другую макетную плату с возможностью пайки с заголовками контактов
× 1
Adafruit Motor / Stepper / Servo Shield V2
× 1
SM-S4306R сервопривод непрерывного вращения
× 1
Двигатель постоянного тока (общий)
× 4
Моторная шина
× 4
Перемычки (общие)
Они нужны для двигателей
× 8
Держатель батареи 4xAA
× 2
Батарейки AA
× 8
Мобильный телефон
Для этого проекта я использовал Nokia Lumia 520
× 1
Держатель мобильного телефона
× 1
Индивидуальное шасси
Я использовал простую деревянную доску
× 1

Приложения и онлайн-сервисы

Johnny-Five

Об этом проекте

Краткое введение

Это простой четырехколесный автомобиль, которым можно управлять по bluetooth. В машине можно разместить любой мобильный телефон, который можно использовать как IP-камеру. Я решил создать этого робота с javascript, используя веб-сервер узла, на котором я могу отслеживать, куда идет робот.

Вы можете увидеть схему основных деталей на рисунке 1.

После запуска сервера я получаю экран, содержащий вводную информацию об управлении и окно для обзора камеры (рисунок 2).

И да, этот макет адаптивный.

Шасси

В этой версии бота я решил сделать шасси самостоятельно. Если у вас нет сверлильного станка или вам просто нужно более простое решение, вы можете купить его из широкого ассортимента пластиковых кузовов автомобилей.

Я пошел по пути, чтобы сделать свое собственное шасси, и это оказалось не так просто, как кажется. Самым важным правилом является то, что вы должны поставить шины как можно ближе друг к другу, если вы хотите выбрать дифференциальное рулевое управление для поворота. Вы можете прочитать основные ошибки и основные правила физики по следующей ссылке:

http://www.rakeshmondal.info/4-Wheel-Drive-Robot-Design

Еще одна проблема заключалась в том, как прикрепить двигатели постоянного тока к шасси. В моем случае у меня нет для этого специальной детали, поэтому я решил выбрать для этой задачи несколько кабельных стяжек (150 / 3,5). Для правильного крепления шин мне пришлось просверлить отверстия как можно точнее и использовать 2 стяжки для одного двигателя постоянного тока. К сожалению, есть вероятность, что двигатели не будут располагаться настолько прямо, насколько это возможно, и ваша машина может немного сместиться влево или вправо, когда вы управляете вперед и назад.

Батарейки

Для питания плат и двигателей я решил выбрать для этой задачи один источник питания постоянного тока. В корпусе нет места для держателя батарей 8 x AA, поэтому мне пришлось внести некоторые изменения, поэтому я прикрепил два держателя 4 x AA 2 винтами друг к другу. Для этого мне пришлось просверлить пластик.

Питание

В моем случае я питаю плату Arduino Uno от 8 перезаряжаемых батареек AA. Этой мощности хватит и на моторный щит. На этом щите есть перемычка, которая является съемной, поэтому ваш моторный щит не будет получать питание от Arduino. В этом случае вы можете запитать свой щит отдельно, используя контакты питания на нем. Вы можете прочитать о различных вариантах питания по следующей ссылке:

https://learn.adafruit.com/adafruit-motor-shield-v2-for-arduino/powering-motors

Беспроводное соединение

Я использовал модуль Bluetooth HC-06, чтобы установить соединение между автомобилем и компьютером. Я хотел использовать как можно меньше кабелей, поэтому я решил создать собственный экран Arduino, поместив модуль Bluetooth в пустой экран прототипа, проложив проводку под экраном и припаяв несколько контактных разъемов для правильного механизма крепления. Вы можете быстро просмотреть результат на рисунках 3 и 4.

Хорошо то, что у вас есть возможность отсоединить модуль bluetooth от экрана в любое время, потому что он не припаян к плате.

Для настройки модуля Bluetooth следуйте инструкциям на этом сайте:

https://github.com/rwaldron/johnny-five/wiki/Getting-Started-with-Johnny-Five-and-JY-MCU-Bluetooth-Serial-Port-Module

Движение

Робот может двигаться вперед, назад и поворачивать с помощью дифференциального рулевого управления. Держатель камеры прикреплен к сервоприводу непрерывного вращения, поэтому вы можете смотреть по сторонам с телефоном, не перемещая сам автомобиль. Вы можете просмотреть короткую демонстрацию в следующем видео.

Мобильный телефон

Я использовал Nokia Lumia 520 для проекта и приложение Win IP Camera, которое вы можете найти в магазине:

https://www.microsoft.com/en-us/store/p/win-ip-camera/9nblgggz4xb1

О коде

Как разработчик javascript я решил создать веб-сервер узла для страницы управления и использовать несколько необычных библиотек для улучшения внешнего вида и синтаксиса кода. Вы можете увидеть полный список на моей странице github и в следующем разделе.

Я решил выбрать модуляризацию как во фронтенде, так и в бэкэнде. Вот точка входа в приложение:

  var boardModule =require ('./ src / boardModule'), servoModule =require ('./ src / servoModule'), motorModule =require ('./ src / motorModule'); boardModule.initBoard (). then (function () {motorModule.initMotors (); servoModule.initServo ();});  

В передней части я также использую разделение для каждого модуля:

  импортировать {moveWheels, stopWheels} из './wheelsControl';import {moveServo, stopServo} из' ./servoControl '; document.onkeydown =checkKeyDown; document.onkeyup =checkKeyUp; функция checkKeyDown (e) {moveWheels (e.keyCode); moveServo (e.keyCode);} функция checkKeyUp (e) {stopWheels (e.keyCode); stopServo (e.keyCode);}  

Полную кодовую базу можно найти в моем репозитории на github выше.

Библиотеки сортировочного ПО

  • express.js - для улучшения нашего приложения Nodejs
  • johnny-five - для использования API управления Arduino Javascript
  • socket.io - для использования веб-сокетов для установления связи между серверной частью и клиентской частью.
  • susy - для создания макета и адаптивного дизайна.
  • Google Material Design - для использования элементов материалов.
  • gulpJS - для автоматизации задач
  • BabelJS - для переноса EcmaScript 6
  • Browserify - для поддержки модулей

Последние слова

Я новичок в этом мире Интернета вещей, и это мой первый проект. Я не хочу сказать, что использовал оптимальные решения, но, надеюсь, вы найдете полезную информацию из этого руководства.

Код

Github
https://github.com/dominikfilkus/arduino-spybot-V2

Схема

arduino-spybot.fzz

Производственный процесс

  1. Растровая анимация на сенсорном экране TFT ILI9341
  2. Веб-контроллер DMX
  3. FlickMote
  4. Самодельный телевизор B-Gone
  5. Основные часы
  6. HSVClock
  7. Игрушка под управлением Android с использованием Raspberry Motor Shield
  8. Найди меня
  9. Arduino Power
  10. Tech-TicTacToe