所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开

#REMAKE再造 #创客挑战赛 SMARS小车

幸运阿风 幸运阿风 2021-01-15 21:35:45
14
2
简单

初次见到SMARS是在thingiverse.com。呆萌的外观很快吸引我的注意,仔细看它的介绍:

 SMARS的缩写,是“无螺丝/螺丝模块化可组装机器人系统”,是一种为教育领域设计的简单机器人。SMARS的主要特点是减少了部件数量,无需螺丝即可安装且无需焊接任何零件的可能性,不需要胶水或类似物品,并且制造起来确实很便宜。SMARS的另一个要点是模块化设计。您可以安装不同的传感器和工具并设计自己的零件。 

https://www.thingiverse.com/thing:2662828 

https://www.youtube.com/watch?v=JCqkuDWNzIg&feature=youtu.be

 

惊叹它的设计精巧,好吧,我一定要仿制一个。thingiverse.com提供了stl文件下载,但是并没有程序文件和详细的说明,我们一步步试着来。

搜集好模型文件,经过漫长的等待打印出来,用雕刻刀,什锦锉修理毛刺,备用。电子部件若干,详见材料清单。

projectImage

下载文件缺少详细说明,好在我们根据视频和一些零散的文字,还有经验能够判定使用什么部件,我们把它拼装起来。

安装从动轮,安装N20电机,安装9V层叠电池,用电池压板扣紧电机,安装主动轮,用细小的销穿起履带片,每条履带由16片组成。这里我们仔细观察可以看到履带片的突起并不是对称的,猜想这种设计是为了在不同材料的表面上都有良好的摩擦力。

projectImage

组装好漂亮的大眼睛。话说超声波作为机器人的眼睛,应该是很常见的,但做的这么漂亮协调的并不多。

projectImage

装好眼睛,准备安装Arduino UNO 和电机驱动板

projectImage
projectImage

连接导线,插上电源,大功告成!!!

接下来遇到了意想不到的问题:编写好程序烧录进去,电机会有啸叫并不能转动。。。反复检查程序没有问题啊,怀疑是供电不足引起的。换上2S 7.4V锂电池供电一切正常。我的9V电池还是新的。怎么办。但这么小的车,装不下我的锂电池组啊。

projectImage

还好,网站上找到一个Mod,AAA*3供电。下载回来只是两个小小的挡片和一个新的电池压盘。并没有说明。仔细观察,应该是3D打印的弹性部件,配合导线完成AAA电池的串联。翻箱倒柜找出原来焊接锂电池组用的镍片,正好插在缝隙里,焊上导线,解决。1.5*3=4.5V 直接给UNO供电和电机供电应该没问题。

projectImage
projectImage

新下载的还有一个新的电池和电机压片,有一些空位置,一半看图,一半推测,应该分别装的小开关,1508S电机驱动,和蓝牙模块。这好啊,不用UNO那种笨重的L293D电机驱动扩展卡啦,这种环境这种小电机驱动正适合。可是小开关说什么也没有找到可以放到那个槽位里的。没办法,我适应不来你,那你适应我吧。用solidworks修改STL文件,把手中的小开关装上了。

projectImage

好吧,既然电机驱动和蓝牙都已经装肚子里了,那能不能再简洁一点?想来想去,看到手中这块廉价的UNO板,好注意来了。我们需要外联的是两路电机,这里用 D4,D5~,D6~,D7,蓝牙串口 GndVccTxRx,一共8跟线,因为是5V,电机驱动板和蓝牙的供电可以并联起来,所以控制器只需要8跟线就可以了。我这里用了xh2.54_4P接口两个,为了预防差错用了一公一母。从这种UNO特有的杜邦针的孔位焊接出来,从板子下方接线,引线全部隐藏起来了。

projectImage

怎么样,很整洁吧?像没接线的样子。

烧录程序,跑起来!

手机遥控App使用的是一款叫 蓝牙串口SPP的软件,可以自定义按键发送字符。免费软件带广告的。

SMARS是无螺丝,低成本,模块化的。任何人都可以使用,更改,制作更加好玩的附加功能。接下来我会尝试安装一个灰度传感器做循迹实验。

代码 代码
	                    					
void go (int a,int b){  //-255~255  (MX1508 0,0停止  1,1刹车)left 5~ 4  right 6~ 7 555刹车
  if (a==0){
    digitalWrite(5,0);
    digitalWrite(4,0);
  }
  else{
    if (a==555){          //刹车
      digitalWrite(5,1);
      digitalWrite(4,1);
    }
    else{
      if (a>0){
      analogWrite(5,a);
      digitalWrite(4,0);
      }
      else{
      analogWrite(5,a-255);
      digitalWrite(4,1);
      }
    }
  }
  if (b==0){
    digitalWrite(6,0);
    digitalWrite(7,0);
  }
  else{
    if (b==555){          //刹车
      digitalWrite(6,1);
      digitalWrite(7,1);
    }
    else{
      if (b>0){
      analogWrite(6,b);
      digitalWrite(7,0);
      }
      else{
      analogWrite(6,b-255);
      digitalWrite(7,1);
      }
    }
  } 

}
int incomedate = 0;
void setup() {
    pinMode(13,OUTPUT);
    pinMode(4, OUTPUT);
    pinMode(5, OUTPUT);
    pinMode(6, OUTPUT);
    pinMode(7, OUTPUT);
    Serial.begin(9600); //设置串口波特率9600
    digitalWrite(13,0);
  
  }

void loop() {
  //digitalWrite(13,1);


  if (Serial.available() > 0)//串口接收到数据
  {
    incomedate = Serial.read();//获取串口接收到的数据
    if (incomedate == 0xA0) //stop
    {
     go(0,0);
     //delay(200);
    }
    
    if (incomedate == 0xA1) //上
    {
     go(200,200);
     delay(100);
    }
    if (incomedate == 0xA2) //下 
    {
     go(-200,-200);
     delay(100);
    }
    if (incomedate == 0xA3) //左
    {
     go(-160,160);
     delay(100);
    }
    if (incomedate == 0xA4) //右
    {
     go(160,-160);
     delay(100);
    }
    if (incomedate == 0xA5) //左上
    {  
     go(0,160);
     delay(100);
    }
    if (incomedate == 0xA6) //右上
    {  
     go(160,0);
     delay(100);
    }
    if (incomedate == 0xA7) //左下
    {  
     go(0,-160);
     delay(100);
    }
    if (incomedate == 0xA8) //右下
    {  
     go(-160,0);
     delay(100);
    }
 
  }
  //delay(1000);
 
//*/
}
	                    				
附件 附件
材料清单 材料清单
1x
UNO
1x
1508S 电机驱动
1x
JDY31蓝牙模块
2x
N20电机
1x
sr04超声波
1x
开关
Makelog作者原创文章,未经授权禁止转载。
14
2
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
[[c.comment_content]]