教小朋友们制作一条会动的纸片鱼

2015-12-048.7万
AI 快速预览详细 收起
本文介绍了如何使用Bluno Beetle控制器、舵机、传感器等组件制作一条会动的纸片鱼。首先准备必要的材料,包括电池槽、扩展板、舵机、LED灯和传感器。然后按照模板裁剪纸盒,制作鱼头、鱼尾和鱼身,并安装直角支撑。接下来将各个组件固定在合适的位置,连接信号线和电源线。最后编写程序,调整舵机角度,使小鱼能够摇头、摆尾和游动。这个项目不仅锻炼了孩子的动手能力,还激发了他们的创造力和逻辑思维。


小鱼动起来:


一.首先看一下纸片小鱼的庐山真面目!(整个制作过程遵循的原则是:即插即用,焊接最少,方便拆卸和更换组件,能不剪线就不剪!)


教小朋友们制作一条会动的纸片鱼图5教小朋友们制作一条会动的纸片鱼图4
正面和背面(为什么背面没有做完整的外壳将所有的接线隐藏??? 首先,小鱼的名字叫做:纸片鱼 。然后,正面看一眼看去是一条鱼,背面看就能很清楚的知道小鱼的所有结构)

背面连接线说明:

   小鱼组件                                     beetle扩展板接口
控制鱼头的舵机线       -------->                D5
控制鱼尾的舵机线       -------->                D4
传感器                        -------->                 D3
LED小灯负极              -------->                 D2
电池正负极                 -------->               接线柱
舵机和传感器正负极   -------->     相应信号脚的正负极


主要动作:当检测到有人从旁边经过的时候,小鱼就会高兴的亮起眼睛,并且随机做出摇头,摆尾,游动三个动作中一个(怎么玩就看个人脑洞了)

二:材料加工过程

2.1 首先准备必要的制作材料:

电池槽,新版bluno beetle扩展板,bluno beetle,四节电池,舵机,LED,人体红外热释电传感器模块。(排名不分先后哦)


一个硬纸盒,偏硬的最好!鱼的身体就靠它了,我这里用的大小25*15就够了,喜欢吃鱼的可以做大一点哦!

2.2 开工制作:
没有艺术细胞,偷懒直接在网上download一条鱼,打印出来! 等下按照这个模板裁剪纸盒就行了。(鱼不能太小,小了就藏不住舵机,电池和主控板了)


A4纸打印的一条鱼!


把小鱼从A4纸上面裁剪下来,然后拓到纸板上,接下来沿着画线的地方裁剪!



把裁剪下来的鱼分成三段:鱼头,鱼尾和鱼身,中间的鱼身后面主要用来安放舵机,电池和主控板。

纸片鱼是一个平面的,舵机怎样才能控制鱼头和鱼尾动作了???

这个时候还要做两个直角支撑,用来连接鱼头鱼尾和舵机,材料依旧是刚才没用完的纸盒,看下连接效果!





直角用纸盒的边角做,这样省事,为了直角足够牢固,另外裁剪两个1.5*1.5cm左右的矩形纸片,按照上面的照片用热熔胶固定即可,很牢固!

接下来考虑后面我们需要固定主板,舵机和传感器等,这些组件该怎么摆放呢???
这里的方案是:除了人体红外热释电传感器和LED小灯放在鱼头部位外,其他所有的的组件都放在中间鱼生身部位,这样做能使整个鱼的重心在中间位置,在后面做个支架摆放的时候会比较稳定。
先来看下组件的基本布局!


组件整体布局图!


在确定组件的布局后,会发现中间的鱼身部位会对舵机的舵盘摆动有阻碍,所以在纸片挡住舵机舵盘摆动的位置需要剪一个槽口(鱼身最上面的两个槽口),这样还不够,除了这两个位置,舵机安装固定螺丝用的“耳朵”也会对运动中的鱼头和鱼尾有阻碍,所以在鱼头,鱼尾和鱼身的相同位置剪一个槽口(鱼身下面的两个槽口),在前面的布局中,传感器放在鱼头部分,这是为了做一个类似鱼鳃的效果,这个传感器是立体的,所以在鱼头部位的下面还需要剪一个槽口。让传感器能够放平。当槽口都剪好后再在合适的鱼头和鱼尾合适的位置打几个固定孔就好了(用来固定直角支撑和传感器)

纸片部分的准备差不多OK了,虽然尽量避免剪线和焊接,但是还有个三个地方是必须要处理一下的!


教小朋友们制作一条会动的纸片鱼图1
beetle和新版beetle扩展板的焊接(新版扩展板就快上线销售了哦,很方便哦,需要注意的是接线柱接的是5V电源,最好不要接超过6V以上的哦,切记,切记,切记!),焊接好后舵机,传感器和LED小灯的信号线和电源线就可以直接插在扩展板上了



电池槽的连线,电池是串联在一起的,需要将一个电池槽的正极和另一个电池槽的负极连接起来,可以焊接也可以用黑胶带缠绕。


猜猜这是干嘛的?小鱼的眼睛是一个LED小灯,在5V电压下工作不接电阻很快小鱼就瞎了,那就不好了,在这根线的中间串接一个1K左右的电阻,可以焊接也可能用胶带缠绕。最终这跟线一端连接在扩展板数字口D2的正5V端,一端连接LED的正极。

三.组装过程
前期准备工作到这个时候基本都做完了,东西很少,但是做起来要有耐性,接下来进入组装环节!

3.1 鱼头的组装

鱼头部位需要放LED和传感器模块,安装顺序是先按装LED,再用双面胶粘贴直角支撑,最后安装传感器模块。这样做直角支撑能压紧LED,传感器模块的固定又能压紧直角支撑,最终就会比较牢固。再将连接头部和舵机的舵盘用热熔胶水平固定在直角支撑上面,至此鱼头部安装OK!

3.2 鱼尾的组装

前面介绍怎么连接鱼头鱼尾的时候已经见过这条鱼尾巴了哈!鱼尾部没有传感器,固定好直角支撑就行了,先用双面胶固定,再用螺丝固定,再将连接尾部和舵机的舵盘用热熔胶水平固定在直角支撑上面,至此鱼尾部安装OK!

3.3 鱼身的组装

前面在介绍组件布局的时候也见过这张图片了,下面介绍一下怎么组装,中间鱼身的组装工作稍多,也很容易的:
首先,安装舵机,舵机背面贴上双面胶后粘在纸板上固定住,再在舵机底部的纸板上打两个固定孔,用来安装塑料支撑柱(2.6cm),一方面支撑舵机,防止舵机在运动中由于双面胶没有粘牢而下滑,另一方面后面需要在舵机上面放电池,支撑柱在小鱼立起来的时候起到支撑电池作用。舵机和支撑住安装好后,放上焊好beetle的扩展板,扩展板上面有四个固定孔,我们用最上面的两个孔将扩展板固定在合适的位置(合适的位置的原则是:不要露出来,不能阻碍舵机舵盘的转动)。

3.4 安装电池

四节7号电池放到两个电池槽里面,放在背面贴上双面胶,按照图片的位置摆放到舵机上面,但是这样摆放在小鱼立起来的时候电池很容易掉下来,怎么办呢???(看到固定柱的连个螺丝孔了吧,该他派上用场了)



剪一块和两个电池盒一样大小的硬纸板,在下面打两个孔,用螺丝固定在电池盒上面,这个时候电池就不会再小鱼立起来的时候掉下来了,只要硬纸板剪的和两个电池盒一样大,主板接口是不会被遮住的!至此鱼身组装OK!

3.5 鱼头鱼尾和鱼身的拼接



连接好舵机,传感器的信号线和电源线,感觉后面的线有点杂乱,可以用蛇形线包裹或者胶带粘在后面,还可以重新将线做短一点,那样会更好看。编写程序,将舵机调整到90度,然后将鱼头和鱼尾的舵盘固定在舵机上,尽量让鱼头,鱼身,鱼尾从一侧看处于同一个水平面就行了,如果安装好之后还有偏差可以在程序中调节舵机中值让小鱼的身体尽可能保持在同一平面。


四:底座的制作
纸片鱼已经制作完成,但是不能让它一直躺着啊,这里在制作一个底座,首先看一下底座长什么样!

教小朋友们制作一条会动的纸片鱼图3教小朋友们制作一条会动的纸片鱼图2




制作材料(我用了较硬的纸板做,也可以用制作小鱼剩下的纸盒来做)



剪三快纸片,16*9.6cm就行,为什么这个尺寸呢???
看到上面的四条竖线了吗,这四条竖线的位置基本上都在每张纸片的黄金分割比的位置,为了最终小鱼摆放在支架上看起来比较舒服,将上面两个纸片用热熔胶固定在下面纸片黄金分割比的位置,再在上面纸片黄金分割比的位置剪两个槽口,将纸片鱼插在上面就行了。
(为什么用上面的尺寸? 答:因为这样大小看起来和小鱼比较搭配和稳定,另外容易计算黄金分割比的位置)


最终效果图
程序:
  1. #include<Arduino.h>
  2. #include<Servo.h>
  3. #include<DFRfishaction.h>    //编写了一个小鱼动作的类库
  4. DFRfishaction fishaction;    //用小鱼类库创建一个类
  5. int irPin = 3;               //人体红外热释电传感器信号脚
  6. int ledPin = 2;              //led小灯信号脚
  7. static unsigned long fishActionTime  = 0;   //控制小鱼动作的时间变量
  8. uint8_t fishActionMode = 0;                 //小鱼是否动作的标志
  9. static uint8_t fishServo = 0;               //判断这个值得范围确定小鱼的动作模式
  10. void actionMode()                          //中断处理函数
  11. {
  12.   fishActionMode = 1;                      //中断触发,小鱼进入运动模式
  13. }
  14. void setup() {                             //初始化工作
  15.   fishaction.setup();
  16.   fishActionTime  = 0;
  17.   pinMode(irPin,INPUT);
  18.   pinMode(ledPin,OUTPUT);
  19.   digitalWrite(ledPin,HIGH);
  20.   attachInterrupt(1, actionMode, RISING);        //中断定义和使能
  21.   //Serial.begin(9600);
  22. }
  23. void loop() {
  24. if(fishActionMode)                            //进入运动模式并且开始计时
  25. {
  26.     fishActionMode = 0;
  27.     fishaction.servoAttach();
  28.     fishActionTime = millis();
  29.     fishServo = random(100);
  30.     digitalWrite(ledPin,LOW);
  31. }
  32. if(millis() - fishActionTime < 5000)             //小鱼运动5秒
  33. {
  34.     if(fishServo <= 25)
  35.     fishaction.frontAction(2,6);    //25%的可能性是摇头
  36.     else if(fishServo >= 75)
  37.     fishaction.rearAction(2,6);      //25%的可能性是摆尾
  38.     else
  39.     fishaction.forwardAction(2,2,1);  //50%的可能性是游动
  40. }
  41. else
  42. {
  43.     digitalWrite(ledPin,HIGH);
  44.     fishaction.stopAction();                   //小鱼停止运动后舵机摆正并且释放舵机引脚控制
  45.     delay(200);
  46.     fishaction.servoDetach();
  47. }  
  48. }
复制代码
https://mc.dfrobot.com.cn/forum.php?mod=attachment&aid=MjE3NjJ8MzI2ZjExZTU4MWUwZmE5YWI3ODkyZmZkYzhkYzk5OGJ8MTc4ODMzMDcyMg%3D%3D&request=yes&_f=.ino
教小朋友们制作一条会动的纸片鱼图5

上面程序需要的一个库文件:
https://mc.dfrobot.com.cn/forum.php?mod=attachment&aid=MjE3NjN8ODUyNGM3MGQ3YzQ5NjkyMDU0NDY5MzFjNzIyMmRkMWR8MTc4ODMzMDcyMg%3D%3D&request=yes&_f=.zip
下载附件DFRfishaction.zip

因为论坛有小伙伴对这个小鱼感兴趣,下面是制作小鱼所用到的主要组件的连接地址:(电池槽和Beetle扩展板暂未上线,上线后再提供连接地址:))
Bluno Beetle控制器

TowerPro SG90舵机

人体红外热释电运动传感器

5毫米LED(还可以用RGB,灯光效果更给力)

3.jpg (53.61 KB, 下载次数: 13218)

STEM教育 · 教小朋友们制作一条会动的纸片鱼_image_3.webp

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(19)
派大星ym
派大星ym
。。。。。
派大星ym
派大星ym
学习了学习了
20060606
20060606
好创意,赞一个
bigdulldog
bigdulldog
要是结构能换成3d打印的就好了
qing1987
qing1987
牛啊
qq865650214158
qq865650214158
作者
回复qing1987
小玩具,都可以做出来的
孙毅
孙毅
哇塞,牛!有想法。
赶紧把,做一个“立体的”雨啊。。。加油
qq865650214158
qq865650214158
作者
回复孙毅
我改玩虫子了
zoe
zoe
小鱼动的那一刻 肾上腺素分泌过剩 整个人都在欢呼:lol
qq865650214158
qq865650214158
作者
回复zoe
哈哈,喜欢就好
phoebe.wang40
phoebe.wang40
教程好详细,赞!
free
free
非常棒赞
qq865650214158
qq865650214158
作者
回复free
谢谢小伙伴
dsweiliang
dsweiliang
涂点颜色就更好了
qq865650214158
qq865650214158
作者
回复dsweiliang
是的,可惜美术没学好
爱国者一号
爱国者一号
在网上没找到卖bluno beetle扩展板的
qq865650214158
qq865650214158
作者
回复寻找马德里
很高兴你能喜欢
寻找马德里
寻找马德里回复qq865650214158
十分感谢,的确想做一个,等着扩展板上市统一买一波儿把,很喜欢您的设计!!
共8条回复,已加载2条,点击查看更多共8条回复,已加载全部
hnyzcj
hnyzcj
我一开始以为激光切的呢
qq865650214158
qq865650214158
作者
回复hnyzcj
我用小刀在那划啊,划啊,划啊,划..................
爱国者一号
爱国者一号
太牛了
qq865650214158
qq865650214158
作者
回复爱国者一号
我叫菜鸟
社区活动向导
社区活动向导
robopeak激光雷达鱼?还少一个激光雷达避障的
qq865650214158
qq865650214158
作者
回复社区活动向导
:'(不会玩激光雷达
FBI-C
FBI-C
超赞,我在想带个塑胶套套是否就可以下水游泳了?
qq865650214158
qq865650214158
作者
回复FBI-C
要做防水的结构还需要重新设计,而且我觉得两个舵机不够...
刹那ZF清英
刹那ZF清英回复FBI-C
:lol哇哦 鱼的造型是不是可以选择一些魁梧一点的 比如小海豚嘛,其实我觉得鲨鱼最好了,要是能设计摇动并且嘴巴张合岂不是很好咩
hnyzcj
hnyzcj
LZ的手艺太赞了
qq865650214158
qq865650214158
作者
回复hnyzcj
我要向你这种骨灰级的手艺学习
heinau
heinau
小鱼扭的好灵活呀哈哈哈哈,头尾的节奏再调整调整就更好了~
鱼头,鱼尾,鱼身……看着就肚子饿了
qq865650214158
qq865650214158
作者
回复heinau
一眼就看出来头尾动作有点不协调,厉害,找个时间调整下,还有,我不是故意让你肚子饿的哦
丄帝De咗臂
丄帝De咗臂
如果把线什么的弄成鱼刺的形状,效果更棒了
qq865650214158
qq865650214158
作者
回复丄帝De咗臂
好建议:)
qq815076543322
qq815076543322
不错 觉得应该可以把整个鱼做一个完整的 把器材都融入进去 更逼真
qq815076543322
qq815076543322回复qq865650214158
评论内容
qq865650214158
qq865650214158
作者
回复qq815076543322
是的,那样就会是一个立体的鱼,更逼真一点。现在做的是一个平面的,为的是能从背面清楚的看到鱼的结构,所以鱼的组件基本都能看见。
- 没有更多了 -