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

Сборка Bluetooth-робота-шпиона на Arduino с управлением с телефона

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

Программное обеспечение

О проекте

Четырёхколёсный робот с дифференциальным управлением, управляемый по Bluetooth с компьютера через веб-интерфейс. Телефон на борту работает как IP-камера (приложение Win IP Camera). Автор — JavaScript-разработчик, поэтому логика управления написана на Node.js с использованием Johnny-Five.

Шасси

Сделано самостоятельно из дерева. Главное правило для дифференциального управления: колёса должны быть как можно ближе друг к другу по оси, иначе робот будет плохо поворачивать. Моторы закреплены хомутами (cable ties) — требует точной разметки отверстий. Готовые пластиковые шасси проще и надежнее.

Питание

Два держателя 4×AA соединены в последовательную батарею 8×AA (≈9,6 В NiMH). Arduino питается от этой батареи через джек. Motor Shield V2 имеет джампер разделения питания: сняв его, можно запитать двигатели отдельно от Arduino (рекомендуется).

Беспроводная связь

HC-06 смонтирован на Proto Shield с распайанными пинами и переходниками — модуль можно извлекать. Настройка HC-06 для работы с Johnny-Five: инструкция.

Движение

Вперёд, назад, повороты дифференциальным управлением. Сервопривод поворачивает держатель телефона左右.

Код: архитектура

Backend (entry point):

var boardModule = require('./src/boardModule'),
    servoModule = require('./src/servoModule'),
    motorModule = require('./src/motorModule');

boardModule.initBoard().then(function() {
  motorModule.initMotors();
  servoModule.initServo();
});

Frontend (управление клавиатурой):

import {moveWheels, stopWheels} from './wheelsControl';
import {moveServo, stopServo} from './servoControl';

document.onkeydown = checkKeyDown;
document.onkeyup = checkKeyUp;

function checkKeyDown(e) {
  moveWheels(e.keyCode);
  moveServo(e.keyCode);
}
function checkKeyUp(e) {
  stopWheels(e.keyCode);
  stopServo(e.keyCode);
}

Полный исходный код на GitHub: arduino-spybot-V2.

Используемые библиотеки

Заключение

Первый IoT-проект автора. Есть куда улучшать: 3D-печать корпуса, обратная связь от вибрации/экрана, автономное вождение. Но как proof-of-concept — работает.

Схемы

Файл схемы для Fritzing: arduino-spybot.fzz (в оригинале).

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

  1. Профессиональное руководство по анимации битмапов на TFT-экране ILI9341 2.4" с Visuino
  2. Веб-управляемая DMX-система освещения: Arduino Mega как мастер-контроллер
  3. FlickMote: жестовое IR-пульт для умного дома на Arduino 101 и ультразвуковом датчике
  4. DIY Arduino TV-B-Gone: универсальный пульт для выключения любого телевизора
  5. Создание пользовательских LED-часов с будильником — видно с 12 метров
  6. HSV Clock: Яркие, настраиваемые часы для энтузиастов Arduino
  7. Android-управляемая робот-платформа на Raspberry Pi и Motor Shield
  8. Find Me: Умный поисковик вещей на Arduino и Bluetooth
  9. Оптимизированные решения питания для проектов на Arduino
  10. Крестики-нолики на Arduino с матрицей MAX7219 и картонным корпусом