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

Робот-«едобот» на Arduino Nano: открывает рот при подаче еды (HC-SR04 + сервопривод)

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

Название Количество
Arduino Nano R3 1
Ультразвуковой датчик HC-SR04 1
Микросервопривод SG90 1
Половинчатая макетная плата 1
Провода-перемычки 1 набор

Инструменты

Среда разработки

О проекте

Идея пришла от дочери: робот, который открывает рот, когда к нему подносят еду. Корпус из картона, минимальные затраты, сборка за вечер. Ультразвуковой датчик обнаруживает предмет (еду) на расстоянии ≤ 5 см — сервопривод открывает «рот» на 1.2 сек, затем закрывает.

Сборка корпуса

  1. Вырежьте детали из картона (корпус, челюсти, глаза).
  2. Склейте горячим клеем.
  3. Сделайте отверстия для глаз и рта.
  4. Установите HC-SR04 в «нос», сервопривод — за челюстью.
Робот-«едобот» на Arduino Nano: открывает рот при подаче еды (HC-SR04 + сервопривод)
Робот-«едобот» на Arduino Nano: открывает рот при подаче еды (HC-SR04 + сервопривод)
Робот-«едобот» на Arduino Nano: открывает рот при подаче еды (HC-SR04 + сервопривод)

Схема подключения

Робот-«едобот» на Arduino Nano: открывает рот при подаче еды (HC-SR04 + сервопривод)

Код (Arduino)

/* Cardboard Eating Robot
 * Author: GoldScrew
 * Email: goldscrewdiy@gmail.com
 * HC-SR04 detects food at distance <= 5 cm, Servo opens/closes mouth
 */
#include <Servo.h>

#define SERVO_PIN 9
const int trig = 3;
const int echo = 2;

Servo mouthServo;

void setup() {
  Serial.begin(9600);
  pinMode(trig, OUTPUT);
  pinMode(echo, INPUT);
  mouthServo.attach(SERVO_PIN);
  mouthServo.write(90); // закрыт
}

void loop() {
  unsigned long duration;
  int distance;

  digitalWrite(trig, LOW);
  delayMicroseconds(2);
  digitalWrite(trig, HIGH);
  delayMicroseconds(10);
  digitalWrite(trig, LOW);

  duration = pulseIn(echo, HIGH);
  distance = int(duration / 2 / 29.412); // см

  if (distance <= 5) {
    Serial.println("Distance <= 5 cm");
    mouthServo.write(0);   // открыть рот
    delay(1200);
  } else {
    Serial.println("Distance > 5 cm");
    mouthServo.write(90);  // закрыть рот
  }
  delay(200);
}

Тестирование и результат

Робот-«едобот» на Arduino Nano: открывает рот при подаче еды (HC-SR04 + сервопривод)
Робот-«едобот» на Arduino Nano: открывает рот при подаче еды (HC-SR04 + сервопривод)

Проект отлично подходит для детей и начинающих: дешево, весело, наглядно демонстрирует работу ультразвукового датчика и сервопривода.

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

  1. Создание игры в реальном времени на Arduino Nano с гироскопом MPU-6050 и OLED-дисплеем
  2. Unopad: Бесшовный Arduino MIDI-контроллер для Ableton Live
  3. Робот-ускользатор на сервоприводе: сборка на Arduino и HC-SR04
  4. Простой ИК-датчик препятствий на Arduino: ИК-светодиод и фотодиод
  5. Управление двумя шаговыми двигателями через джойстик на Arduino Nano — простой урок (Visuino)
  6. PiBot: Робот-пианист на Arduino для точного исполнения музыки
  7. Ручной дозиметр (Гейгер-счетчик) на Arduino Nano: сборка в 3D-корпусе
  8. Генерация музыкальных тонов на Arduino: полный спектр 88 клавиш пианино
  9. Автоматическая дверь на Arduino с ультразвуковым датчиком HC-SR04
  10. Управление манипулятором LittleArm через Android-приложение по Bluetooth