教小朋友们制作一条会动的纸片鱼
本帖最后由 粒子 于 2022-1-5 16:49 编辑小鱼动起来:
一.首先看一下纸片小鱼的庐山真面目!(整个制作过程遵循的原则是:即插即用,焊接最少,方便拆卸和更换组件,能不剪线就不剪!)
正面和背面(为什么背面没有做完整的外壳将所有的接线隐藏??? 首先,小鱼的名字叫做:纸片鱼 。然后,正面看一眼看去是一条鱼,背面看就能很清楚的知道小鱼的所有结构)
背面连接线说明:
小鱼组件 beetle扩展板接口
控制鱼头的舵机线 --------> D5
控制鱼尾的舵机线 --------> D4
传感器 --------> D3
LED小灯负极 --------> D2
电池正负极 --------> 接线柱
舵机和传感器正负极 --------> 相应信号脚的正负极
主要动作:当检测到有人从旁边经过的时候,小鱼就会高兴的亮起眼睛,并且随机做出摇头,摆尾,游动三个动作中一个(怎么玩就看个人脑洞了)
二:材料加工过程
2.1 首先准备必要的制作材料:
https://mc.dfrobot.com.cn/data/attachment/album/201512/03/230149fvvqfhhkcvvv8vrv.jpg
电池槽,新版bluno beetle扩展板,bluno beetle,四节电池,舵机,LED,人体红外热释电传感器模块。(排名不分先后哦)
https://mc.dfrobot.com.cn/data/attachment/album/201512/03/225919kjyz99avrwqzkjvj.jpg
一个硬纸盒,偏硬的最好!鱼的身体就靠它了,我这里用的大小25*15就够了,喜欢吃鱼的可以做大一点哦!
2.2 开工制作:
没有艺术细胞,偷懒直接在网上download一条鱼,打印出来! 等下按照这个模板裁剪纸盒就行了。(鱼不能太小,小了就藏不住舵机,电池和主控板了)
https://mc.dfrobot.com.cn/data/attachment/album/201512/03/230201f3wsmwyoxeknjo0e.png
A4纸打印的一条鱼!
https://mc.dfrobot.com.cn/data/attachment/album/201512/03/225856d9khmk1rnptpzrym.jpg
把小鱼从A4纸上面裁剪下来,然后拓到纸板上,接下来沿着画线的地方裁剪!
https://mc.dfrobot.com.cn/data/attachment/album/201512/03/225906web996irkjbku746.jpg
把裁剪下来的鱼分成三段:鱼头,鱼尾和鱼身,中间的鱼身后面主要用来安放舵机,电池和主控板。
纸片鱼是一个平面的,舵机怎样才能控制鱼头和鱼尾动作了???
这个时候还要做两个直角支撑,用来连接鱼头鱼尾和舵机,材料依旧是刚才没用完的纸盒,看下连接效果!
https://mc.dfrobot.com.cn/data/attachment/album/201512/03/231350wzggorwzctzgj81v.jpg
https://mc.dfrobot.com.cn/data/attachment/album/201512/03/231314v2nvgqmqejezlix6.png
直角用纸盒的边角做,这样省事,为了直角足够牢固,另外裁剪两个1.5*1.5cm左右的矩形纸片,按照上面的照片用热熔胶固定即可,很牢固!
接下来考虑后面我们需要固定主板,舵机和传感器等,这些组件该怎么摆放呢???
这里的方案是:除了人体红外热释电传感器和LED小灯放在鱼头部位外,其他所有的的组件都放在中间鱼生身部位,这样做能使整个鱼的重心在中间位置,在后面做个支架摆放的时候会比较稳定。
先来看下组件的基本布局!
https://mc.dfrobot.com.cn/data/attachment/album/201512/03/230051xbavemt5vm4mv4u4.jpg
组件整体布局图!
https://mc.dfrobot.com.cn/data/attachment/album/201512/03/230026wcg4cgegcjccghby.jpg
在确定组件的布局后,会发现中间的鱼身部位会对舵机的舵盘摆动有阻碍,所以在纸片挡住舵机舵盘摆动的位置需要剪一个槽口(鱼身最上面的两个槽口),这样还不够,除了这两个位置,舵机安装固定螺丝用的“耳朵”也会对运动中的鱼头和鱼尾有阻碍,所以在鱼头,鱼尾和鱼身的相同位置剪一个槽口(鱼身下面的两个槽口),在前面的布局中,传感器放在鱼头部分,这是为了做一个类似鱼鳃的效果,这个传感器是立体的,所以在鱼头部位的下面还需要剪一个槽口。让传感器能够放平。当槽口都剪好后再在合适的鱼头和鱼尾合适的位置打几个固定孔就好了(用来固定直角支撑和传感器)
纸片部分的准备差不多OK了,虽然尽量避免剪线和焊接,但是还有个三个地方是必须要处理一下的!
beetle和新版beetle扩展板的焊接(新版扩展板就快上线销售了哦,很方便哦,需要注意的是接线柱接的是5V电源,最好不要接超过6V以上的哦,切记,切记,切记!),焊接好后舵机,传感器和LED小灯的信号线和电源线就可以直接插在扩展板上了
https://mc.dfrobot.com.cn/data/attachment/album/201512/03/225937odoqyydfxfuip9ed.jpg
电池槽的连线,电池是串联在一起的,需要将一个电池槽的正极和另一个电池槽的负极连接起来,可以焊接也可以用黑胶带缠绕。
https://mc.dfrobot.com.cn/data/attachment/album/201512/03/231340bo49zfc15e1xo24l.jpg
猜猜这是干嘛的?小鱼的眼睛是一个LED小灯,在5V电压下工作不接电阻很快小鱼就瞎了,那就不好了,在这根线的中间串接一个1K左右的电阻,可以焊接也可能用胶带缠绕。最终这跟线一端连接在扩展板数字口D2的正5V端,一端连接LED的正极。
三.组装过程
前期准备工作到这个时候基本都做完了,东西很少,但是做起来要有耐性,接下来进入组装环节!
3.1 鱼头的组装
https://mc.dfrobot.com.cn/data/attachment/album/201512/03/231329s0yphzyk0poyspyp.jpg
鱼头部位需要放LED和传感器模块,安装顺序是先按装LED,再用双面胶粘贴直角支撑,最后安装传感器模块。这样做直角支撑能压紧LED,传感器模块的固定又能压紧直角支撑,最终就会比较牢固。再将连接头部和舵机的舵盘用热熔胶水平固定在直角支撑上面,至此鱼头部安装OK!
3.2 鱼尾的组装
https://mc.dfrobot.com.cn/data/attachment/album/201512/03/231350wzggorwzctzgj81v.jpg
前面介绍怎么连接鱼头鱼尾的时候已经见过这条鱼尾巴了哈!鱼尾部没有传感器,固定好直角支撑就行了,先用双面胶固定,再用螺丝固定,再将连接尾部和舵机的舵盘用热熔胶水平固定在直角支撑上面,至此鱼尾部安装OK!
3.3 鱼身的组装
https://mc.dfrobot.com.cn/data/attachment/album/201512/03/230051xbavemt5vm4mv4u4.jpg
前面在介绍组件布局的时候也见过这张图片了,下面介绍一下怎么组装,中间鱼身的组装工作稍多,也很容易的:
首先,安装舵机,舵机背面贴上双面胶后粘在纸板上固定住,再在舵机底部的纸板上打两个固定孔,用来安装塑料支撑柱(2.6cm),一方面支撑舵机,防止舵机在运动中由于双面胶没有粘牢而下滑,另一方面后面需要在舵机上面放电池,支撑柱在小鱼立起来的时候起到支撑电池作用。舵机和支撑住安装好后,放上焊好beetle的扩展板,扩展板上面有四个固定孔,我们用最上面的两个孔将扩展板固定在合适的位置(合适的位置的原则是:不要露出来,不能阻碍舵机舵盘的转动)。
3.4 安装电池
https://mc.dfrobot.com.cn/data/attachment/album/201512/03/230017s8ogjog0jqirugsn.jpg
四节7号电池放到两个电池槽里面,放在背面贴上双面胶,按照图片的位置摆放到舵机上面,但是这样摆放在小鱼立起来的时候电池很容易掉下来,怎么办呢???(看到固定柱的连个螺丝孔了吧,该他派上用场了)
https://mc.dfrobot.com.cn/data/attachment/album/201512/03/230058k26onf9p66cpvh06.jpg
剪一块和两个电池盒一样大小的硬纸板,在下面打两个孔,用螺丝固定在电池盒上面,这个时候电池就不会再小鱼立起来的时候掉下来了,只要硬纸板剪的和两个电池盒一样大,主板接口是不会被遮住的!至此鱼身组装OK!
3.5 鱼头鱼尾和鱼身的拼接
https://mc.dfrobot.com.cn/data/attachment/album/201512/03/230118g26rttpp0hmvt2t4.jpg
连接好舵机,传感器的信号线和电源线,感觉后面的线有点杂乱,可以用蛇形线包裹或者胶带粘在后面,还可以重新将线做短一点,那样会更好看。编写程序,将舵机调整到90度,然后将鱼头和鱼尾的舵盘固定在舵机上,尽量让鱼头,鱼身,鱼尾从一侧看处于同一个水平面就行了,如果安装好之后还有偏差可以在程序中调节舵机中值让小鱼的身体尽可能保持在同一平面。
四:底座的制作
纸片鱼已经制作完成,但是不能让它一直躺着啊,这里在制作一个底座,首先看一下底座长什么样!
https://mc.dfrobot.com.cn/data/attachment/album/201512/03/230005n14p436do7zq70vo.jpg
制作材料(我用了较硬的纸板做,也可以用制作小鱼剩下的纸盒来做)
https://mc.dfrobot.com.cn/data/attachment/album/201512/03/225944l9qnqy1f4ozfb9ny.jpg
剪三快纸片,16*9.6cm就行,为什么这个尺寸呢???
看到上面的四条竖线了吗,这四条竖线的位置基本上都在每张纸片的黄金分割比的位置,为了最终小鱼摆放在支架上看起来比较舒服,将上面两个纸片用热熔胶固定在下面纸片黄金分割比的位置,再在上面纸片黄金分割比的位置剪两个槽口,将纸片鱼插在上面就行了。
(为什么用上面的尺寸? 答:因为这样大小看起来和小鱼比较搭配和稳定,另外容易计算黄金分割比的位置)
最终效果图
程序:#include<Arduino.h>
#include<Servo.h>
#include<DFRfishaction.h> //编写了一个小鱼动作的类库
DFRfishaction fishaction; //用小鱼类库创建一个类
int irPin = 3; //人体红外热释电传感器信号脚
int ledPin = 2; //led小灯信号脚
static unsigned long fishActionTime= 0; //控制小鱼动作的时间变量
uint8_t fishActionMode = 0; //小鱼是否动作的标志
static uint8_t fishServo = 0; //判断这个值得范围确定小鱼的动作模式
void actionMode() //中断处理函数
{
fishActionMode = 1; //中断触发,小鱼进入运动模式
}
void setup() { //初始化工作
fishaction.setup();
fishActionTime= 0;
pinMode(irPin,INPUT);
pinMode(ledPin,OUTPUT);
digitalWrite(ledPin,HIGH);
attachInterrupt(1, actionMode, RISING); //中断定义和使能
//Serial.begin(9600);
}
void loop() {
if(fishActionMode) //进入运动模式并且开始计时
{
fishActionMode = 0;
fishaction.servoAttach();
fishActionTime = millis();
fishServo = random(100);
digitalWrite(ledPin,LOW);
}
if(millis() - fishActionTime < 5000) //小鱼运动5秒
{
if(fishServo <= 25)
fishaction.frontAction(2,6); //25%的可能性是摇头
else if(fishServo >= 75)
fishaction.rearAction(2,6); //25%的可能性是摆尾
else
fishaction.forwardAction(2,2,1);//50%的可能性是游动
}
else
{
digitalWrite(ledPin,HIGH);
fishaction.stopAction(); //小鱼停止运动后舵机摆正并且释放舵机引脚控制
delay(200);
fishaction.servoDetach();
}
}attach://21762.ino
上面程序需要的一个库文件:
attach://21763.zip
因为论坛有小伙伴对这个小鱼感兴趣,下面是制作小鱼所用到的主要组件的连接地址:(电池槽和Beetle扩展板暂未上线,上线后再提供连接地址:))
Bluno Beetle控制器
TowerPro SG90舵机
人体红外热释电运动传感器
5毫米LED(还可以用RGB,灯光效果更给力)
寻找马德里 发表于 2015-12-28 09:03
您好,我也想魔方您这个做一个,可否提供一下您以上全部元件的购买地址?谢谢!尤其是扩展板,啥时候可以 ...
attach://22848.zip Jason_G 发表于 2016-1-5 17:23
attach://22848.zip
十分感谢,的确想做一个,等着扩展板上市统一买一波儿把,很喜欢您的设计!! 大连林海 发表于 2015-12-4 07:23
不错觉得应该可以把整个鱼做一个完整的 把器材都融入进去 更逼真
是的,那样就会是一个立体的鱼,更逼真一点。现在做的是一个平面的,为的是能从背面清楚的看到鱼的结构,所以鱼的组件基本都能看见。{:5_161:} 不错觉得应该可以把整个鱼做一个完整的 把器材都融入进去 更逼真{:5_168:} 如果把线什么的弄成鱼刺的形状,效果更棒了 小鱼扭的好灵活呀哈哈哈哈,头尾的节奏再调整调整就更好了~
鱼头,鱼尾,鱼身……看着就肚子饿了{:5_137:} Jason_G 发表于 2015-12-4 10:37
是的,那样就会是一个立体的鱼,更逼真一点。现在做的是一个平面的,为的是能从背面清楚的看到鱼的结构, ...
{:5_168:} LZ的手艺太赞了 丄帝De咗臂 发表于 2015-12-4 11:56
如果把线什么的弄成鱼刺的形状,效果更棒了
好建议:) heinau 发表于 2015-12-4 12:06
小鱼扭的好灵活呀哈哈哈哈,头尾的节奏再调整调整就更好了~
鱼头,鱼尾,鱼身……看着就肚子饿了 ...
一眼就看出来头尾动作有点不协调,厉害,找个时间调整下,还有,我不是故意让你肚子饿的哦{:5_161:} 超赞,我在想带个塑胶套套是否就可以下水游泳了? FBI-C 发表于 2015-12-4 15:47
超赞,我在想带个塑胶套套是否就可以下水游泳了?
:lol哇哦 鱼的造型是不是可以选择一些魁梧一点的 比如小海豚嘛,其实我觉得鲨鱼最好了,要是能设计摇动并且嘴巴张合岂不是很好咩 本帖最后由 社区活动向导 于 2015-12-4 17:09 编辑
robopeak激光雷达鱼?还少一个激光雷达避障的 太牛了
hnyzcj 发表于 2015-12-4 12:46
LZ的手艺太赞了
我要向你这种骨灰级的手艺学习{:5_191:} 我一开始以为激光切的呢 FBI-C 发表于 2015-12-4 15:47
超赞,我在想带个塑胶套套是否就可以下水游泳了?
要做防水的结构还需要重新设计,而且我觉得两个舵机不够... 社区活动向导 发表于 2015-12-4 17:06
robopeak激光雷达鱼?还少一个激光雷达避障的
:'(不会玩激光雷达 爱国者一号 发表于 2015-12-4 18:01
太牛了
我叫菜鸟 在网上没找到卖bluno beetle扩展板的 hnyzcj 发表于 2015-12-4 18:13
我一开始以为激光切的呢
我用小刀在那划啊,划啊,划啊,划.................. 爱国者一号 发表于 2015-12-4 18:46
在网上没找到卖bluno beetle扩展板的
还没正式上线,用起来接线很方便,但是供电部分需要注意一下(如果以后你用的话)
页:
[1]
2