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

Двуногое робота Baby Dino на Arduino: пошаговое руководство

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

Компонент Количество
Arduino Mega 2560 (или Uno / Nano) 1
Крона 9 В 1
Ультразвуковой датчик HC-SR04 1
Микросервоприводы SG90 (9 г) 5

О проекте

Baby Dino — двуногое робота на базе Arduino. Использует пять сервоприводов: по два на каждую ногу и один на голову. Ультразвуковой датчик обнаруживает препятствия и обходит их. Корпус из картона. Посмотрим, как собрать!

Шаг 1: Введение

Шаг 2: Необходимые компоненты

Шаг 3: Настройка сервоприводов (центрирование)

Файл: fix.ino

Шаг 4: Корпус из картона

Шаг 5: Финальная сборка

Готово!

Программный код

fix.ino — центрирование сервоприводов

#include <Servo.h>
Servo s1; Servo s2; Servo s3; Servo s4; Servo s5;
void setup() {
  s1.attach(8); s2.attach(9); s3.attach(10); s4.attach(11); s5.attach(12);
}
void loop() {
  s1.write(90); s2.write(90); s3.write(90); s4.write(90); s5.write(90);
}

biped.ino — основная логика

#include <Servo.h>
#include <NewPing.h>

// Настройте пины под свою схему
#define IRsensorPin 13       // если используете ИК вместо ультразвука
#define TRIGGER_PIN 12
#define ECHO_PIN 11
#define LEFTLEG 7
#define RIGHTLEG 10
#define LEFTFOOT 8
#define RIGHTFOOT 9
#define HEAD 6
#define MAX_DISTANCE 200

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

Servo Lleg, Rleg, Lfoot, Rfoot, Head;

int Hcenter = 70;
int RLcenter = 100; int RFcenter = 65;
int LLcenter = 90;  int LFcenter = 75;
int tAngle = 30;  // угол наклона
int uAngle = 35;  // угол поворота
int sAngle = 35;  // угол рачка
int hAngle = Hcenter;

// --- Функции движений ---
void Forward(byte Steps, byte Speed) { ... }
void TurnLeft(byte Steps, byte Speed) { ... }
void TurnRight(byte Steps, byte Speed) { ... }
void HeadRight() { ... }
void HeadLeft() { ... }
void HeadCenter() { ... }
void TiltRightUp(byte ang, byte sp) { ... }
void TiltRightDown(byte ang, byte sp) { ... }
void TiltLeftUp(byte ang, byte sp) { ... }
void TiltLeftDown(byte ang, byte sp) { ... }
void SwingRight(byte ang, byte sp) { ... }
void SwingRcenter(byte ang, byte sp) { ... }
void SwingLeft(byte ang, byte sp) { ... }
void SwingLcenter(byte ang, byte sp) { ... }
void RightLegIn(byte ang, byte sp) { ... }
void RightLegIcenter(byte ang, byte sp) { ... }
void RightLegOut(byte ang, byte sp) { ... }
void RightLegOcenter(byte ang, byte sp) { ... }
void LeftLegIn(byte ang, byte sp) { ... }
void LeftLegIcenter(byte ang, byte sp) { ... }
void LeftLegOut(byte ang, byte sp) { ... }
void LeftLegOcenter(byte ang, byte sp) { ... }

void setup() {
  Serial.begin(19200);
  Lleg.attach(LEFTLEG); Rleg.attach(RIGHTLEG);
  Lfoot.attach(LEFTFOOT); Rfoot.attach(RIGHTFOOT);
  Head.attach(HEAD);
  CenterServos(); delay(500);
  for(int i=0;i<5;i++) { GetSonar(); delay(1000); }
  Serial.println("Bipedino is ready.");
}

void loop() {
  unsigned int cmCenter = MAX_DISTANCE, cmLeft = MAX_DISTANCE, cmRight = MAX_DISTANCE;
  HeadCenter(); cmCenter = GetSonar();
  if(cmCenter < 20) {
    HeadRight(); cmRight = GetSonar(); HeadCenter();
    if(cmRight > 20) { TurnRight(1, 30); }
    else {
      HeadLeft(); cmLeft = GetSonar(); HeadCenter();
      if(cmLeft > 20) { TurnLeft(1, 30); }
    }
  } else {
    int nSteps = cmCenter / 5; if(nSteps > 5) nSteps = 5; else nSteps = 1;
    for(int n=0; n

Примечание: полный код функций движений опущен для краткости — доступен в исходном файле проекта.

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

Принципиальная схема подключения сервоприводов и HC-SR04 к Arduino Mega доступна в разделе Schematics.

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

  1. Соска: дизайн, стандарты безопасности и производственные аспекты
  2. Детские переноски-карманы (baby carriers): история, дизайн и безопасность
  3. Научная база и рынок влажных салфеток для детей: материалы, производство и тренды
  4. Детское питание: наука, производство и перспективы
  5. Эволюция и производство детских колясок: от колыбельных досов к современным прогам
  6. Сборка Bluetooth-робота-шпиона на Arduino с управлением с телефона
  7. FlickMote: жестовое IR-пульт для умного дома на Arduino 101 и ультразвуковом датчике
  8. DIY Arduino TV-B-Gone: универсальный пульт для выключения любого телевизора
  9. Создание пользовательских LED-часов с будильником — видно с 12 метров
  10. Робот-ускользатор на сервоприводе: сборка на Arduino и HC-SR04