看看我们的纸板机器人狗狗的新版本。现在您可以用手机应用程序控制它,我们还提供了 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 板、舵机和蓝牙模块应该分别连接电源,这样才能更稳定地运行。











项目代码
#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/




评论