宜昌老张

MakeBlock团队与他们的金属乐高产品

0
阅读(17037)

   

一、MakeBlock团队和他们在Kickstarter的“众筹”传奇 
   众筹,是最近2年国外最热的创业方向之一,以Kickstarter为例,虽然它不是最早以众筹概念出现的网站,但却是最先做成的一家,曾被时代周刊评为最佳发明和最佳网站,进而成为“众筹”模式的代名词。
   Kickstarter网站已经成为各地发明家喜爱的集资通道,至少是那些能够通过视频和文字描述自己的项目,它是吸引出资人的发明者的集资通道。Kickstarter上的项目五花八门,有漫画书出版计划、盲文手表、纯手工糕点,还有开源闪光灯、露营吊床和令人扼腕称奇的3D打印机。    

    一家来自深圳的初创公司将他们设计的机器人套件MakeBlock搬上了美国的众筹网站平台kickstarter,项目截止时融资额达18万美元,是预期的600%

MakeBlock团队在kickstarter众筹网站的网址:http://www.kickstarter.com/projects/1397854503/makeblock-next-generation-of-construct-platform

     MakeBlock的推介视频:

  视频网址:

http://player.youku.com/player.php/sid/XNDgxOTE2ODQ4/v.swf 

    人们在电脑和网络时代已经很多年,目睹了虚拟世界和辉煌和没落,现在是时候,把“比特”转换为“原子”了,硬件创业的春天已经来临。

   “人生活在物理世界中,人需要与物理硬件打交道,而不是信息世界中的二进制数。是时候回归现实世界了,依托于硬件,让技术更直接更好地为人们服务。”这是MakeBlock创始人王建军的信心来源。


二、MakeBlock金属乐高产品  

    3-14 岁的儿童可以玩乐高积木,14-18 岁的小孩,18 岁以上的大孩子可以玩什么?让这个年龄段的同仁们像拼积木一样去搭建一些坚固实用的、可以支持智能终端交互的机器人或机械装置,是不是很酷?

    这个金属版的“乐高积木”正是Makeblock背后的逻辑。它是由深圳的一个创业团队打造的模块化机器人搭建和创意实现平台,可向用户提供完整的机械、电子和软件解决方案。

    Makeblock是一个基于铝型材金属积木的机器人搭建平台,用来实现您的创意。使用Makeblock,你可以制作出专业而坚固的机器人,智能机床,甚至艺术制品。唯一的限制是你能想到什么创意。

Makeblock的稳定性来自其强大的模块化设计和灵活性搭建。他们所设计的螺纹槽和孔的连接方式,使搭建作品时,更容易连接,基本上不再需要繁琐的连接器。这使得Makeblock非常适用于几乎你可以梦想的所有项目。

 Makeblock使用的电控是最流行的开源平台Arduino。而且他们还设计了专门模块化的电子模块和统一的连接器,这样会便于使用,对初学者也更友好。电机的选择可以多样,比如直流电机、舵机或者步进电机,当然你也可以用到AndriodiOS应用程序来控制MakeBlock机器人。


     还有一点是非常重要的,MakeBlock金属结构件的孔距和直径与乐高零件是一样的,你可以很容易地用螺丝来连接乐高零件。这样MakeBlock平台就是可以方便地用到乐高LEGO资源,两者可以取长补短,发挥各自优势,完成你的终极梦想。我会很快做出这样的作品的。


三、我利用MakeBlock套件制作的智能车

    利用MakeBlcok套件制作智能车,就像使用乐高积木那样简单,就是用螺钉和螺母,朝着您设想的思路方向,一路调试和搭建即可,不用什么专门的训练就可以上手。当然MakeBlock官网也有一些PDF搭建指导手册可以参考,MakeBlock官网网址:http://www.makeblock.cc/。智能车搭建手册大家不妨下载看看,熟悉下MakeBlock结构件的搭建特点,http://l25.yunpan.cn/lk/Q2bcNRbgu7PGa

   这个MakeBlock智能车有两个直流电机驱动,前面安装的是夏普GP2D12红外线测距传感器,小车的智能核心是DFRobot公司出品的智能车控制套件,由三层电路板组成,下面一层是Arduino UNO控制板,中间一层就是驱动直流电机的L298驱动板,上面一层是Xbee传感器扩展板。由于GP2D12传感器输出的模拟信号,所以把它的输出端子插到了扩展板的模拟量接口引针上。

   值得注意的是,如果L298驱动板和Arduino控制器共用同一个电源,那么这个电源的质量和功率的要求更高,由于两台电机都是耗电元件,所以运行时电流消耗较大,电源功率不够,会导致电源电压下降,致使电压达不到Arduino控制器的5V供电要求,程序运行有时不正常。于是我往往把逻辑部分和电机驱动部分分别供电,所以可以看到下图,有两套电源,一套电源是7.4V锂聚合物电池,给Arduino控制器供电,另一套电源是6节三洋充电电池专门为电机驱动供电。

    大家可以看到,我没“动刀动枪”,就用机械和电子积木,快速搭建出我心目中的作品,而且自认为很酷,它给人金属质感的工业感觉,我喜欢这样的感觉!


   这个智能车完成的任务是避开障碍物,自己去寻找可以通行的道路。看看视频吧。


视频网址:

http://player.youku.com/player.php/sid/XNTE2NTgwMzQ0/v.swf

程序的编程思路是:

  通过GP2D12红外传感器检测小车距离前方障碍物的距离,如果距离大于20cm,则小车前进,如果距离小于20cm,则后退1秒钟时间,再随机向左或者向右转动0.8秒时间,接着继续前行,寻找新的道路。  

Arduino程序:

int E_right =6; //连接小车右侧电机的使能端口到数字接口5
int M_right =7; //连接右侧电机的转向端口到数字接口4
int E_left =5;//连接小车左侧电机2的使能端口到数字接口6
int M_left=4; //连接小车左侧电机的转向端口到数字接口7
//由于同型号的电机很多速度却不相同,所以我给左右两个电机不同的速度值,

//以调整到两者实际速度一致,使智能车基本可以走直线。

int value1=180; //右侧电机速度
int value2=145; //左侧电机速度
int GP2D12 = 0;//把夏普GP2D12红外测距传感器连接在模拟量端口0
int val;   //存储从GP2D12红外测距传感器读到的值     
float distance_float;//存储由传感器读取值,通过算式处理后的浮点型距离值
int randNumber;  //随机数变量

//初始化程序        
void setup() 
{
  //给控制电机的各数字接口设置输入输出状态  
   pinMode(M_right, OUTPUT);
   pinMode(E_right, OUTPUT);
   pinMode(M_left, OUTPUT);
   pinMode(E_left, OUTPUT); 
}

void advance()//小车前进
{
     digitalWrite(M_right,LOW);
     analogWrite(E_right,value1);
     digitalWrite(M_left,HIGH);
     analogWrite(E_left,value2);
}
void back()//小车后退
{
     digitalWrite(M_right,HIGH);
     analogWrite(E_right,value1);
     digitalWrite(M_left,LOW);
     analogWrite(E_left,value2);
}
void left()//小车左转
{
     digitalWrite(M_right,HIGH);
     analogWrite(E_right,value1);
     digitalWrite(M_left,HIGH);
     analogWrite(E_left,value2);
}
void right()//小车右转
{
     digitalWrite(M_right,LOW);
     analogWrite(E_right,value1);
     digitalWrite(M_left,LOW);
     analogWrite(E_left,value2);
}
void Stop()//小车停止
{
     digitalWrite(E_right, LOW); //右电机停
     digitalWrite(E_left, LOW); //左电机停
}        

//主程序
void loop() {
  //读取GP2D12红外测距传感器模拟量数据
  val = analogRead(GP2D12); 
  //通过以下算式,把传感器读取值处理成浮点型距离值
   distance_float=2547.8/((float)val*0.49-10.41)-0.42;    
   //如果小车距离障碍物大于20cm,则小车前进,直到小于20cm
   //如果障碍物距离很远,算式计算后,会出现负值,所以距离值为负,
   //小车前行。
   if(distance_float>20||distance_float<0)
   {  
       advance(); //前进
   }
  //如果小车距离障碍物小于20cm
   if(distance_float<=20 && distance_float>0)
     {       
       back();
       delay(1000);//后退,1s
       randNumber = random(10);
       //随机向左或者向右转动,0.8s
       if(randNumber<5)
       {
         right();//向右转动,0.8s
         delay(800);
       }
       else
       {
         left();//向左转动,0.8s
         delay(800);
       }       
     }    
 }

四、结束语

    MakeBlock金属机器人构建平台,我认为有三点好处:1、强度和刚度高,不容易出现由于刚度不足,而出现传动链“嘎嘎嘎”作响,不给力的现象;2、机器人的结构规模可以做大,方便向工业级机器人靠拢;3、由于金属更具“机械”特征,所以往往容易被“专家”们认可,由此可以摆脱被他们戏说成“玩具”的尴尬,这样更容易在高校普及。下图是MakeBlock在清华大学工程班上的教学实践场景。


     我业余时间搞创客制作已经三年了,期间必须在网络上收集资料,同时看到了很多先进国家的创客资讯,了解到了创客的历史、现状和未来,目前创客们正在自己动手把虚拟世界的梦想变成物理世界的现实。人们不会屈服于海量生产的大企业和腐朽的金融资本,他们可以自己利用电脑绘制CAD文件,通过桌面数字化加工设备,制作出个人化的产品,或者利用“云工厂”获得所需的零部件,组装产品。如果需要更多,还可以利用国内外的众筹平台,筹得资金,通过外包生产和淘宝分销他们的创意产品,最后把产品分享给“眼光独到”的客户群。随着个人创客运动的繁荣,生产相关工具和零部件的“硬件”公司将迎来了创业的春天,年轻的MakeBlock团队就在其中。