回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页
best-icon

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

头像 幸运阿风 2021.01.15 2401 3

初次见到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文件下载,但是并没有程序文件和详细的说明,我们一步步试着来。

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

project-image

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

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

project-image

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

project-image

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

project-image
project-image

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

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

project-image

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

project-image
project-image

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

project-image

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

project-image

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

烧录程序,跑起来!

手机遥控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);
 
//*/
}

附件

材料清单

  • UNO X1
  • 1508S 电机驱动 X1
  • JDY31蓝牙模块 X1
  • N20电机 X2
  • sr04超声波 X1
  • 开关 X1

评论

user-avatar
  • a🚁💭 B210

    a🚁💭 B2102021.06.25

    厉害呀!!还开源出来。惊叹3D打印机的质量。打印的真好。卡位都那么好。

    0
    • 幸运阿风

      幸运阿风2021.01.18

      提供了STL模型文件下载,使用pc端登陆,浏览文章可以看到。

      1
      • 手工人

        手工人2023.03.18

        我想问一下十三号引脚是干什么的,另外能不能发一下蓝牙模块与arduino的连接图