查看: 16120|回复: 52

[进阶教程] 调戏悟空排解压力装置

[复制链接]
                 调戏悟空排解压力装置



                                                                                          
         时间嗖一下就过去了,2015年的尾声已经临近。羊年即将过去,猴年就要到来。

          日子过得虽快,心态总归要放好的。

         手里正好有DFrobot推出的两款新品神器。0.5寸OLED液晶屏幕和手势传感器,准备制作一款猴年的解压互动装置,放松心态,迎接新年。



先上一个不带外壳的效果









一,零件清单:

   SEN0187  红外手势传感器(带RGB/环境光检测)   X1

     0.5英寸OLED显示屏                                X1

    DFR0282 Beetle控制器(兼容Arduino Leonardo)    X1

     LR44纽扣电池盒 3颗装                            X1

备注:以上配件均可以在DFRobot商城购买。

二,电路连线图

AAAAAA.png





三,工作原理图


path6361-2.png



四,3D外壳模型



          悟空A面.jpg       

正面外壳

       悟空B面.jpg

        背面外壳     


      悟空底盖.jpg

底部外壳


五,程序与硬件回顾:


1,手势传感器

    挥手传感器.jpg



硬件信息提示:

集手势,光源强度、颜色识别为一体,尺寸却只有指甲盖那么大。
RGB手势传感器采用的是I2C通讯,同时在监测到有手势的动作时,INT输出一个低电平,用于触发中断。
因此将传感器的I2C Pin脚(SDA、SDL)与控制器的Pin脚连接即可,本例中断Pin脚选择(D0)。

安利下leonardo类控制板的中断引脚为(D0,D1,D2,D3),其中I2C对应的引脚为(D2,D3).
因为这款手势传感器同时使用了I2C 和中断,为了避免冲突。所以只能选择D0和D1作为中断的引脚。

相关代码:

函数:attachInterrupt(interrupt, function, mode)
功能:对中断引脚进行初始化配置
参数:
interrupt,中断编号,注意,这里的中断编号并不是引脚编号。
function, 中断函数名,当中断被触发后即会运行此函数名称所代表的中断函数
mode, 中断模式。

可用的中断触发模式




214337yn9pp9qk6pkp7kqz.jpg

常见Arduino控制器的中断编号

215407xnknnrjcazlayfby.jpg


函数:apds.readGesture()
功能:读取手势的信息
参数:无
返回值: UP          向上挥手
                 DOWN    向下挥手
                 LEFT     向左挥手
                 RIGHT    向右挥手
                 FAR     手势由近到远
                  NONE    无法识别的手势


2. 0.5寸OLED屏幕
 
OLED.jpg
硬件提示

  这是一款非常小巧的OLED显示屏,只有0.5英寸左右,像素为60*32,只相当于你的指甲盖一般大小.
  每个像素都可以由控制芯片单独控制,可以组合任意的图形,显示任意的图像和文字。并且自发光OLED显示屏,并不需要背光,极大地减少了屏幕运行时所需的电量。

  本款OLED显示屏采用模拟SPI通信,需要占用5个控制器引脚。

如何用OLED 屏幕显示任意图形

a,打开InkScape 软件。 选择 文件>>文档属性。

     在自定义尺寸一栏,选择宽度为56,长度为32.单位选为PX

     inkscape.jpg

b,绘制所需图形,并保存为PNG格式


   QQ截图20151210171648.jpg

c,用画图软件打开,并另存为BMP格式。


   画图.jpg

d,得到图片对应的数据代码
                    
                    在取模软件(字模提取V2.2)中打开所保存的BMP格式文件。设置取模方式设置为:“横向取模,字节倒序”, 单击选择“C51格式”
      图片下方即会出现该图片对应的数据代码。
      QQ截图20151210173033.jpg
e,编写代码 

                    在Arduino程序中新建一个供显示专用的数组bitmap[]用于保存这些数据,数据的定义方式如下:
                    static unsigned char bitmap[] u8g_PROGMEN={
                     //通过取模得到的位图数据。
                      }

                   要显示该位图数组,会用到drawXBMP() 函数
                   函数:drawXBMP(x,y,width,height, bitmap)
      功能:显示位图数组
                   参数: x,y为所绘制图形的左上角的位置。
                              width,height为所绘制图形的宽度和长度。
                              bitmap为数组名






3. Beetle控制器
                                                                                    400px-Beetle_face45_pic.jpg


Beetle是Arduino Leonardo的极简版本,具备和Leonardo类似的强大应用能力,特别适于一次性的DIY项目制作和可穿戴电子应用。

考虑到本次应用需要使用较多的引脚,所以我们需要挖掘下Beetle的潜力。

    g28538.png

查询Beetle版的电路原理图,我们可以在Beetle的ICSP接口处发现小惊喜,ICSP的MISO引脚对应控制器的D14SCK对应D15 MOSI对应D16。











为补充后续细节,帖子还在编辑中。。。。。。。先占个坑。


            
  







丄帝De咗臂  版主

发表于 2015-12-10 18:06:00

Beetle神器,最后貌似有话没说完就被抓走了
回复 支持 2 反对 0

使用道具 举报

大连林海  初级技神

发表于 2015-12-10 18:06:26

猴年第一发  造起来
回复 支持 反对

使用道具 举报

Boris_Liu  中级技师
 楼主|

发表于 2015-12-10 18:11:47

丄帝De咗臂 发表于 2015-12-10 18:06
Beetle神器,最后貌似有话没说完就被抓走了

哈哈哈哈,还在编辑中。
回复 支持 反对

使用道具 举报

Ash  管理员

发表于 2015-12-10 18:13:07

丄帝De咗臂 发表于 2015-12-10 18:06
Beetle神器,最后貌似有话没说完就被抓走了

哈哈哈哈哈哈哈哈哈太形象了
回复 支持 反对

使用道具 举报

luna  管理员

发表于 2015-12-10 18:15:05

丄帝De咗臂 发表于 2015-12-10 18:06
Beetle神器,最后貌似有话没说完就被抓走了

抓走了~~ 应该是去救师傅了~
回复 支持 反对

使用道具 举报

iooops  版主 来自手机

发表于 2015-12-10 18:40:28

Ash 发表于 2015-12-10 18:13
哈哈哈哈哈哈哈哈哈太形象了

师傅又被妖怪抓走了2333333
回复 支持 反对

使用道具 举报

丄帝De咗臂  版主

发表于 2015-12-10 19:26:11

Boris_Liu 发表于 2015-12-10 18:11
哈哈哈哈,还在编辑中。

果然没编辑完
回复 支持 反对

使用道具 举报

丄帝De咗臂  版主

发表于 2015-12-10 19:26:27

Ash 发表于 2015-12-10 18:13
哈哈哈哈哈哈哈哈哈太形象了

回复 支持 反对

使用道具 举报

丄帝De咗臂  版主

发表于 2015-12-10 19:26:44

luna 发表于 2015-12-10 18:15
抓走了~~ 应该是去救师傅了~

救师傅,还有师弟
回复 支持 反对

使用道具 举报

hnyzcj  超级版主

发表于 2015-12-10 19:45:41

去害师傅去了,我估计
回复 支持 反对

使用道具 举报

hnyzcj  超级版主

发表于 2015-12-10 19:46:10

这个作品貌似很屌
回复 支持 反对

使用道具 举报

大连林海  初级技神

发表于 2015-12-10 20:01:30

被谁抓走了  是被孙大圣吗
回复 支持 反对

使用道具 举报

dsweiliang  版主

发表于 2015-12-10 21:04:46

Beetle是神器么,完全不会用啊我
回复 支持 反对

使用道具 举报

kevinzhang19701  中级技匠

发表于 2015-12-11 08:58:24

哈哈哈,这个有意思。
回复 支持 反对

使用道具 举报

Ash  管理员

发表于 2015-12-11 10:13:03

iooops 发表于 2015-12-10 18:40
师傅又被妖怪抓走了2333333

这次是大师兄被抓走了~
回复 支持 反对

使用道具 举报

Jason_G  高级技师

发表于 2015-12-12 16:42:18

挖掘Beetle的潜力,叼叼的
回复 支持 反对

使用道具 举报

单品蓝山  高级技匠

发表于 2015-12-12 20:43:34

一起来关注大师兄的命运。
回复 支持 反对

使用道具 举报

吹口琴的钢铁侠  版主

发表于 2015-12-13 15:19:09

还没编辑完吗
回复 支持 反对

使用道具 举报

Ash  管理员

发表于 2015-12-14 11:07:55

还没编辑完吗
回复 支持 反对

使用道具 举报

visionsl  初级技匠

发表于 2015-12-14 13:46:42

取模软件第一次听说, LZ V5, 学到知识了, 拜读
回复 支持 反对

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2019 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail