×

制作一个基于Arduino的边缘避让机器人

消耗积分:0 | 格式:zip | 大小:0.62 MB | 2023-06-26

48674

分享资料个

使用的组件:

  • 一块硬纸板
  • 阿杜诺乌诺
  • 红外传感器
  • BO马达
  • 车轮
  • 万向轮
  • L293d集成电路
  • 电路板
  • 软线
  • 引领
  • 330R电阻
  • 电池
  • 连接器公/母
  • PCB端子
 
 
 
 
poYBAGPjTjOAaCMBAAJon3ntzBo178.png
 
1 / 7
 

取一张尺寸为 135mm x 120mm 的纸板。根据给定的布局标记所有尺寸并切割它。

 
poYBAGPjTjaAUA0ZAAG41-KrFjc699.png
 
 
poYBAGPjc6OAQ9znAAEQm3S6aMA023.png
 

使用热胶粘住所有切割部分。将两个电机固定到位。将轮子安装到两个电机上。将红外传感器放在机器人身体的前侧。还可以在前面安装两个 LED。此 LED 仅用于改善机器人的外观,如果不可用,您可以跳过此 LED。将脚轮固定在机器人机身底部的背面。现在将电池放入其中。将最大重量保持在机器人的背面。通过粘贴上部预切纸板片来关闭身体的上侧。

 
 
 
 
poYBAGPjc7aASchqAAIVJgYgdPc488.png
 
1 / 14
 

现在拿 PCB 一些公母连接器和 H 桥 L293D 电机驱动器 IC。按照给定的电路图焊接所有组件。将两个电机连接到我们最近焊接的电机驱动板上。将两个传感器连接到板上。现在所有连接都已完成。

 
poYBAGNYsoOALEskAAN55ovE5zs866.jpg
 
 
 
 
 
poYBAGPjc9KAOFHtAAMA7595Pew843.png
 
1 / 9
 

让我们上传

//program by Shubham Shinganapure on 14-06-2019
//
//for Table Edge Avoiding Robot using IR sensors  
  
  
int lm1=8; //left motor output 1
int lm2=9; //left motor output 2
int rm1=10;  //right motor output 1
int rm2=11;  //right motor output 2
int sl=13;    //sensor 1 input (left)
int sr=12;    //sensor 2 input (right)
int SlV=0;
int SrV=0;
int led=A0;
void setup()
{
 pinMode(lm1,OUTPUT);
 pinMode(lm2,OUTPUT);
 pinMode(rm1,OUTPUT);
 pinMode(rm2,OUTPUT);
 pinMode(led,OUTPUT);
 pinMode(sl,INPUT);
 pinMode(sr,INPUT);
sTOP();
}
void loop()
{
 SlV=digitalRead(sl);
 SrV=digitalRead(sr);
 if(SrV==LOW && SlV== LOW)
 {
   digitalWrite(led,LOW);
  ForWard();
   }
   if(SrV==HIGH && SlV== HIGH)
 {
   digitalWrite(led,HIGH);
  BackWard();
  delay(400);
  Right();
  delay(550);
  ForWard();
  delay(200);
   }
    if(SrV==LOW && SlV== HIGH)
 {
  digitalWrite(led,HIGH);
  BackWard();
  delay(400);
  Right();
  delay(550);
  ForWard();
  delay(200);
   }
    if(SrV==HIGH && SlV== LOW)
 {
  digitalWrite(led,HIGH);
  BackWard();
  delay(400);
  Left();
  delay(550);
  ForWard();
  delay(200);
   }
}
void ForWard()
 {
  digitalWrite(lm1,HIGH);
  digitalWrite(lm2,LOW);
  digitalWrite(rm1,HIGH);
  digitalWrite(rm2,LOW);
 } 
 void BackWard()
 {
  digitalWrite(lm1,LOW);
  digitalWrite(lm2,HIGH);
  digitalWrite(rm1,LOW);
  digitalWrite(rm2,HIGH);
 }
 void Left()
 {
  digitalWrite(lm1,LOW);
  digitalWrite(lm2,HIGH);
  digitalWrite(rm1,HIGH);
  digitalWrite(rm2,LOW);
 } 
 void Right()
 {
  digitalWrite(lm1,HIGH);
  digitalWrite(lm2,LOW);
  digitalWrite(rm1,LOW);
  digitalWrite(rm2,HIGH);
 }  
   void sTOP()
 {
  digitalWrite(lm1,LOW);
  digitalWrite(lm2,LOW);
  digitalWrite(rm1,LOW);
  digitalWrite(rm2,LOW);
 }

将此处的代码复制到 Arduino IDE,将 Arduino 板连接到您的电脑。从工具菜单中选择 COM 端口和板类型。并点击上传。

 
 
 
 
poYBAGPjc-CAE5f4AAI8WjSgSRc019.png
 
1 / 2
 

程序上传到Arduino后,大功告成,现在我们来测试一下。将电池连接到 Arduino。这里我用的是2个锂离子电池串联起来,用绝缘胶带把它们包起来,所以这个电池的电压是7.4伏。您可以使用 2 节 7.4 伏锂聚合物电池。使用 6 到 9 伏之间的电源电压。如果您使用更高电压的电池,机器人的速度会更高,当它到达边缘时,它会立即应用 break,即它反转它的轮子旋转,因为它以更高的速度移动,跌倒的机会会增加由于它的向前惯性。

 

 

 

希望您觉得这个有帮助。如果是,喜欢它,分享它,评论你的疑问。更多此类项目,关注我!支持我的工作并在YouTube 上订阅我的频道。

谢谢!


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !