亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Arduino Biped(小恐龙)

组件和用品

Arduino Mega 2560
× 1
9V 电池(通用)
× 1
SparkFun 超声波传感器 - HC-SR04
× 1
SG90 微伺服电机
× 5

关于这个项目

<人物>

Baby Dino 是一个基于 Arduino 的两足机器人。它基本上使用五个伺服电机,每条腿两个,头部一个。它还使用超声波传感器来检测障碍物并避开它们。现在,让我们看看如何制作吧!

第 1 步:简介

  • Baby Dino 是一个使用 Arduino 的 DIY 机器人。
  • 它是用纸板做的。
  • 它会发现障碍物,然后向左或向右移动。

第 2 步:所需组件

  • 1 X Arduino Uno、Nano 或 Mega
  • 5 X 9g 舵机
  • 1 X HC-SR04 超声波传感器
  • 1 X LiPo 电池(2s 或 9v 电池)

第 3 步:修复伺服

  • 下载程序
  • 上传到 Arduino
  • 按照下图连接舵机
  • 修理舵机喇叭
  • 确保一切都在 90 度
修复文件

第 4 步:设计

  • 下载设计
  • 将其打印到 A4 纸上
  • 将其粘贴在纸板上
  • 剪掉它

第五步:最后一步

  • 将伺服系统连接到硬纸板上
  • 将程序上传到 Arduino
  • 连接舵机和超声波传感器
  • 将电缆作为尾部进行管理
  • 连接电池

而已!

双足网

代码

  • fix.ino
  • 两足动物
fix.inoArduino
#include Servo s1;伺服s2;伺服s3;伺服s4;伺服s5;无效设置(){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); }
BipedArduino
根据您的意愿编辑伺服和超声波引脚
#include  #include // 根据您的连接编辑引脚#define IRsensorPin 13 // 如果您使用的是红外传感器超声波传感器#define TRIGGER_PIN 12 // Arduino 引脚连接到超声波传感器上的触发引脚。#define ECHO_PIN 11 // Arduino 引脚连接到超声波传感器上的回波引脚。#define LEFTLEG 7#define RIGHTLEG 10#define LEFTFOOT 8#define RIGHTFOOT 9#define HEAD 6#define MAX_DISTANCE 200 // 我们想要 ping 的最大距离(以厘米为单位)。最大传感器距离额定为 400-500cm.NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // 引脚和最大距离的 NewPing 设置。Servo Lleg; // 创建伺服对象来控制伺服 Servo Rleg;Servo Lfoot;Servo Rfoot;Servo 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){ Serial.println("Forward"); TiltRightUp(tAngle, Speed); for (byte j=0; j0; i-=5){ Lfoot.write(LFcenter+i); Rfoot.write(RFcenter+i);延迟(sp); }}void TiltLeftUp(byte ang, byte sp){ //向左倾斜 for (int i=0; i<=ang; i+=5){ Lfoot.write(LFcenter-i); Rfoot.write(RFcenter-i);延迟(sp); }}void TiltLeftDown(byte ang, byte sp){ //向左倾斜 for (int i=ang; i>0; i-=5){ Lfoot.write(LFcenter-i); Rfoot.write(RFcenter-i);延迟(sp); }}void LeftFootUp(char ang, byte sp){ //向左倾斜 for (int i=0; i<=ang; i+=5){ Lfoot.write(LFcenter-i);延迟(sp); }}void LeftFootDown(byte ang, byte sp){ //向左倾斜 for (int i=ang; i>0; i-=5){ Lfoot.write(LFcenter-i);延迟(sp); }}void RightFootUp(byte ang, byte sp){ //向右倾斜 for (int i=0; i<=ang; i+=5){ Rfoot.write(RFcenter+i);延迟(sp); }}void RightFootDown(byte ang, byte sp){ //向右倾斜 for (int i=ang; i>0; i-=5){ Rfoot.write(RFcenter+i);延迟(sp); }}void SwingRight(byte ang, byte sp){ //向右摆动 for (int i=0; i<=ang; i+=5){ Lleg.write(LLcenter-i); Rleg.write(RLcenter-i);延迟(sp); }}void SwingRcenter(byte ang, byte sp){ //swing r->center for (int i=ang; i>0; i-=5){ Lleg.write(LLcenter-i); Rleg.write(RLcenter-i);延迟(sp); }}void SwingLeft(byte ang, byte sp){ //向左摆动 for (byte i=0; i<=ang; i=i+5){ Lleg.write(LLcenter+i); Rleg.write(RLcenter+i);延迟(sp); }}void SwingLcenter(byte ang, byte sp){ //swing l->center for (byte i=ang; i>0; i=i-5){ Lleg.write(LLcenter+i); Rleg.write(RLcenter+i);延迟(sp); }}void RightLegIn(byte ang, byte sp){ //向右摆动 for (int i=0; i<=ang; i+=5){ Rleg.write(RLcenter-i);延迟(sp); }}void RightLegIcenter(byte ang, byte sp){ //swing r->center for (int i=ang; i>0; i-=5){ Rleg.write(RLcenter-i);延迟(sp); }}void RightLegOut(byte ang, byte sp){ //向右摆动 for (int i=0; i<=ang; i+=5){ Rleg.write(RLcenter+i);延迟(sp); }}void RightLegOcenter(byte ang, byte sp){ //swing r->center for (int i=ang; i>0; i-=5){ Rleg.write(RLcenter+i);延迟(sp); }}void LeftLegIn(byte ang, byte sp){ //向左摆动 for (byte i=0; i<=ang; i=i+5){ Lleg.write(LLcenter+i);延迟(sp); }}void LeftLegIcenter(byte ang, byte sp){ //swing l->center for (byte i=ang; i>0; i=i-5){ Lleg.write(LLcenter+i);延迟(sp); }}void LeftLegOut(byte ang, byte sp){ //向左摆动 for (byte i=0; i<=ang; i=i+5){ Lleg.write(LLcenter-i);延迟(sp); }}void LeftLegOcenter(byte ang, byte sp){ //swing l->center for (byte i=ang; i>0; i=i-5){ Lleg.write(LLcenter-i);延迟(sp); }}void setup() { Serial.begin(19200); Serial.println("Bipedino 安装程序正在运行。"); Lleg.attach(LEFTLEG); Rleg.attach(RIGHTLEG); Lfoot.attach(LEFTFOOT); Rfoot.attach(RIGHTFOOT); Head.attach(HEAD);中心伺服();延迟(500); for (int i =0; i <5; ++i) { GetSonar();延迟(1000); } Serial.println("Bipedino is ready.");} // setup()void loop() { unsigned int cmCenter =MAX_DISTANCE;无符号整数 cmLeft =MAX_DISTANCE;无符号整数 cmRight =MAX_DISTANCE;头部中心(); cmCenter =GetSonar();如果 (cmCenter <20) { HeadRight(); cmRight =GetSonar();头部中心();如果 (cmRight> 20) { 右转 (1, 30); } else { HeadLeft(); cmLeft =GetSonar();头部中心();如果 (cmLeft> 20) { TurnLeft(1, 30); } } } else { int nSteps =cmCenter / 5; if (nSteps> 5) { nSteps =5; } else { nSteps =1; Serial.print("步骤<"); Serial.print(nSteps); Serial.println(">"); for (int n =0; n  

定制零件和外壳

示意图


制造工艺

  1. 奶嘴
  2. 婴儿背带
  3. 婴儿湿巾
  4. 婴儿配方奶粉
  5. 婴儿车
  6. Arduino Spybot
  7. FlickMote
  8. 自制电视 B-Gone
  9. 主时钟
  10. 带伺服电机的机器人避障
  11. 找到我
  12. Arduino Power