找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 9942|回复: 6

Arduino与LEGO结合下的自动栏杆

[复制链接]
发表于 2012-2-12 16:20:01 | 显示全部楼层 |阅读模式
全景图.jpg    
   看到街边停车场的自动栏杆随轿车的进出自动升降,于是前去观察,一上一下的,蛮有意思,想想,是否可以做个原型产品娱乐下,所以我就制作了这个Arduino与LEGO结合下的自动栏杆。
    这个作品的工作过程是:当红外传感器(图中黄色圆柱状器件)检测到小车到达栏杆前方,栏杆自动升起打开,并保持打开状态一小会,小车通过栏杆处后,栏杆会放下关闭。看看视频:

    判断轿车是否到达栏杆跟前,依靠下图所示红外测距开关传感器,这个传感器的三根线,我把它们接到DFRobot公司的Arduino Xbee传感器扩展板V5 的数字端口5上,黄线接在端口的D引脚,红线接在端口的VCC引脚,绿线接在端口的GND引脚。这个红外传感器的后端有个小旋钮,可以用“一字起”工具旋转,以调节测量距离,我通过调节,把测量距离设为15厘米左右。如果在15厘米内检测到障碍物,则发低电平,否则为高电平。


    Arduino Xbee传感器扩展板V5如图:

    完成作品工作过程的Arduino程序:(有详细注释)
/*当红外传感器检测到小车到达栏杆前方,
栏杆自动升起打开,并保持打开状态一小会,
小车通过栏杆处后,栏杆放下关闭*/
#include <Servo.h> //声明伺服马达函数库
Servo myservo;  // 定义伺服马达对象
int IR=5;   //红外传感器连在数字端口5
int IR_State=0;// 红外传感器状态
int flag=0; //栏杆打开或者关闭的标志
//初始化
void setup()
{
  
  pinMode(IR,INPUT); //设置与红外传感器相连的数字端口5为输入端口
   myservo.attach(9);  //初始化9号引脚来控制马达                     
}
//循环执行主程序中的指令
void loop()
{
  //如果被测物体在设定距离内,红外传感器状态为低电平
  IR_State=digitalRead(IR); //读取红外传感器的状态
  //如果如果被测物体在设定距离内,并且栏杆处于关闭状态
  if(IR_State==LOW && flag==0)
  {
    myservo.write(0);     // 启动伺服电机正转
    delay(6000);             // 等待6s,让栏杆打开到位
    flag=1; //标志栏杆处于打开状态
     myservo.write(93);  //伺服电机停止
     delay(4000);  //让栏杆保持打开状态4s
  }
  //如果如果被测物体在设定距离外,并且栏杆处于打开状态
  if(IR_State==HIGH && flag==1)
  {
    myservo.write(180);     // 启动伺服电机反转
    delay(5000);             // 等待5s,让栏杆关闭到位
    flag=0; //标志栏杆处于关闭状态
    myservo.write(93);  // 伺服电机停止  
  }   
}
    前段时间我写了两篇介绍新车间出品的免费Arduino图形化编程软件ArduBlock,它们是:
新车间Arduino图形化编程软件ArduBlock的介绍(上)》和新车间《Arduino图形化编程软件ArduBlock的介绍(下)》。目前新车间的这个软件已经有中文版,中文版下载网址:https://github.com/downloads/taweili/ardublock/ardublock-all.jar
。软件安装方法见《新车间Arduino图形化编程软件ArduBlock的介绍(上)》一文。    我使用了一段时间ArduBlock软件,感觉蛮好用,直观形象,编程工作仿佛变成了拼图游戏,一个个模块按照您的逻辑不断“咔咔”地拼接在一起,如果拼接能严丝合缝,就不用担心出现语法错误,但编程逻辑错误,就看您是否经过了适当的编程训练了。
   现在我用中文版ArduBlock软件编写图形化的程序,注意看,模块标识和程序注释都是简体中文啊。(点击图片,放大看)


   新车间是一家位于上海长宁区安化路76号的创客空间,网址:http://xinchejian.com/?lang=zh,看视频,了解新车间的情况。

    自动栏杆作品的机械部分是用乐高积木搭建。对于Arduino控制器与乐高电池盒如何连接,舵机与乐高结构件如何连接,可以看《把Arduino与乐高结合起来做创意作品》一文的介绍
。至于自动栏杆主体部分的搭建,可通过下面3张图片有所了解。







    乐高机械作品的搭建是否成功主要看传动链的设计是否合理可行,从舵机旋转到栏杆升降,这条传动链里一共有三个机构,以动力的传动方向来看,它们分别为皮带轮机构、蜗轮蜗杆机构和四杆机构。所以一个小小的自动栏杆原型作品,不仅要选择电子器件,编写和调试程序,还要完成机构的设计与制作。



如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2012-2-12 16:48:52 | 显示全部楼层
很厉害,要是栏杆能放平就更好了
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-2-12 16:58:23 | 显示全部楼层
那个是360舵机么?
能让舵机和乐高兼容真不容易啊!
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-2-13 10:15:22 | 显示全部楼层
传感器是Bool量的,用起来很方便,而且也很可靠。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-2-13 13:10:00 | 显示全部楼层
好象还用到了模型上用的标准舵机?请问舵机也是接在NXT上控制吗?
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-2-13 18:31:40 | 显示全部楼层
强!
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-4-18 21:02:30 | 显示全部楼层
很专业的东西,和乐高结合起来就太完美了。。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2024-5-24 09:32 , Processed in 0.099427 second(s), 25 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表