回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【Arduino 动手做】用纸板轻松制作 Arduino 机器狗 简单

头像 驴友花雕 2025.07.07 5 0

看看我们的纸板机器人狗狗的新版本。现在您可以用手机应用程序控制它,我们还提供了 Arduino 电子设备的使用说明。

改进:
更好的结构 - 更多的行走控制
移动应用程序控制
Arduino 电子设备(也可使用 Micro:Bit)
简化了结构

零件清单:
一层纸板(比两层纸板更容易切割)
兼容 Arduino UNO 的微控制器
蓝牙模块 HM-10 (MLT-BT05)
面包板
2 x 180 度微型伺服器
2 个弹出杆
M3 螺母和螺栓(12 毫米长)
橡皮筋
工具
剪刀
尺子

机器狗是一个令人兴奋和有趣的项目,适合高级纸板机器人建造者。该机器人仅使用两个伺服电机,但它能够完成完整的行走循环,您可以向四个方向移动它。这款遛狗是第一个版本的升级版。它可以用 Arduino 或 Micro:Bit 电子设备构建。

纸板机器狗 - 使用 BBC Micro:Bit 进行教育的 DIY 机器人设计
第一版机器狗的主要问题是腿部附着。连接到伺服电机的纸板腿与该机器人的特定运动类型相结合,导致连接迅速恶化。在新版本中,我使用了连接到伺服系统的冰棒棒,这使结构坚固,但需要对伺服电机进行更永久的修改。您可以将此机器人与 Arduino 的 LOFI Control App 连接。

构建手册
机器人设计方案
如何阅读机器人计划:
BLACK LINES – 先剪断这条线
RED LINES – 在黑线之后剪切的详细形状
蓝色虚线 – 用剪刀描画的弯曲线
纸板机器狗设计方案

Arduino 电路
下图所示的电路设计主要简单(据您所知,Arduino 面包板在小学范围内可能很简单 ;-)注意一个设计选择 – 电源通过 Arduino 稳压器,舵机由 Arduino Vin 引脚供电。蓝牙模块也是如此。这种设计可能会导致快速移动和重置蓝牙模块时电量下降,从而导致与移动应用程序断开连接。总的来说,这是一次令人沮丧的经历。如果你是更有经验的 Arduino 用户,你就会知道 Arduino 板、舵机和蓝牙模块应该分别连接电源,这样才能更稳定地运行。
 

00-.jpg
00--.jpg
00---.jpg
00----.jpg
00-1.jpg
00-2.jpg
00-3.jpg
00-4.jpg
00-5.jpg
00-6.jpg
01.jpg

项目代码

 

 

代码
#include <Servo.h>

Servo myservo;
Servo myservo2;  


int pos = 70; 
int speed = 100;
int low_limit = 70;
int high_limit = 120;

int zero1 = 98;
int zero2 = 90;
int move = 0;
int reading = 0;

void setup() {

  Serial.begin(9600);

  myservo.attach(9);
  myservo2.attach(10);

  myservo.write(zero1);
  myservo2.write(zero2);
}

void loop() {
  app(); // interpretation of commands received from the LOFI Control App
}


void forward() {
  myservo.write(zero1 + 22);
  delay(speed);
  myservo2.write(zero2 - 20);
  delay(speed);
  myservo.write(zero1 - 21);
  delay(speed);
  myservo2.write(zero2 + 20);
  delay(speed);
}

void left() {
  myservo.write(zero1 - 40);
  delay(speed);
  myservo2.write(zero2 - 20);
  delay(speed);
  myservo.write(zero1 + 20);
  delay(speed);
  myservo2.write(zero2 + 20);
  delay(speed * 2);
}

void back(int speed) {
  myservo.write(zero1 - 20);
  delay(speed);
  myservo2.write(zero1 - 20);
  delay(speed);
  myservo.write(zero1 + 20);
  delay(speed);
  myservo2.write(zero1 + 20);
  delay(speed);
}

void right(int speed) {
  myservo.write(zero1 + 40);
  delay(speed);
  myservo2.write(zero2 + 20);
  delay(speed);
  myservo.write(zero1 - 20);
  delay(speed);
  myservo2.write(zero2 - 20);
  delay(speed * 2);
}

void app() {


  if (Serial.available() > 0) {
    move = Serial.read();
  }

  if (move == 1) {
    forward();
  }

  if (move == 2) {
    left();
  }

  if (move == 3) {
    right(speed);
  }

  if (move == 4) {
    back(200);
  }

  if (move == 5) {
    happy();
  }


  if (move == 0) {
    myservo.write(zero1);
    myservo2.write(zero2);
  }
}

void happy() {

  int swing = 12;

  for (pos = zero1 - swing; pos <= zero1 + swing; pos += 1) { 
    myservo.write(pos);  
    delay(5);           
  }
  for (pos = zero1 + swing; pos >= zero1 - swing; pos -= 1) {  
    myservo.write(pos);                                        
    delay(5);                                                  
  }
}

【Arduino 动手做】用纸板轻松制作 Arduino 机器狗
项目链接:https://cardboard.lofirobot.com/robot-dog-v2/
项目作者:CARDBOARD ROBOTS

项目视频 :https://www.youtube.com/watch?v=wF3MR8pRAGo
项目代码:https://cardboard.lofirobot.com/robot-dog-v2/
Web 应用程序:https://cardboard.lofirobot.com/lofi-control-for-arduino/

 

01.jpg
03.jpg
06.jpg
00183--0.gif

评论

user-avatar
icon 他的勋章
    展开更多