案例1:迷你交通信号灯.doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

案例简介:本次课程介绍一个单向交通信号灯模型的制作,实现红、黄、绿三盏灯间隔一定的时间分别亮灭。

技术要领:Sketchup设计制作信号灯的机械结构件;

????????????3D结构件的打印与安装;

????????????物理电子电路连接结合与焊接;

????????????Arduino编程控制功能实现。

器材列表:

????工具:Overlordpro3D打印机

????????????焊笔

????????????焊丝

????材料:PLA(黄、灰)

????????????LED(红、黄、绿)各1颗

????????????电阻220欧(3根)

????????????BleRomeo

????????????杜邦线(母-母)??????????

????????????????????

制作过程:

第一部分3D建模

??????本次信号灯的机械结构件包括:灯头、灯柱、底座三部分。

??????灯头:

????1.打开Sketchup软件,点击菜单相机——标准视图——顶视图,绘制一个尺寸为25,60的矩形,选择宽度的线条,右击鼠标在弹出的快捷菜单中选择拆分,段为2,如下图所示

??????2.使用直线工具沿刚拆分的中点,绘制一条直线与底线连接,如下图

??????3.选中刚绘制的中线,对其进行拆分,段为4,分别以A,B,C三点为圆心,绘制半径为2.5MM的圆,如下所示。

??????4.使用选择工具删除不需要的线段,删除后如下图所示

??????????5.使用环绕观察按钮对上图进行适当旋转,点击推拉工具对上图进行推拉操作,距离为5MM。

????????6.使用推拉工具删除圆形中的底,使其通透。如下所示

????????7.使用偏移工具,对矩形外框进行偏移操作,偏移距离为2.5。

??????????8.使用推拉工具对外框进行推拉操作,推拉距离为30,如下所示。

??9.通过旋转观察按钮调整上述形体位置,对其底部绘制半径为8的圆,再次使用推拉工具,为其底部开出一个同等大小的圆孔,如下图所示

至此灯头部分绘制完毕。

灯柱:

??????点击菜单相机——标准视图——顶视图

??????1.??用圆形工具绘制一个半径为8的圆,修改其图元信息中的段为99。

??????2.??使用偏移工具对圆进行偏移操作,向外偏移距离为2mm,向内偏移1MM,如下图所示

??????3.使用选择工具选中最内部的圆,按DEL键删除。

??????4.使用推拉工具对内环推拉操作,距离为4。

??????5.使用旋转观察按钮将上述形体翻转,发现其底部没有封闭。

????????6.使用直线工具封闭底部后,删除不必要的线段,使其成为管状。注意下图中红色箭头所指的圆环此时不要删除。

7.使用推拉工具对底部内外圆环分别进行拉伸操作,拉伸距离为50MM和5MM。拉升后效果如下图所示,完成支撑杆的设计。

????????灯座:请参照上述步骤自己设计

第二部分:电路连接

红黄绿正极分别连接数字口2,4,7

第第三部分:代码编写

voidsetup(){

??//initializedigitalpin13asanoutput.

??pinMode(2,OUTPUT);

??pinMode(4,OUTPUT);

??pinMode(7,OUTPUT);

}

//theloopfunctionrunsoverandoveragainforever

voidloop(){

??digitalWrite(2,HIGH);??//turntheLEDon(HIGHisthevoltagelevel)

??digitalWrite(4,LOW);??//turntheLEDoffbymakingthevoltageLOW

??digitalWrite(7,LOW);

??delay(10000);??????????//waitforasecond

??digitalWrite(2,LOW);??//turntheLEDon(HIGHisthevoltagelevel)

??digitalWrite(4,HIGH);??//turntheLEDoffbymakingthevoltageLOW

??digitalWrite(7,LOW);

??

文档评论(0)

晨向阳 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档