怀若谷 发表于 2020-8-11 23:11:43

快乐智造营 | 01 贪吃的小鸡

本系列教程将分享一系列基于开源硬件和激光造物的创客作品的制作过程,适合有一定基础的学习者进行综合进阶学习或者接受能力较强的初学者。每一个项目由两三个常用的传感器模块配合简短的程序、融入有趣的创意,使学习者比较轻松、全面地掌握创作制作过程中所涉及到的知识和技能,并体会到智造的乐趣。
对于年龄较低的初学者,建议先进行基于单板及板载资源的学习,本人编写过两本教材,有兴趣的朋友朋友可以点击下方链接进行了解。
》》新书推荐:《micro:bit编程入门教程》
》》新书推荐:《人工智能趣味入门:光环板程序设计》
本教程计划以Arduino为主控板,编程软件采用Mind+,激光建模软件使用LaserMaker,在学习前建议对这些硬件和软件进行一些基本了解。
Aruduino介绍可参考:https://mc.dfrobot.com.cn/thread-273351-1-1.htmlMind+软件下载和教程:http://mindplus.cc/LaserMaker软件下载和教程:https://www.lasermaker.com.cn/
本系列项目目录:快乐智造营 | 01 贪吃的小鸡
快乐智造营 | 02 抢答器
快乐智造营 | 03 电子蜡烛
快乐智造营 | 04 小夜灯
快乐智造营 | 05 台灯
快乐智造营 | 06 温度计
快乐智造营 | 07 红外感应警报器
快乐智造营 | 08 盆栽浇水提示器
快乐智造营 | 09 桌面温度计
快乐智造营 | 10 多功能测量仪
快乐智造营 | 11 遥控电风扇
快乐智造营 | 12 电子像素画板
快乐智造营 | 13 物品存放柜
快乐智造营 | 14 留言机
快乐智造营 | 15 音乐播放器
快乐智造营 | 16 智能小闹钟

1.1 项目概述图1-1
“贪吃的小鸡”,是一个趣味玩具项目。通过该项目的学习,可以掌握光线传感器和180°舵机的使用。      

项目功能:一只可爱的桌面电子鸡,静候在书桌上。当小主人休息时,可以用一些“食物”放在“盘子”里,再将“盘子”放到鸡的嘴巴下方。小鸡就会不停地去吃“食物”,直到把盘子拿开。
https://v.qq.com/x/page/l3133dfk5ww.html
演示视频


1.2 材料准备
图1-2本项目所需要的硬件材料,如图1-2所示,分别为:
1. DFRduino Uno R31块
2. IO扩展板   1块
3. 光线传感器1个
4. SG90舵机   1个   
   
*说明:DFRduino Uno R3主控板完全兼容Arduino Uno,你只需要有Arduino Uno主控板或者内核类似的主控板即可,不必和图片中的相同。你有micro:bit、掌控板之类的其他主控板,也可以制作本教材中的项目。扩展板及传感器等材料均可以使用各种渠道购买的各品牌产品。

除硬件材料外,你可能还需要椴木板、瓦楞纸等材料以及一些工具,请按需准备,本教材中不会列出。


1.3传感器、执行器的使用
1.3.1光线传感器


图1-3

光线传感器,也叫亮度传感器,用来对环境光线的强度进行检测,广泛应用于手持设备、感应灯具等产品中。其属于模拟输入设备,在Arudino平台上,其会将感应到的光线转化为模拟信号传输给主控板,数值范围为0~1024。

在与Arduino Uno主控板连接时,需要连接到模拟引脚(A0~A5)。连接示例如图1-3所示,GND、VCC、数据三个引脚要分别对应。

*建议:大家购买材料时,选择引脚按GND-VCC-SIG顺序排列的传感器模块,这样很容易与扩展板上的引脚对应,可以直接使用3P的线进行连接。

图1-4
在编程软件Mind+中,其对应的积木为【读取模拟引脚(A0)】,如图1-4所示。我们可以编写一段程序,将读取到光线传感器的输入值通过串口打印的方式显示出来。程序及输出结果,如图1-5所示。


串口打印功能使用可参见:         》》传感器输入值的三种测定方法


图1-5
根据测试结果,可以进行定性判断:到底是光线强时数值大、光线弱时数值小,还是相反的情况。这两种情况都有可能,所以拿到新的材料时,一定要进行测试,再动手制作项目,希望大家养成这个习惯。目前市场上大部分的光线传感器,采用的是光线强则数值大的设计。1.3.2 SG90舵机
图1-6
SG90舵机,是创客制作中常用的伺服电机。其属于输出设备,在编程软件中一般归于“执行器”模块。我们可以通过程序指令控制舵机在的转轴在0°~180°范围内旋转。


在与Arduino Uno主控板连接时,可以连接到除D0、D1外的任一引脚(不过有时也要视编程软件的支持而定)。连接示例如图1-6所示,GND、VCC、数据三个引脚要分别对应。SG90 舵机的线一般设计为黄红棕三色,红色为电源正极(VCC),棕色为电源负极(GND),黄色为信号线。

图1-7
在编程软件Mind+中,其对应的积木为【设置(11)引脚伺服舵机为(90)度】,如图1-7所示;需到【扩展】中的【执行器】下找到【舵机模块】,然后选择添加才会在积木区出现。通过设置引脚和角度数值可以控制舵机的运转方向及角度,示例程序如图1-8所示,该程序执行的结果是将接在引脚D2上的舵机的角度置于60度。
图1-8

1.4 项目制作
1.4.1 硬件搭建


将光线传感器连接到扩展板的A0引脚、舵机连接到D2引脚,如图1-9所示。

图1-9
1.4.2 编写程序
1.4.2.1 测试舵机
图1-10
编写如图1-10所示的程序,上传到设备,将舵机的角度置于90度。安装上舵臂,用螺丝紧固,如图1-11所示。

图1-11编写如图1-12所示的程序,上传到设备,观察并记录舵臂旋转的方向,为后面编写项目程序做准备。通常,当舵臂面向我们时,我们观察到的旋转方向应为逆时针方向,但是这也不是绝对的,希望使用前严格按这个方法做测试工作。

图1-121.4.2.2 编写程序
编程思路:当读取到的光线传感器的数值较小时(相当于食物盘放在了鸡嘴下方),让舵机在两个角度之间不停旋转(鸡的头部在上下运动,模拟鸡进食的动作),否则停留在某一个角度(鸡昂起头来)。
根据编程思路,编写出程序,示例程序如图1-13所示。程序中的参数,均需要根据实际测试的结果进行修改优化。编好程序后,上传到设备,进行初步的测试。
图1-131.4.3 设计切割外型
使用激光建模软件进行外型的设计,设计图如图1-14所示。
图1-14
图纸设计好后,使用激光切割机进行切割。切割好的木板件如图1-15所示。
图1-151.4.4 装配调试1.4.4.1 组装
将切割好的木板和硬件进行组装,步骤如图1-16、图1-17所示。
图1-16
      1. 组装好底盒的5块木板      2. 将主控板固定在底板上      3. 将光线传感器安装到底盒的顶板反面      4. 将舵机线拔下,安装到“小鸡”身体上      5. 使用热熔胶将“小鸡”头部部件粘到舵机的舵臂上      6. 将“小鸡”安装到背板上图1-17      7. 将舵机线穿过底盒后板的预留孔,重新插上      8. 盖上底盒的盖板      9. 使用榫卯连接,将背板固定在顶板上      10. 将圆环和圆形零件叠加粘贴,做成一个喂食盘
1.4.1.2 调试安装好后,通电测试。可以对触发条件(光线传感器模拟值大小)进行调整,也可以对舵机的角度进行调整,以达到比较好的运行结果。

1.5 思维拓展
在学习了更多的传感器后,我们可以回过头来改进这个项目,赋予这只小鸡更多的本领,比如发出叫声等。我们还可以将这个作品与笔筒、台灯等用品结合起来。你还有什么好的想法呢?
你能不能基于今天学习的硬件材料,设计出不一样的作品呢?

hnyzcj 发表于 2020-8-12 05:49:53

小鸡画的不错,啊哈哈哈

怀若谷 发表于 2020-8-12 07:28:45

hnyzcj 发表于 2020-8-12 05:49
小鸡画的不错,啊哈哈哈

感谢版主夸奖

发表于 2020-8-12 15:59:03

一个简单又好玩的作品,赞一个!

发表于 2020-8-12 16:02:27

诩 发表于 2020-8-12 15:59
一个简单又好玩的作品,赞一个!

而且鸡的外形也画得很好,我都做不出来{:6_215:}@怀若谷

gray6666 发表于 2020-8-12 18:07:36

好棒,赞一个

云天 发表于 2020-8-13 14:19:37

简单,有趣的项目

佛系唐法官 发表于 2020-8-13 18:20:01

既简单又有趣

怀若谷 发表于 2020-8-13 22:30:31

诩 发表于 2020-8-12 16:02
而且鸡的外形也画得很好,我都做不出来@怀若谷

不需要全部画,网上下载一张小鸡简笔画的图片,进行一些修改就可以了。

发表于 2020-8-14 22:55:27

怀若谷 发表于 2020-8-13 22:30
不需要全部画,网上下载一张小鸡简笔画的图片,进行一些修改就可以了。 ...

哦哦,这样啊。。。
页: [1]
查看完整版本: 快乐智造营 | 01 贪吃的小鸡