设为首页收藏本站

[应用教程] 教小朋友们制作一条会动的纸片鱼

Jason_G 发表于 2015-12-4 00:00:35 | 显示全部楼层 [复制链接]
40 8599
本帖最后由 Jason_G 于 2016-1-6 10:21 编辑

小鱼动起来:




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


2.jpg 1.jpg
正面和背面(为什么背面没有做完整的外壳将所有的接线隐藏??? 首先,小鱼的名字叫做:纸片鱼 。然后,正面看一眼看去是一条鱼,背面看就能很清楚的知道小鱼的所有结构)

背面连接线说明:

   小鱼组件                                     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了,虽然尽量避免剪线和焊接,但是还有个三个地方是必须要处理一下的!


23.jpg
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度,然后将鱼头和鱼尾的舵盘固定在舵机上,尽量让鱼头,鱼身,鱼尾从一侧看处于同一个水平面就行了,如果安装好之后还有偏差可以在程序中调节舵机中值让小鱼的身体尽可能保持在同一平面。


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

2.jpg 1.jpg




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



剪三快纸片,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. }
复制代码
http://www.dfrobot.com.cn/community/forum.php?mod=attachment&aid=MjE3NjJ8Y2I5OTlmYTMwOGNjY2Q0MzgxZDBmNzQyZTA3OGQ2ZTd8MTUwMTEzNzUzNQ%3D%3D&request=yes&_f=.ino
fishtest.ino (1.72 KB, 下载次数: 42)
3.jpg
发表于 2015-12-4 07:23:09 | 显示全部楼层
不错  觉得应该可以把整个鱼做一个完整的 把器材都融入进去 更逼真
回复 支持 反对

使用道具 举报

发表于 2015-12-4 10:37:18 | 显示全部楼层
大连林海 发表于 2015-12-4 07:23
不错  觉得应该可以把整个鱼做一个完整的 把器材都融入进去 更逼真

是的,那样就会是一个立体的鱼,更逼真一点。现在做的是一个平面的,为的是能从背面清楚的看到鱼的结构,所以鱼的组件基本都能看见。
回复 支持 反对

使用道具 举报

发表于 2015-12-4 11:56:46 | 显示全部楼层
如果把线什么的弄成鱼刺的形状,效果更棒了
回复 支持 反对

使用道具 举报

发表于 2015-12-4 12:06:31 | 显示全部楼层
小鱼扭的好灵活呀哈哈哈哈,头尾的节奏再调整调整就更好了~
鱼头,鱼尾,鱼身……看着就肚子饿了
回复 支持 反对

使用道具 举报

发表于 2015-12-4 12:15:27 | 显示全部楼层
Jason_G 发表于 2015-12-4 10:37
是的,那样就会是一个立体的鱼,更逼真一点。现在做的是一个平面的,为的是能从背面清楚的看到鱼的结构, ...

回复 支持 反对

使用道具 举报

发表于 2015-12-4 12:46:59 | 显示全部楼层
LZ的手艺太赞了
回复 支持 反对

使用道具 举报

发表于 2015-12-4 13:32:21 | 显示全部楼层
丄帝De咗臂 发表于 2015-12-4 11:56
如果把线什么的弄成鱼刺的形状,效果更棒了

好建议
回复 支持 反对

使用道具 举报

发表于 2015-12-4 13:35:09 | 显示全部楼层
heinau 发表于 2015-12-4 12:06
小鱼扭的好灵活呀哈哈哈哈,头尾的节奏再调整调整就更好了~
鱼头,鱼尾,鱼身……看着就肚子饿了 ...

一眼就看出来头尾动作有点不协调,厉害,找个时间调整下,还有,我不是故意让你肚子饿的哦
回复 支持 反对

使用道具 举报

发表于 2015-12-4 15:47:39 | 显示全部楼层
超赞,我在想带个塑胶套套是否就可以下水游泳了?
回复 支持 反对

使用道具 举报

发表于 2015-12-4 16:19:45 | 显示全部楼层
FBI-C 发表于 2015-12-4 15:47
超赞,我在想带个塑胶套套是否就可以下水游泳了?

哇哦    鱼的造型是不是可以选择一些魁梧一点的 比如小海豚嘛,其实我觉得鲨鱼最好了,要是能设计摇动并且嘴巴张合岂不是很好咩
回复 支持 反对

使用道具 举报

发表于 2015-12-4 17:06:47 | 显示全部楼层
本帖最后由 社区活动向导 于 2015-12-4 17:09 编辑

robopeak激光雷达鱼?还少一个激光雷达避障的
回复 支持 反对

使用道具 举报

发表于 2015-12-4 18:01:00 | 显示全部楼层
太牛了
回复 支持 反对

使用道具 举报

发表于 2015-12-4 18:11:21 | 显示全部楼层

我要向你这种骨灰级的手艺学习
回复 支持 反对

使用道具 举报

发表于 2015-12-4 18:13:04 | 显示全部楼层
我一开始以为激光切的呢
回复 支持 反对

使用道具 举报

发表于 2015-12-4 18:40:11 | 显示全部楼层
FBI-C 发表于 2015-12-4 15:47
超赞,我在想带个塑胶套套是否就可以下水游泳了?

要做防水的结构还需要重新设计,而且我觉得两个舵机不够...
回复 支持 反对

使用道具 举报

发表于 2015-12-4 18:43:04 | 显示全部楼层
社区活动向导 发表于 2015-12-4 17:06
robopeak激光雷达鱼?还少一个激光雷达避障的

不会玩激光雷达
回复 支持 反对

使用道具 举报

发表于 2015-12-4 18:44:55 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2015-12-4 18:46:02 | 显示全部楼层
在网上没找到卖bluno beetle扩展板的
回复 支持 反对

使用道具 举报

发表于 2015-12-4 18:47:10 | 显示全部楼层
hnyzcj 发表于 2015-12-4 18:13
我一开始以为激光切的呢

我用小刀在那划啊,划啊,划啊,划..................
回复 支持 反对

使用道具 举报

发表于 2015-12-4 18:49:20 | 显示全部楼层
爱国者一号 发表于 2015-12-4 18:46
在网上没找到卖bluno beetle扩展板的

还没正式上线,用起来接线很方便,但是供电部分需要注意一下(如果以后你用的话)
回复 支持 反对

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则 允许回帖同步到新浪微博  

推荐阅读

精华导读




公司简介| 联系我们| 小黑屋| 加入我们| 微博| 优酷| 英文网站| DF创客社区 ( 沪ICP备09038501号-4  
友情链接| 硬创邦| 花生壳社区| 模友之吧| 电子发烧友社区| 创客星球| 云汉电子社区| 电子工程网| 与非网| Arduino中文社区| 南极熊3D打印网| OneNET|

上海智位机器人有限公司  沪ICP备09038501号-4   

Powered by Discuz! X3.1

Licensed Comsenz Inc.

返回顶部 返回列表