2013年电赛手写绘图板达标作品

2013年电赛手写绘图板达标作品

因为参加小赛做了一个2013年的手写绘图板。性能方面,基本部分全部达标,发挥部分除了功耗1.6W(因为时间问题,使用的是线性稳压电源,供电效率低下,如采用开关电源将12V降压,可以将效率大大提高,同时也就降低了功耗)

下面是实物图

PCB实物图

控制器方面,采用的是原子的精英版,其实这一块用很多系列的板子都可以的。

ADC方面使用的是AD7705模块,16位ADC。

运放方面我们使用的是AD620这种仪表放大器,价格较贵,不同的地方卖10~30元1片,推荐在立创商城购买。作品完成至少需要2片(无使用不当导致损坏的情况)

下面是过程中产生的数据,是我们用MATLAB插值绘图的结果

篇幅有限,剩下的都在附上的文件中,并且有详细的论文提供设计思路以及改进措施。

电路项目的主要芯片及数据手册

电路相关文件

电路图文件
源代码
教程
嵌入式论文.docx
描述:配套文章
其他文件
文件集合.rar
描述:文件集合
分享到:
收藏 (1)
电子硬件助手小程序 电子硬件助手小程序

电路城电路折扣劵获取途径:

电路城7~10折折扣劵(全场通用):对本电路进行评分获取;

电路城6折折扣劵(限购≤100元电路):申请成为卖家,上传电路,审核成功后获取。

(版权归贺攀所有)

版权声明:电路城所有电路均源于网友上传或网上搜集,供学习和研究使用,其版权归原作者所有,对可以提供充分证据的侵权信息,本站将在确认后24小时内删除。对本电路进行投诉建议,点击投诉本电路反馈给电路城。

使用说明:直接使用附件资料或需要对资料PCB板进行打样的买家,请先核对资料的完整性,如果出现问题,电路城不承担任何经济损失!

换一批 more>>

大家都在看:

继续阅读

  • STM32F4音乐频谱搞起来!

    硬件: STM32F407单片机。基于ILI9341控制器的TFT液晶屏(320x240像素)。简单运放前级放大。USB供电。预留32*64点阵屏接口。软件: ADC12位采集,采样率40Khz,DMA储存。4096点FFT运算(基于官方DSP库)。STM32cubeMX创建HAL库工程,频谱半天跑起来。---------------------------------------------------原理图经过验证可以正常工作,但实际液晶屏引脚顺序与图纸相反,实际使用中需要把屏幕装在有器件的一面,也可以自己动手修改重新打板。祝大家搞得愉快。遇到问题可以私信或者加q ,943703865,注意备注来源,大家一起交流学习。
    来自:DIY创意产品时间:2019-09-10 stm32 单片机 diy制作
  • 19年电赛——模拟电磁曲线炮(H题省一)

    自行设计并制作一模拟电磁曲射炮(以下简称电磁炮),炮管水平方位及垂直仰角方向可调节,用电磁力将弹丸射出,击中目标环形靶(见图 3),发射周期不得超过 30 秒。电磁炮由直流稳压电源供电,电磁炮系统内允许使用容性储能元件。 二、要求 电磁炮与环形靶的位置示意如图 1 及图 2 所示。电磁炮放置在定标点处,炮管初始水平方向与中轴线夹角为 0°、垂直方向仰角为 0°。环形靶水平放置在地面,靶心位置在与定标点距离 200cm≤d≤300cm,与中心轴线夹角a≤±30°的范围内。 1.基本要求 (1) 电磁炮能够将弹丸射出炮口。 (2) 环形靶放置在靶心距离定标点 200~300cm 间,且在中心轴线上的位置处,键盘输入距离 d 值,电磁炮将弹丸发射至该位置,距离偏差的绝对值不大于 50cm。 (3) 用键盘给电磁炮输入环形靶中心与定标点的距离 d 及与中心轴线的偏离角度a,一键启动后,电磁炮自动瞄准射击,按击中环形靶环数计分;若脱靶则不计分。 2.发挥部分 (1) 在指定范围内任意位置放置环形靶(有引导标识,参见说明 2),一键启动后,电磁炮自动搜寻目标并炮击环形靶,按击中环形靶环数计分,完成时间≤30s。 (2) 环形靶与引导标识一同放置在距离定标点 d=250cm 的弧线上(以靶心定位),引导标识处于最远位置。电磁炮放置在定标点,炮管水平方向与中轴线夹角a =-30°、仰角 0°。一键启动电磁炮,炮管在水平方向与中轴线夹角a从-30°至 30°、再返回-30°做往复转动,在转动过程中(中途不得停顿)电磁炮自动搜寻目标并炮击环形靶,按击中环形靶环数计分,启动至击发完成时间≤10s。 本设计依据通电导体在磁场中受力加速的原理设计了模拟电磁曲线炮系统,本设计通过线圈、高压直流电源及高压电容组成简易的模拟电磁曲线炮,采用ATMEGA328P作为主控芯片,通过PWM控制二维云台实现电磁炮对目标的精准炮击,使用OPEN MV摄像头模块实现对随机目标的精准定位,并由继电器控制电容的充放电,为线圈提供瞬时强电流,产生洛伦兹力,实现模拟电磁曲线炮对标靶的精准打击,实现在规定10秒内,自动搜寻目标并炮击环形靶功能,并设计实现了对运动目标的精准炮击,具有较高的实际军事意义。具体制作方法在附件中,可下载查看;附件带有使用说明,源程序,原理图及PCB源文件;如若需要技术支持,可联系本人(联系方式附件中有);
    来自:其他时间:2019-09-10 电赛 电磁炮 openmv4
  • 51单片机红外遥控小车+安卓旧手机+AgoraRTC=远程视频监控小车

    手机应用介绍1)用手机替代网络摄像头,更智能,更省电;2)支持红外遥控玩具遥控车; (移动功能,需要配套本设计红外遥控小车)3)人脸跟随;(娱乐功能,需要配套本设计红外遥控小车)使用方法:1、安装应用,分别在两部手机上安装;2、将两部手机连入互联网(WiFi,或4G);3、把其中一部手机放到红外遥控玩具车上;4、需要注册appID,两部手机用同一个appID使用时,先将小车上电。将两部手机连接到互联网,打开我们事先编写好的安卓软件,小车上的手机选择小车模式,另一部手机选择控制模式便可以进行操作了,画面右侧控制小车的运动,左侧则是速度的控制。目录一、 创意来源二、 项目概述三、 优势四、 功能五、 制作材料六、 详细介绍七、 参考文献一、创意来源当今在安防监控领域,大多数民用监控设备有几大弊端:位置固定:大多数设备位置固定,不便移动,即使有一些可以摄像头可以转动,但是仍然无法实现对大部分区域的监控,比如一些存在死角的位置就不会被监控(床底,墙角等等),因此小车的可移动性监控有较为突出的优点。应用在家庭监控领域较为合适,尤其是家中无人的时候。有线传输,电源线:大多数是有线传输,即使有一些是无线传输,但是仍要被束缚在电源线上。而本小车就不同了,可以直接装个充电宝做备用电源价格昂贵:当今一套完整的监控设备成本较高。而本小车利用了过时淘汰的手机,大大节约了成本,一定程度上控制了废旧手机的污染。基于当今监控设备这些缺点,构造出了基于安卓的视频控制小车。二、项目概述本设计是将安卓技术、单片机技术、无线通信技术等相关技术应用到视频监控系统中,可实现视频监控系统的设备移动化,由可移动监控平台、控制软件两部分组成。使用安卓手机作为控制端,通过无线网络对监控平台进行移动方向、速度的控制,平台上的摄像头实时采集视频图像信号并通过无线WiFi网络将视频信号实时传输到手机端观看,然后可实时拍照录像并可实时存储。由于监控端可移动,可以在无人进入的情况下获取危险环境的视频图像。具有控制方便,监控灵活,模块化,可拓展性强等优点,可应用于儿童陪伴机器人、家庭安防、图像采集等领域。三、优势:设计之初不完全是为了DIY,我是希望能够做出一款实用便宜易用的产品,所以没有采用常用的DIY开源硬件方案例如arduino,而是选择了价格便宜,应用广泛的STC89C52RC单片机芯片来做控制方案。当然也相信大家能理解我为什么会选择android手机来做智能小车大脑。1. 我们制作的智能小车抛开性能低下、操作复杂的单片机,使用移动终端作为控制端,利用移动终端(例如手机,电脑,平板)的高性能处理器和低廉的价格,降低了研发成本和研发难度。2. 通过移动网络或者本地局域网进行连接,可以在任何地方,使用任何设备即可对小车进行远程遥控,对家庭安全进行防护。3. 与WIFI IP camera对比:1)可以到处跑,因为不需要插着电源线;2)省电,待机长,所以不用担心充电问题。3)监控声音情况。四、功能:1)实时视频(android手机摄像头开发)2)红外遥控车(STC89C52RC )3)人脸检测追踪(android手机编程)下面是 人脸跟随演 和 制作过程 的视频:五、制作材料:1)控制板包括:STC89C52RC单片机最小系统红外遥控接收一体化模块VS1838BL293D电机驱动模块2)小车底盘(淘宝上面有非常多的小车底盘卖,自己任选),3)马达:TT马达 2个4)轮子:2个5)锂电池:2200mAH 两节7.4V + 充电器(可用充电宝代替)6)杜邦线若干7) 车载手机支架(有车一族,不用的车载手机支架可以利用)总共约200左右,如果去掉5)7)剩下的也就100出头六、详细介绍0设计文档资料里的毕设论文只是预览,具体文档请查看这两个链接[1]:DIY远程视频遥控小车[2]:DIY远程视频遥控小车(附件:论文)1相关技术Android摄像头自定义相机开发、Android人脸检测(FaceDetector)API开发、Android红外遥控开发、Android网络实时音视频传输开发、单片机红外解码及电机控制 。基于安卓的视频控制小车利用了能发射红外信号的安卓旧手机作为核心,通过WiFi将手机或电脑监控端与车载手机控制端相连接,继而间接实现手机或电脑监控端对小车的控制。通过手机或电脑端向手机发送指令,然后手机执行指令向小车发射红外信号进行相应控制,并调用车载手机摄像头将小车前方的图像信息回传给手机或电脑监控端。另外,小车还可以对人脸进行检测跟随,根据人脸在视频中位置,不断调整小车方向直到人脸位于屏幕中心,增强娱乐性。3相关代码小车端单片机代码安卓手机端代码 特别说明:车载手机通过红外遥控小车,虽然红外的遥控的控制距离只有10m左右,无法绕过障碍物进行遥控。但发射红外遥控信号的手机就架在小车上,可以将手机的红外发射器和红外接收器放在一块固定住。虽然并不是所有的安卓手机都有红外发射器,但都有3.5mm的耳机接口,红外信号的38kHz频率在音频范围内,可以用耳机接口外接的红外发光二极管发射红外遥控信号。如果使用蓝牙来完成对小车的控制,小车上需要配备蓝牙模块与手机进行配对通信。而且并不是所有的手机都支持蓝牙,早期的一些安卓智能手机就不支持蓝牙。而且蓝牙需要配对连接,红外遥控无需配对连接,省去等待时间。相比蓝牙模块,红外模块成本更低。所以采用红外遥控模式。 下面是远程手机端演示下面是远程电脑端演示七、 参考文献国内外对于该类应用场景的研究: 手机机器人_百度百科https://baike.baidu.com/item/%E6%89%8B%E6%9C%BA%E6...Chap小家伙入门级编程机器人教育套件家庭版 – RoboSpace https://www.robospace.cc/chap/派宝机器人 Padbot T1 | 您的桌面智能萌宠 https://www.padbot.cn/t1Botiful:Skype临场互动机器人 http://mobile.163.com/12/0729/16/87JIKNOV0011665S....https://www.kickstarter.com/projects/1452620607/bo...Romo:让智能手机变身机器人 http://www.ifanr.com/175468https://www.kickstarter.com/projects/peterseid/rom...https://www.kickstarter.com/projects/peterseid/rom...掌上看家:摸索视频应用的O2O模式 http://www.techweb.com.cn/news/2012-10-25/1249261....打造零成本安防方案,掌上看家将你的旧手机改造成安防摄像头http://tech.163.com/14/0923/11/A6QRTAQN00094ODU.ht...Mindhelix 把废手机变成智能家居的一部分 http://www.shejipi.com/31209.html阿福管家(Alfred) http://www.360doc.com/content/17/0106/00/30371403_...旧手机天堂?Hippo帮你用安卓手机DIY专属硬件 http://www.pcbeta.com/viewnews-67118-1.html科技玩具Romo:用iPhone整一个机器人“玩” https://www.leiphone.com/news/201406/d-romo.htmlRomo活泼又聪明,多亏iPhone做大脑 https://www.guokr.com/article/68607/IOIO在Android手机中的应用与研究 http://www.21ic.com/app/opto/201304/179778.htm使用android IOIO和安卓手机制作视频遥控小车(控制灯的开关、实时视频传输、方向控制)http://blog.sina.com.cn/s/blog_8265bd790102vhpa.ht...【DIY】远程手机遥控车 androidbot https://blog.csdn.net/xpp012/article/details/77964...Android实践:做一个可视频交互的智能小车 https://blog.csdn.net/weixin_33786077/article/deta...StarRTC,AndroidThings,树莓派小车,公网环境,视频遥控(一)准备工作http://blog.starrtc.com/2018/07/11/starrtc-android...树莓派视频遥控小车 + iOS / Android / web应用https://www.jianshu.com/p/d0c8b51e9647变废为宝+旧手机做一个家庭远程安防机器人 http://www.sohu.com/a/160959116_793365[创意DIY] 手把手教你用iPhone变身卖萌遥控小车http://bbs.elecfans.com/m/forum.php?mod=viewthread&tid=307662&extra=page=29极品智能飞车 wifi和Android控制小车(获奖作品原创)https://www.cirmall.com/circuit/1342/#/details用手机 DIY 一个 Wifi-Robot https://www.eefocus.com/embedream/blog/15-09/31969...低成本DIY视频预览遥控小车https://blog.csdn.net/cjnewstar111/article/details...可以在外面遥控家里的视频通话的智能小车https://blog.csdn.net/lindev/article/details/50433...旧手机+Arduino的巅峰之作—视频监控机器人 ,异地远程遥控(设计资料开源共享)https://www.cirmall.com/circuit/3170手机目标跟踪寻迹小车+蓝牙SPP通信,附APP和Arduino源码https://www.cirmall.com/circuit/6375做一个遥控车当手机支架 小伙子很有想法 http://www.iqiyi.com/w_19rx3g75bt.html自制iphone第一人称视频遥控小车http://blog.sina.com.cn/s/blog_7355abc2010115ah.ht...桌面智能管家机器人-- 小氪 http://www.cirmall.com/bbs/thread-48752-1-1.html能控制所有智能家居的机器人管家设计(硬件+程序源码+论文)https://www.cirmall.com/circuit/4808M1 Rover https://hackaday.io/project/161460-m1-roverM1 Rover:无人自动驾驶机器人,与Arduino兼容https://www.cirmall.com/articles/397468/p1扫地机器人+手机,改造成安防机器人https://v.youku.com/v_show/id_XNDIzNTg4Nzk0MA==.ht...PlusBot手机外设机器人https://www.bilibili.com/video/av63968166日本3D打印手机神器 能跑能送快递堪比机器人http://m.56.com/c/v84757613.shtml一款手机机器人,安装上感觉手机长出手指头了,真是太有意思了http://v.qq.com/page/x/0/b/l0792m0kcab.html你的手机也可以是机器人的大脑,做一台自己专属的RoboMasterhttps://v.youku.com/v_show/id_XNDI5NTY4MDMyNA==.ht...Turn Your Phone Into a Robot https://www.instructables.com/id/Turn-Your-Phone-i...MobBob DIY Arduino robot controlled by Android smartphone https://m.youtube.com/watch?v=myOZJADSjpYMobBob:主体是智能手机的3D打印机器人http://www.3dhoo.com/news/guonei/13482.htmlMobBob V2 - Smart Phone Controlled Robot https://www.thingiverse.com/thing:990950Oddwerx - Autonomous Smartphone Robots https://www.kickstarter.com/projects/ologic/oddwer...Rover Robot https://www.shaperobotics.com/portfolio-item/build...BalDroid - Balancing Robot: Android Phone + IOIO-OTG board https://m.youtube.com/watch?v=45Q1tHr1-h4Voice Controlled Robot (VCR)http://voicecontrolledrobotusingandroid.blogspot.c...Mobile Controlled Robot with & without Arduino https://m.youtube.com/watch?v=mVAWew_48KkHow to make a Skype Controlled UGV - DIY Spy Robot - IoT Project https://m.youtube.com/watch?v=WrENPS1xk6A Android™ Based Robotics: Powerful, Flexible and Inexpensive Robots for Hobbyists, Educators, Students and Researchers原文链接:http://www.socsci.uci.edu/~jkrichma/ABR/abr_background.html下图是用Google浏览器翻译出来的译文
    来自:DIY创意产品时间:2019-09-03 51单片机 diy制作 毕业设计
  • MPU9150 九轴IMU惯性单元模块 运动数据模块 PCB&原理图

    MPU9150 九轴IMU惯性单元模块 运动数据模块 PCB&原理图.改设计采用2.54排针 十分精简美观。比一元硬币还小点。
    来自:可穿戴设备时间:2019-04-19 diy制作 四轴飞行器 飞控
  • 8x8x8光立方

    该设计采用51单片机控制,采用74hc573驱动二极管,显示各种图形,总共采用512个蓝色led,是动手制作,使用51单片机很好的练习
    来自:DIY创意产品时间:2019-09-05 51单片机 diy制作
  • HUD眼镜

    本文首发于DF创客社区,作者:robo027原文链接:http://mc.dfrobot.com.cn/thread-296363-1-1.html为什么是眼镜?13世纪被发明,从当时成为贵族们的玩物到今天几乎人手至少一副,眼镜,不管是结构还是功能都没有什么大的变化.不过,随着现在的科技日新月异,VR,AR技术的出现,让我们多多少少也都嗅到了一丝"眼镜革命"马上要来了的气息.我对于眼镜的改造欲就如同中学时期我们对待历史书上的人物画像一样,总觉得那时他们少了一副帅气的眼镜,之前我就做过一个"焊锡保镖"眼镜 现在又耐不住了,眼镜作为穿戴物,挂在脸上,作用如果还只是保护眼睛,校正视力是不是有点对不起咱这张脸.当你在骑车,驾驶,腾不开手的同时又需要获取来自手机上的信息,怎么办?这时"第二屏幕"的需求产生了,它一定具备"不影响你正在执行工作,不剥夺你的正常视线范围,简单操作或不需要用手操作即可完成重要的交互"这样一些主要特性."HUD"和"AR"这两个词我想大家都不陌生,我就按我的理解简单介绍一下,HUD原本是战斗机上把仪表盘数据投射到挡风玻璃上的技术,现在民用了就成了我们常说的"抬头显示",功能说白了就是把方便你开车的一些信息投射到前挡风上.AR技术呢,俗称虚拟现实技术,目前它最有价值开发方向就是做AR眼镜,什么是"虚拟现实"?其实中间少了两个字"虚拟辅助现实"其中一个重要的功能就是能在真实的视觉画面中对指定的目标进行虚拟标识描述并只反映在你的镜片上,也就是说你从镜片中看到的画面是真实和虚拟并存的,比如下面这个应用场景 翻译功能,能够把看到的英语实时翻译成中文显现在眼前.过不了多久应该就能走进我们的生活了.感觉有了它走遍天下都不怕.还有更多实用的功能推荐大家百科一下.所以讲了这么多,它除了基本类似HUD的投射功能外,还应该具备图像识别与物联网功能.而下面我的作品充其量也只能算个HUD眼镜的半成品.因为说实话能力有限,手上的材料也有限.比赛时间也快到了,所以只能先这样了.成像原理人眼的焦距范围是25mm-50mm左右,我不可能把OLED直接放到自己的眼前,那样就跟把脸凑到电视前看一样,即便看的到上面的字,那也会挡住自己的视野,所以最理想的方案就是参考谷歌眼镜的微型投影加半透棱镜的方法 主要研究的部分就是这个微型投影怎么实现,就关于凸透镜焦距的选择,里面涉及到一些公式计算很复杂,告诉大家两个简单方法,要么淘一块70-100mm焦距的菲涅尔透镜,塑料的又比普通的凸透镜薄很多方便你剪裁.要么和我一样直接拆掉一个VR盒子,取透镜.至于近似眼的问题,我不是近视,我那副眼镜也是平光镜,所以效果不清楚,但是我想画面光通过你的眼镜校正的,最终看到的是校正后的成像,所以理论上应该没有问题. 定位什么都要小因为屏幕的大小直接决定眼镜旁边这个"家伙"的截面积.所以这个0.66的OLED肯定不行,好在发现DF商城有更小的屏幕,而且整个模块都不大.首选!http://www.dfrobot.com.cn/goods-1188.html 电源:电池也是我拆了我娃的玩具寻到的小锂电池包主控一定要能联手机(我轻描淡写了,事实上这涉及到太多专业知识)所以我根据能力最开始罗列了三种方案: Arduino promini+hc06Esp32或Esp8266(能玩)nRF52(只是听说)查资料,对比,发现nRF52系列的功耗有绝对优势.秉承"只选对的,不选会的"原则淘了两块,面对这两块陌生的超低功耗多协议SoC蓝牙单芯片(我认为大概就是,除了有蓝牙能力自己还能跑程序).只能默默啃资料了...点亮屏幕所需:开发工具: j-Link (用于对nrf52832的swclk swdio端口进行烧写程序,固定引脚号) cp2104或CP2102(Tx,Rx串口下载,TX,RX,引脚号会因为协议栈的不同可能会变)如果有JLINK 这个基本可以不用 板子:nRF52832+Breakout板(方便你用杜邦线实验) 0.5英寸SPI接口(默认)OLED模块 接线方式: jlink可以给它俩供电 启动Arduino IDE进入首选项添加https://sandeepmistry.github.io/ ... 5_boards_index.json为“附加开发板管理器网址”从工具 - > 开发板菜单打开开发板管理器并安装“Nordic Semiconductor nRF5 Boards”从工具 - > 开发板菜单中选择Generic nRF52再到Arduino库管理器下载U8G2库https://github.com/olikraus/u8g2下载协议栈S132 2.0 hex文件,文尾下载j-link驱动一般卖家会提供https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack下载nrfconnect3.0http://www.nordicsemi.com/Software-and-Tools/Development-Tools/nRF-Connect-for-desktop这里主要下载软件就是nrfconnect安装过程中也会安装一些支持包驱动什么的默认就好,打开软件,你会发现它其实是一个宿主软件,在里面可以直接下载所需要的小程序.这里我们仅需要下载programmer程序 打开programmer,界面介绍:从图中我们可以看到一个完整的程序一般由引导程序+协议栈+应用程序(由下到上)三部分组成, 在拖入S132_2.0.HEX后我们发现完成了下面两层,还差一层应用程序, 这就要靠IDE编译了.打开ArduinoIDE选择示例程序u8g2--- page_buffer---helloworld, 别慌编译,要改改代码,里面有很多//U8g2_屏幕种类,我们的屏幕//U8g2_LD7032有两个,第一个SPI第二个i2C,I2C要改电路,直接用默认的SPI方式就好,也就是取消注释第一个//LD7032,然后把引脚改成你实际的连线就行了.需要说明的是OLED可以选择连NRF52832硬件SPI(HW)或软件SPI(SW),如果选软的,在选择引脚上就自由一些.这里选SW.嫌麻烦直接Copy "U8G2_LD7032_60X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 17, /* data=*/ 18, /* cs=*/ 28, /* dc=*/ 30, /* reset=*/ 14);"引号中的内容插入到里面就好. 接下来不是点下载,我们是需要这个程序编译后的hex文件,所以先另存为到一个位置,然后在点Arduino的项目--导出已编译的二进制文件.这时候我们需要的应用层就做好了,接下来回到nrfconnect界面添加刚刚保存程序路径下刚编译好的hex文件,这个软件很好理解,左边框框里是现有固件,右边框框其实就像个沙盘,布置好了点右下角的erase&write过不了多久就烧写好了,这时OLED就显示出内容了,这个部分,仅仅只是为了调试OLED,大家不妨多试一下U8G2的其他例程.制作LD7032 0.5inchOLEDNrf52832(重新买了个更小的)1A充电板 AMS1117(降压3.3v输出)锂电池包小开关.按钮各一4PIN杜邦母座(引出SWD编程接口,方便以后改程序)废旧cd碟片一张,菲涅尔透镜(或VR盒子拆下的透镜)接线方式:oled和Nrf52832接线上文有,仅加了一个按钮(po.20)电源方案: 总体如下: 外壳部分: 功能的实现目前还在研究,这里我用了一个开源项目micooke/arduino-nRF5-smartwatches目前暂时只能够实现传感器的数据读取,和时间显示.步骤:1,ArduinoIDE添加第三方硬件[backcolor=rgba(27, 31, 35, 0.05)]https://micooke.github.io/package_nRF5_smartwatche... 2,开发板管理器打开,刷新后,搜索nrf5 smartwatchs下载安装 3,安装好后,在IDE上这样设置[backcolor=rgba(27, 31, 35, 0.05)] 4选择示例程序并在第二栏LD107_OLED.h下注释原来的引脚设置添加U8G2_LD7032_60X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 17, /* data=*/ 18, /* cs=*/ 28, /* dc=*/ 30, /* reset=*/ 14); 另存为项目,然后导出编译后的hex文件.接下来就和前面调试屏幕时的步骤,打开NRFconnect选择softdevice+刚刚编译好的hex,烧写. 后记这个项目没完,因为软件方面远远没有达到我的预期:1能够有APP的支持,能够推送手机上的消息,2能够和手机上的导航对接显示简要的导航信息.我不是工程师,很多东西缺乏技术与经验,采用这款我完全陌生的nrf52832作为主控,主要是保证续航能力,并且它支持蓝牙5.0,我预留了SWD接口也是为了未来能够有一些突破.同时也希望有兴趣的朋友能够帮助我一起完善它.
    来自:Hackaday Prize 2019时间:2019-08-19 diy制作
  • 齐天大圣之随身探测器之无连线板

    本文首发于DF创客社区,作者:机器猫_齐天大圣原文链接:【脑洞大赛】齐天大圣之随身探测器齐天大圣之随身探测器之无连线板 (第三代)现在学Arduino的很多,但是能天天玩的不多,除了编程就是编程,最多搭建一些网络上已有的课件,自由发挥的余地不多。。。arduino有很多传感器,能否把arduino作为一个探测器(传感器获取数据),检测身边事物或探究大自然奥秘的一个起点。。。比如,一个温度传感器,可以检测水温,室温,室外,阳光直射,背阴面,动植物生长环境温度,等等,不同地点,不同对象,不同部位,不同状态,温度都会有不同。。。第一代试样: 用Nano扩展板,和传感器 第二代:电路部分总装: 总体外观: 传感器: 手机蓝牙接收到的数据: 数据可以是整合的,也可以是单一的目前结构正在优化中,体积还要小,操作简易化,数据读取直观化。最重要的是创客化,人人都能学都能用!arduino只是工具,好好利用这个工具,让人们走进大自然,探索宇宙。。。大概是在5~6年前学的Arduino编程,就半天时间,算是入门了。。。 这么多年来还是只会复制粘贴,不过我不再害怕了,不懂英文,不会编程也没关系,总结了一套简单的加减法(非可视化编程),用几个小时就教会了一点都不懂得学生! arduino就是一个“万用表”,要用就旋转开关,和使用注意事项就ok,没必要懂里面的结构和工作原理,如果有时间,自己有喜欢,可以慢慢深入下去。。。 你看那前面黑洞洞,定是那贼巢穴,待俺赶上前去,杀他个干干净净!《随身探测器》是被逼出来的,快速成型,立马能使用,开开心心玩起来,认认真真探索身边的奥秘。。。 目前做到7个传感器同时获取数据(可单选或多选),外加蓝牙和OLED显示器,只可惜时间急了一点,洞洞板采用飞线,等有时间了,再学画板子,可以做到真正的无连线版。后期还可以做的小一点,针对淘宝卖家不同传感器和传感器引脚不同,方便自由添加新传感器等,灵活应对,还有《随身探测器》的另外一半还没想好怎么做,输出或控制,怎么与外部连接,还是装在玩具车上(气球无人机上),加上摄像头,远距离探测。。。
    来自:Hackaday Prize 2019时间:2019-08-19 diy制作
  • DIY属于你的智能家居系统,zigbee,esp8266,51单片机

    本文首发于DF创客社区 作者:2877137721原文链接:DIY属于你的智能家居系统,zigbee,esp8266,51单片机DIY家庭智能家居控制系统(2)51,zigbee,esp8266相关附件于原文下方下载【介绍】随着微功耗处理器以及通讯芯片的发展,以往较为耗能的有线通讯方式越来越阻碍了通讯网络的发展,于是一大批的无线通讯方案应运而生,例如NBIOT,蓝牙4.0,zigbee等等。同时微功耗无线处理器的流行使得传统家电带上了智能的色彩,智能家居必将是未来家庭的必备。某些高科技企业也在揶揄这块市场,纷纷推出了自家的智能家居解决方案,比较知名的有米家方案以及阿里智能的解决方案。但是回到现实的使用上来说,每个家庭的条件环境其实不一样,同样的产品未必在每个家庭上都可以使用方便,所以个性化的定制产品才可以更好的方便我们的生活。 于是在暑假期间,萌生了DIY一套智能家居方案的想法,具有各种智能开关和传感器等节点,并且对接物联平台实现联网控制以及数据的上传。由于家庭中将会使用到的智能设备种类繁多,所以我将采用模块化的设计思路,即采用核心板加外围功能部分的思路,像搭积木一样的构建各个智能设备。大家有同样想制作的想法可以参考。 截至发帖前,我完成了智能网关,智能墙壁开关,无线遥控开关以及无线气象站的设计制作,之后有新的设备加入的话,我会及时的更新。【准备事项】 完成这个涉及到多方面的项目,需要的硬件设备以及开发环境较多,所以我先大概给出一个列表:软件篇: Arduino IDE:用于给ESP8266编程使用 KEIL uVision5 :用于给51单片机编程使用 串口调试器:用于监控单片机输出数据 lceda设计软件:绘制电路原理图,设计PCB电路板 硬件篇: NodeMCU开发板一块 亿佰特zigbee模块若干(视节点数量而定) STC8F2系列单片机若干 核心的主要控制器件在此列出,其他元器件会在制作过程中一一说明。【制作过程】我构想了一张智能家庭的网络拓扑图,大家可以欣赏以下,后期图上的设备都将加入进来: 由于涉及到多个设备的设计制作,所以本个报名贴先奉上智能家居核心板,智能网关以及无线气象站的制作过程:#制作过程之核心板篇#>>>本项目使用zigbee网络进行智能家居之间的通信。好早之前就接触过zigbee组网,对于这种低成本低功耗的网络还是抱有很大信心的。这里讲解选择这个网络的几大理由: mesh结构的网络很适合智能家居的控制结构,在入网的任何一个节点都可以访问到所有节点的数据,这点很适合网关控制各个设备。低功耗使得终端设备甚至可以采用电池供电,使得所有的模组都尽量可能的无线化。多跳传输,无线方案中最大的问题就是数据发送的不稳定以及障碍物对信号的遮挡导致数据无法正确传输,而ZigBee的多跳恰好解决了这个问题,节点会自动选择优质的传输路线多跳传输,保证信号质量。总结一下:zigbee网络确实是好,但是对于我这种比较懒惰的人并不想去学习那复杂的传输理论以及zigbee通讯芯片的编程,于是我选择上网购买ZigBee模块,最后选择了一种小型的串口转zigbee模块,比较方便单片机通讯。 说到模块化,那么就需要核心的控制板。本质来说就是将单片机以及购买的zigbee模块集成到一张电路板上,并且预留各种接口,方便后期移植到各种设备上,这样一张电路板就可以适用各种智能家居设备了。 在保证功能足够的同时,体积也是我需要考虑的问题,如果核心板做的过大,会导致无法安装到某些空间狭小的智能设备中,所以小体积是我所着重考虑的。基于多方面考虑之后,stc8F2k08s2进入了我的视线,小巧的sop16封装以及简单的外围电路,足够的IO口(14个)。这款芯片成为了核心板的控制单片机。于是一番绘制原理图以及PCB之后,成品大概明朗了: 焊接好的成品如下: 这将会成为以后所有我的智能家居方案的核心控制板。#制作过程之智能网关篇# 完成了核心板的制作,网关成为了下一个比较关注的对象,因为家中的所有智能设备的控制以及通讯都会由他来完成,包括链接到互联网上传数据,所以说对于网关的硬件选取也是重中之重。上联互联网,下接zigbee小型通讯网,网关担任了一个家庭控制中心的角色,对于它的选择我认为esp8266是个不错的方案,可以支持arduino ide编程,这对于不太了解网络通讯协议的我来说是个好消息,因为在arduino的编程中,我可以借助强大的库函数来完成我想要的功能。 ESP8266是一个拥有了近80Mhz的主频的32位处理器,内置了wifi模组省去了网线,并且拥有丰富的外设以及较高的性能,可以胜任智能网关的工作。当然,近期乐鑫发布的ESP32系列芯片也会是个好的选择,更高的主频以及wifi蓝牙双模的设计让其拥有更加方便的接入方式,由于手头上正好有一块ESP8266,所以没有采用性能更好的ESP32。这样我需要对ESP8266进行片上编程,并调用它的串口和zigbee模块通信,当zigbee的节点收到其他设备发来的数据的时候,ESP8266可以对其处理或者通过WiFi上传到云平台,整体的设计思路就是这样。 为了方便网关节点的状态显示以及相关信息读取,为以后的调试提供便利,我决定给网关添加了显示屏屏,这样方便信息的读取以及调试工作。最终选择了下面的这块4.3寸的串口组态触摸屏。 完成了zigbee节点核心板的设计以及网关的硬件选择,整个智能家居系统的主要部分就构建完成了,我先不讲解程序的编写,因为我将会在调试好每一个智能设备之后,再对网关进行编写对应设备的接口程序。即完成一个智能设备的开发之后再对接网关,使其加入到家中的zigbee网络,实现联动控制或者联网控制,因为毕竟我使用的ZigBee模组只是起一个通讯的作用,具体的功能实现还是靠核心板上的单片机来完成。这种开发方法叫做迭代开发,对于较为庞大的项目是一种较好的解决方案。搭建好的智能网关。 #制作过程之无线气象站篇# 接下来我将会进行首个智能设备的制作,我将会从制作这个设备的缘由开始,一步一步去实现我想要的功能,帖子篇幅较长,请慢慢观看。1.起因: 说到气象站这个东西,一般大家都会觉得气象局才需要这个东西去量测各种气象数据(温湿度,气压,风速风向,紫外线强度等等),而我们得知当天的气象数据多半是靠手机上的天气软件来查看的,但是这样带来一些问题:手机上获得的数据往往不能代表区域中所有的数据,如果我们可以在家中自己搭建一个气象站,这样就可以得知最实时的,最精确的数据,最具有参考性。同时,气象站的各种数据输出还可以在以后为我带来更加合适的穿衣建议,以及可以和家中的其他设备联动,比如室外光线弱会自动开启室内电灯之类的。2.气象数据选择 气象数据有很多种类,我选择了几项对生活影响较大的参数:温度、湿度、气压、光照强度、紫外线强度。选择这些参数的原因,基于以下几方面: 温湿度数据可以给让我知道外面是高温还是低温,干燥还是湿润,这对一些出行需要携带的衣物以及保湿工作起到很好的参考作用。气压数据很能说明接下来的天气情况,相信大家都知道雨前蜻蜓低飞的原因,就是因为气压较低,如果当前测得的气压较低,那么周边高气压的区域的空气会向低气压区域流动,低气压区域的空气就是越聚越多,导致空气上升,遇冷凝结,造成降雨。所以气压数据可以很好的预报将来是否会有降雨发生。光照强度以及紫外线强度可以很好提醒我是否需要防晒以及携带墨镜等等,因为并不是光照强度越大紫外线强度就越大的,前者表示了照明强度,单位是勒克斯,后者表示了紫外线的强度,单位是瓦每平方米。在中国近赤道的城市,太阳的紫外线强度普遍比其他城市大,但是光照强度并不会比一些“火炉”城市大。这就是为什么有的太阳光看起来不耀眼,实际上很伤害我们的皮肤。3.传感器选择 这个气象站由于需要长时间使用,那么在倡导节能减排的今天,低功耗是必须要考虑在内的。所以对于传感器的选择,我使用了一些采用iic接口通讯的数字传感器,既可以保证数据的精确,也可以设置传感器进入低功耗的模式。下面是我所 使用的传感器,输入这些名字就可以在某宝搜索到 : SHT20 :温湿度传感器BMP280:气压传感器VEML6070:紫外线传感器BH1750:光照强度传感器 4.代码的编写: 这么多传感器的调试是一个比较费时费力的工作,我耗费了几乎一周的时间来调试这些传感器,索性终于都可以正常的输出数据了。下面用一张表来解释气象站的代码逻辑: 可以看到,在程序开始执行之后,首先初始化了各个传感器以及设置他们的工作模式,然后四个传感器纷纷进入低功耗模式节省电力。由于气象站需要在每次间隔一段时间后上传所有的传感器数据,所以我在这里用到了STC8系列单片机所带有的掉电唤醒定时器,这个定时器在单片机进入掉电模式之后仍然可以运行,这样定时器在设定时间到来之后就会唤醒单片机,这时候单片机就可以依次唤醒所有传感器并且获取数据,然后再次进入掉电模式,等待下一次唤醒。这样我使用所有传感器都带有的低功耗睡眠模式以及单片机的掉电模式很大程度上节省了电力,使得这个气象站使用电池供电成为可能。5.实物的焊接制作调试好了所有的传感器,下面就是把他们焊接到一起了,我使用洞洞板来焊接四个传感器。 焊接好了之后,实测待机状态下的电流数据11uA: 单片机唤醒,采集传感器数据,使用zigbee模块发射出去时的整体电流数据28mA 综合来说,待机状态下的电流数据几乎可以忽略不计(微安级),而在发射状态下,其电流可以达到28ma左右,但是毕竟此状态下需要的时间极少(800ms左右,包括收集传感器数据以及发送)所以气象站决定采用锂电池供电,我采用了比传统锂聚合物电池稳定许多的18650电池(很害怕锂聚合物电池鼓包)。 但是采用了电池供电的设备,免不了更换电池或者充电的苦恼,所以进过一番设计过后,一个永远都不用充电的气象站诞生了: 由于气象站长期在室外(我家阳台上),所以我没有浪费室外较好的太阳能资源,于是我购买了一个太阳能电池板以及一个太阳能充电器,这样在晴天太阳能就可以给电池补充电力,在没有太阳的情况下,则使用锂电池来给气象站供电,下面是太阳能电池板在多云天下的输出电压: 锂电池用的是一个2200mah的18650电池,根据理论计算,满电的18650电池大概够气象站续航: 这样的续航成绩保证了连续近一个半月可以用纯靠电池供电,加上太阳能电池板晴天下近9小时的电力输出,这下可以永远不需要充电了!!但是为了考虑周全一点以及保护电池,我给18650电池增加了一个保护板,这样即使极端环境下,电池也不会过放了。6.气象站输出数据测试 现在气象站可以正常的定时唤醒了,我开始准备测试数据是否正常,链接zigbee的协调器节点到电脑上,打开气象站的电源,可以看到每隔一段时间,串口都会输出一些数据: 下面是对一帧数据的解读:(当前的测试位置是气象站放在室内上,当天晴天) 经过16进制到10进制换算后,可以得到当前的气象数据: 湿度:64.8%温度:32.08度气压:100194帕斯卡光照强度:213勒克斯紫外线强度:1(室内几乎为0,此数据请参考VEML6070的数据手册,作进一步分析)可以看到气象站的数据正确无误,所以接下来就是针对网关的开发了7.网关对应程序的编写: 由于ZIgbee协调器节点是采用串口通信的方式,于是需要ESP8266的串口来于协调器节点进行通信,所以我使用了Arduino自带的软串口库,这样我可以随意定义两个io口作为串口使用。 网关对于气象站来的数据需要分为接受,处理,上传到物联平台共3个过程,所以我一部分一部分的讲解如何处理。 接受过程: 从之前的气象站测试数据图来看,一帧数据一共有近20多个字节,所以当一帧数据到来时,我一次性的将其从串口取出,并且依据数据的格式,从中获取节点类型,节点编号,指令类型,数据长度等信息。 得到了这些数据之后,就方便我的网关去判断到底数据来自哪个设备,从而执行相关的程序。那么现在我的网关凭借节点类型知道了是无线气象站发来的数据,接下来就进入到数据处理的过程了。 处理过程:大家可以看出,气象站发来的数据全部是16进制的,所以我需要将其转换成整数型变量,以便发送到物联平台。在气象站的数据包中,取其中数据如下: 经过一些移位操作,我获得了所有的数据(十进制格式),下面就方便我上传到物联平台了! 对接物联平台过程: 这次我使用的物联平台是贝壳物联平台,是免费的,只要注册一个账号即可使用,并且有手机APP以及微信小程序,这样给我以后的控制提供了很多选择。连接方式是采用TCP链接,即我的网关需要不停的发送心跳包来保持一个在线的状态,建立好TCP链接之后,只需要向服务器不停的上传数据,这些数据就可以正常的在手机上查看了。这里借用贝壳物联通讯协议中的一个图片来说明。 得益于Arduino众多的库文件,只需要几行代码,就可以链接到自家的WIFI并且建立一个TCP链接了。 之后的事情变得简单了许多,由于贝壳物联平台的通讯格式采用的是json字符串(这也是大多数物联平台网站要求的通讯格式,即智能设备发送给服务器,服务器反馈回数据都是这个格式),所以我添加了一个用于处理json字符串的json库,这样我的智能网关就可以处理来自服务器的数据了。 至此对接物联平台的工作就完成了,下面开始演示!【照片演示】 编写好代码,并且用arduino自带的millis函数来让ESP8266每隔5s上传一次气象站发送来的数据,下载代码到ESP8266后,登录贝壳物联手机端,我查看到了这些信息: 此时ESP8266成功的收到了zigbee协调器发送来的数据,并且成功的将数据的格式转换了过来,上传到了服务器。 至此,我实现了气象站以及网关的设计,电路搭建以及数据的上传。给家里添加了相对准确的气象参考数据,并且只要我的手机有网络的情况下,随时可以查看家中的气象数据,给家庭带来了很大方便。接下来智能墙壁开关,无线遥控开关的设计制作我会持续发帖更新,以及其他更多的智能设备加入。【相关文件或资源】 在这里我附上全部各个传感器的调试代码(基于STC8系列单片机开发),所以你如果也使用了STC8系列的单片机,可以直接使用。#制作过程之智能墙壁开关篇#下面是介绍智能墙壁开关的设计,核心就是使得家里墙壁开关智能化,可以联网控制,达到场景联动,智能控制等目的。我尝试就家中的传统开关进行改造,但是发现拆开之后内部空间实在不够,没法完成改装 于是尝试网购新的开关,寻找空间大些的墙壁开关,后来我找到了专门生产触摸智能开关外壳的厂家,购买了几个触摸墙壁开关的外壳,内部空间较大,适合改造 由于是触摸面板,所以我准备使用触摸模块作为输入,那么这就带来了一个问题,控制方式的转变。传统的墙壁开关,开关的位置(抬起,按下)代表了不同的开关状态,现在变成触摸模块后,每一次触摸,代表的是开关状态的变化,即触摸一次,开关的状态变化一次(开变成关/关变成开),所以在代码的逻辑中,我会注意到这个控制模式的变化。关于执行机构,也就是一充当原来机械开关的器件,我准备使用继电器来代替。继电器可以让我使用单片机输出的信号去控制220V交流电压的通断,并且提供良好的隔离以及绝缘性能。 1.代码的编写:选择了继电器以及触摸模块之后,我在面包板上搭建了电路,接下来就是编写代码了 对于 智能开关节点,我将zigbee模块配置成了路由器节点,这样做的好处是,墙壁开关同时扮演了一个路由器的角色,看可以协助一些远距离的终端节点完成多跳数据传输。。例如我想在卧室使用一个无线开关(下一章将会说到)去控制家门口的灯光,直接将数据发送到家门口的智能开关上或许信号强度不够造成通信失败,这时我在客厅增加一个路由器节点之后,无线开关的信号便可以传输到家门口的智能开关上。 同样的,为了响应国家节能减排的号召,我给单片机配置成了空闲模式以节省功耗,但是空闲模式下单片机没法正确及时的检测到触摸按键的按下,所以我使用单片机的外部中断来检测触摸按键,当触摸按键按下时,单片机检测到电平变化,引发中断,唤醒单片机,使得单片机执行相关指令。 当zigbee模块收到来自智能网关的数据时候(例如闭合开关或者断开开关),其输出数据引发的串口中断也会唤醒单片机,这时候单片机会执行收到的指令,随后再次进入空闲模式。 此外,为了更好的检测每个开关的状态,每次开关有动作之后,会将当前的状态上报给智能网关,以便网关检测家中所有的开关状况。 2.开关的测试:链接zigbee的协调器节点到电脑上,打开智能开关的电源,可以看到每当我触摸开关,对应的继电器都会动作,并且协调器节点串口都会输出一些数据: 下面是一帧数据的解读 测试完毕,智能开关达到了我想要的功能,下面就是针对我购买的外壳设计PCB板了3.智能开关PCB的设计与制作:对于购买的外壳,我先找到了一张厂家提供的CAD图纸,上面标有了一些基本尺寸,这样方便我去设计一块合适的PCB板。将之前在面包板上搭建的电路,绘制成原理图之后效果如下: 转换成PCB文件后,经过简单的元件摆放以及布线后,完成的效果如下: 将交流高压部分和直流低压部分开槽隔离,提供了较好的抗干扰特性。而反面则设有zigbee模块以及单片机的位置。 约几天后,我收到了制作好的板子。 同时到来的还有一些元器件。 焊接过程太繁琐无聊,略去。焊接好之后的效果图 安装上触摸模块之后,使用双面胶将触摸模块粘贴在面板玻璃上。 烧录程序,合上外壳背后使用标签标明出接线口定义,方便安装。 使用智能开关替代家中的传统开关。 4.网关对应程序的编写:这部分的程序主要是网关接受物联平台发来的控制指令json字符串,然后解码翻译,最后通过zigbee网络告知智能开关引起相应动作。所以其核心在于接受服务器的json字符串,解释其含义。同样的,还是使用Arduino的json库来处理这些信息,查阅物联平台的通讯协议手册,发现采用如下格式: 所以只需要解读say指令后面附带的指令即可,于是很快的,一个使用else if语句的并列结构就写好了,程序对收到的字符串依次判断,如果相同则发送指令给智能开关。 上传程序到ESP8266,开始测试!5.综合测试安装智能开关到位,接上网关的电源,触摸触摸开关,电灯可以正常开启关闭 拿出手机,打开物联平台,按下开启电灯按钮,电灯开启。 测试完毕至此,我实现了智能开关的设计,电路搭建以及使用网络控制。并且支持各种功能扩展(定时开关,和人体传感器联动等等),升级空间十分大,并且可联网控制,给生活带来了很大方便。:#制作过程之智能墙壁开关篇#下面是介绍智能墙壁开关的设计,核心就是使得家里墙壁开关智能化,可以联网控制,达到场景联动,智能控制等目的。我尝试就家中的传统开关进行改造,但是发现拆开之后内部空间实在不够,没法完成改装 于是尝试网购新的开关,寻找空间大些的墙壁开关,后来我找到了专门生产触摸智能开关外壳的厂家,购买了几个触摸墙壁开关的外壳,内部空间较大,适合改造 由于是触摸面板,所以我准备使用触摸模块作为输入,那么这就带来了一个问题,控制方式的转变。传统的墙壁开关,开关的位置(抬起,按下)代表了不同的开关状态,现在变成触摸模块后,每一次触摸,代表的是开关状态的变化,即触摸一次,开关的状态变化一次(开变成关/关变成开),所以在代码的逻辑中,我会注意到这个控制模式的变化。关于执行机构,也就是一充当原来机械开关的器件,我准备使用继电器来代替。继电器可以让我使用单片机输出的信号去控制220V交流电压的通断,并且提供良好的隔离以及绝缘性能。 1.代码的编写:选择了继电器以及触摸模块之后,我在面包板上搭建了电路,接下来就是编写代码了 对于 智能开关节点,我将zigbee模块配置成了路由器节点,这样做的好处是,墙壁开关同时扮演了一个路由器的角色,看可以协助一些远距离的终端节点完成多跳数据传输。。例如我想在卧室使用一个无线开关(下一章将会说到)去控制家门口的灯光,直接将数据发送到家门口的智能开关上或许信号强度不够造成通信失败,这时我在客厅增加一个路由器节点之后,无线开关的信号便可以传输到家门口的智能开关上。 同样的,为了响应国家节能减排的号召,我给单片机配置成了空闲模式以节省功耗,但是空闲模式下单片机没法正确及时的检测到触摸按键的按下,所以我使用单片机的外部中断来检测触摸按键,当触摸按键按下时,单片机检测到电平变化,引发中断,唤醒单片机,使得单片机执行相关指令。 当zigbee模块收到来自智能网关的数据时候(例如闭合开关或者断开开关),其输出数据引发的串口中断也会唤醒单片机,这时候单片机会执行收到的指令,随后再次进入空闲模式。 此外,为了更好的检测每个开关的状态,每次开关有动作之后,会将当前的状态上报给智能网关,以便网关检测家中所有的开关状况。 2.开关的测试:链接zigbee的协调器节点到电脑上,打开智能开关的电源,可以看到每当我触摸开关,对应的继电器都会动作,并且协调器节点串口都会输出一些数据: 下面是一帧数据的解读 测试完毕,智能开关达到了我想要的功能,下面就是针对我购买的外壳设计PCB板了3.智能开关PCB的设计与制作:对于购买的外壳,我先找到了一张厂家提供的CAD图纸,上面标有了一些基本尺寸,这样方便我去设计一块合适的PCB板。将之前在面包板上搭建的电路,绘制成原理图之后效果如下: 转换成PCB文件后,经过简单的元件摆放以及布线后,完成的效果如下: 将交流高压部分和直流低压部分开槽隔离,提供了较好的抗干扰特性。而反面则设有zigbee模块以及单片机的位置。 约几天后,我收到了制作好的板子。 同时到来的还有一些元器件。 焊接过程太繁琐无聊,略去。焊接好之后的效果图 安装上触摸模块之后,使用双面胶将触摸模块粘贴在面板玻璃上。 烧录程序,合上外壳背后使用标签标明出接线口定义,方便安装。 使用智能开关替代家中的传统开关。 4.网关对应程序的编写:这部分的程序主要是网关接受物联平台发来的控制指令json字符串,然后解码翻译,最后通过zigbee网络告知智能开关引起相应动作。所以其核心在于接受服务器的json字符串,解释其含义。同样的,还是使用Arduino的json库来处理这些信息,查阅物联平台的通讯协议手册,发现采用如下格式: 所以只需要解读say指令后面附带的指令即可,于是很快的,一个使用else if语句的并列结构就写好了,程序对收到的字符串依次判断,如果相同则发送指令给智能开关。 来自:Hackaday Prize 2019时间:2019-08-14 diy制作
  • 全自动微缝涂胶贴标机

    本文首发DF创客社区,作者:DFBktToa_yB原文链接:http://mc.dfrobot.com.cn/thread-289777-1-1.html现在市场上有一种纸做的环保笔很流行,一个朋友就是做这种笔用纸管的,但是这种纸管样式太单一很难跟其他人有差异化,为了增加卖点需要在表面贴一层花纹纸来让产品更好看更有特点,现在市场上流行的是一种表面压了软木的牛皮纸,厚度在0.4mm左右跟名片的厚度差不多不过没那么硬,就是下图这种; 贴这种纸目前是两种做法,一种是螺旋式的机器卷绕,优点是贴的牢不容易松,缺点是缝隙略大而且由于缝隙是螺旋式的所以不管从哪个角度看都能看到缝隙;还有一种是人工贴,贴出来是竖直的一条直缝,缝隙小且只有人面向直缝那个方向时才会看到缝隙,将来容易做成类无缝,缺点是人工贴太慢还不容以把控质量成本自然就高。那个朋友倾向于朝直缝贴纸这个方向发展,所以他找我设计了这款机器,能将包括木纹纸在内的 各种花纹纸 在线涂胶并贴在纸管的表面,重点是缝隙要小,决定缝隙大小的主要因素是纸管外径的一致性和纸张长度的精确性,这台机器用步进电机送纸激光切断,确保了纸张长度的精确性,还能一机多用对各种直径的纸管和各种样式的花纹纸都能轻松适配,初定速度:1根/秒。在确定用激光这种方案之前还走了不少弯路,虽然做之前做了充分调研,看了各种干、湿贴标机还有图中这种电子行业的看似很高级的贴标机, ,比较过后发现市场上现有的机器都不行,不适用,综合成本可靠性等权衡之后确定了方案,画了设计图,买了配件,加工好之后拿回来装配,这是第一次装配的样子(没错,这次失败了,确实还有第二次): 看到上边第三张和第四张图了吗,就是放在桌子上锃光瓦亮的小零件,就这个东西,来来回回费了好大力气,最终以失败告终,所以第一版就这么结束了。(可能我有预感不会那么顺利,所以第一版并没有做机架,因为我知道还要改,机架做了也白做——蹲在地上干活真费劲)。经过讨论,切纸的工序换成激光,用激光把涂了胶水的纸切断,经过一段时间的重新设计、加工、才买配件,第二版开始装配了,这一次我做了机架并预留了配电箱的位置(预感这次没问题): 上边的第三张图,装配基本完成了,配电板先用木板临时装一下,然后开机运行;另外比较惭愧的是本人不会编程,所以用了这种指令式的可编程控制器,对于像我这种不会写程序的机械狗来说非常合适,价格也不贵,推荐: 下面是运行视频的截图: 这是成堆的纸管自动落料到输送带上一根根排列好的样子, 这张图是经过涂胶、切断、卷贴之后成品出来的样子。速度 1根/秒(能变速),适用于不同直径的管子、圆瓶、圆棒以及不同厚度、硬度的各种纸张、标签等。下面是卷出来的成品图特写,可以看到中间的缝隙即便是用相机拍出来都已经很小很小了,人眼看着的效果会更好一点,但是两端缝隙还是稍大,这是因为激光切割头的Y轴加速度太小,调整Y轴的加速度之后两端缝隙也变得和中间一样了(没拍照),再切掉两头的5mm就算成品了(还需要再做一个自动切头的小装置);再之后加装外壳、配电箱、防护板等等东西,就算完成了。哎,一把辛酸泪。。郑晓伟17717372392
    来自:Hackaday Prize 2019时间:2019-08-19 diy制作
  • 基于Processing语言的可编程LED特效灯

    本文首发于DF创客社区,作者:晓庆原文链接:http://mc.dfrobot.com.cn/thread-296806-1-1.html1.简介这是一款十分炫酷的可编程LED特效灯,例如人造火焰、雪花飘落等动态的效果。通过processing语言可以编程生成各种显示效果,提供丰富多样的交互方式,包括音乐,声音,传感器和其他东西在内的输入。可以应用于晚会,酒吧等场所,营造特殊光影效果。硬件:树莓派3B+开发版 x 1Fadecandy 开发板 × 11米LED灯带 × 2电源开关 × 1软件:Processing优势:提供非常绚丽的LED显示颜色,显示效果可以编程。提供非常酷炫的交互方式,比如声音反馈、与 API 连接并获取喜欢的服务、IFTTT集成、语音识别,以及许多其他功能。进度:作品已完成,已上传先看一段炫酷的视频吧(温馨提醒:视频中某些光线的变化模式或者闪光灯的方式,可能会引起极少数人出现癫痫症状。如有不适请立即停止观看)。配合音乐享用效果更佳2.原理说明 整个LED显示效果由部署在服务器(Windows/Mac/Raspberry/IOS/Android)processing语言生成,processing 的sketch实例能够通过采样点转换位图。树莓派作为服务器的角色,给fadecandy传输指令从而间接驱动灯条。采样点发送到fadecandy开发板,由fadecandy驱动8x15 的LED阵列,LED的光透过漫反射的PVC塑料管呈现出来。Processing Processing是一种具有革命前瞻性的新兴计算机语言,它的概念是在电子艺术的环境下介绍程序语言,并将电子艺术的概念介绍给程序设计师。它是Java 语言的延伸,并支持许多现有的Java 语言架构,不过在语法(syntax) 上简易许多,并具有许多贴心及人性化的设计。Processing可以在Windows、MAC OS X 、Linux 等操作系统上使用。目前最新版本为Processing 3。以Processing 完成的作品可在个人本机端作用,或以Java Applets 的模式外输至网络上发布。官方网站:https://processing.org下载地址:https://processing.org/download/ 效果很明显。颜色非常好,有时亮度也很高。这是一种控制光源阵列的很棒的方法,这意味着就算你不必是专业程序员,只需通过在 Photoshop 中制作的内容就做到很酷的效果。这里不得不提openprocessing.org 这个网站,它提供了丰富的草图并支持在线编辑工具。Processing还附带了一个很棒的工具用于浏览和安装所需要的库。 Fadecandy 采用了Micah Elizabeth Scott的Fadecandy开发板来。她一直在从事艺术和互动实验的灯光特效工作。正如她在网站(https://www.misc.name/fadecandy)上展示的那样,大多数普通的LED 控制器在混合色调或显示正确的色彩时效果很差。于是,她制作了Fadecandy开发板来解决这些问题。更好的是,它可以通过USB 连接到大小型计算机,还可以嵌入到计算机(像树莓派一样)进行控制。也可以直接与Processing 进行接口,Processing 也可以在树莓派上使用,完全可以满足这种小规模的需求。树莓派 Raspberry Pi是一款针对电脑业余爱好者、教师、小学生以及小型企业等用户的迷你电脑,预装Linux系统,体积仅信用卡大小,搭载ARM架构处理器,运算性能和智能手机相仿。在接口方面,Raspberry Pi提供了可供键鼠使用的USB接口,此外还有快速以太网接口、SD卡扩展接口以及1个HDMI高清视频输出接口,可与显示器或者TV相连。Ws2812 LED灯带 这个可控制的多彩LED灯带,不过多介绍。制作过程软件准备 1. 在Mac/Windows和树莓派上下载并安装processing 3(https://processing.org/download/),2. 下载并安装fadecandy软件到树莓派(https://github.com/scanlime/fadecandy/releases),调试过程中可以把fadecandy部署在Mac/Windows上。3. 下载processing的sketch。硬件准备 1. 树莓派3B2. 淘宝海外代购fadecandy开发版3. ws2812 60珠LED灯带2米。4. 直径5cm,长度30cm的PVC管。5. 直径10cm,长度30cm的漫反射PC管。6. 5V 6A电源。制作过程LED 灯的布局LED 我在某宝购买了两个1米长的带60个LED 的WS2812防水灯带,一个5V,6A, 30W 的电源 和一个 Fadecandy 开发板。沿着PVC 管四周缠绕8条垂直的灯带,每条灯带上带15个灯,这样的高度和 LED 密度,可以改善LED灯的分辨率。 将灯带固定在PVC管上 完成外壳的部分 我会根据灯带展开的形式,决定灯带的长度。我采用光扩散PC管覆盖在LED灯的周围。 采用了Autodesk Fusion 360 软件自行设计了灯的底座外壳,采用3D打印机耗时两天打印出来。 我希望灯能够放在房子里的任意一个角落,而不是一直通过 USB 连接电脑。这意味着我需要选择小型的独立的计算平台与我的设计相匹配,需要能运行 Fadecandy 服务器并运算为LED供电的 Processing sketch。将软件部署在树莓派3B+,并集成为一个独立的LED灯。 成品化 产品外观 配合Andriod APP控制 显示效果 通过Processing 的IOS客户端控制特效灯 配合IOS App显示效果
    来自:Hackaday Prize 2019时间:2019-08-15 diy制作
销量
3
查看
423
参数名 参数值
发布于 2019 年 07 月 12日
更新于 2019 年 07 月 12日
芯片资料
相关文章

Moore8直播课堂

tracer