HuaShine2015 发表于 2017-4-15 22:58:41

创客成长之路 -- 先定一个小目标做他个小项目【上篇】

本帖最后由 HuaShine2015 于 2017-4-21 10:18 编辑

        四月已到,炎炎夏日也不远了。作为一个伪Maker无时不刻不脑洞开开,突发奇想做了便携式紫外线指数检测小玩具。
完整项目资料可在我的github代码仓库获得github仓库传送门
产品完成后:

使用演示:
        共开发了三种版本的固件,演示一下usbkey自动打印模式
      推荐使用此模式,兼容Android和iOS系统,免权限需求,无需安装任何APP软件

固件更新演示:
        Linux:右键选择执行工具包内uvd_firmware_upload_for_linux.sh或命令行sudo ./uvd_firmware_upload_for_linux.sh
       
        Windows:双击执行工具包内uvd_firmware_upload_for_win.hta文件


       简述一下项目开发过程。

项目背景:
        全球气候变暖,臭氧层日渐稀薄。在炎热的夏季UVB波长紫外线杀伤力越来越强。白内障和皮肤病发病率变日益增多
项目目标:
        开发一款微型,便携,低功耗电子装置,在夏天快速实时检测紫外线指数,获得是否需要加强防晒和佩戴墨镜的信息
------------------------------------------------------------------------------------------------
项目需求:
        可检测UVB波长紫外线
        检测指示简单明确
        微型化低成本低功耗
        手机或其他电子装置USB直接供电
        可脱机工作,可无需安装APP工作
        兼容Win/Linux/MACOS/Android/IOS
        可以通过USB HID虚拟多种设备接口类型,方便上位机APP开发
需求扩展:
        可方便使用USB口直接下载多种固件,供用户二次多用途创意开发
------------------------------------------------------------------------------------------------
项目硬件选型:       
        MCU使用8bit Attiny85,微功耗,免外围器件,自带AD转换IO,8K flash足够开发整个业务流程
        紫外线检测器件选用模拟类型器件GUVA-S12SD,搭配单运放器件SGM8521放大输出
        采用micro USB公头直插手机USB口供电和数据传输,免带数据线
项目软件选型:
        MCU使用bootloader实现USB线直接更新固件功能(micronucleus_V2.03,可剩余6255bytes给应用代码编程)
        USB驱动库使用AVR原厂V-USB库的二次封装库digistump库
------------------------------------------------------------------------------------------------
项目硬件实现:
        线路图

        PCB Layout

项目软件实现:
        共开发了四种固件(usbkey自动打印模式,USBHID直接通信模式,CDC虚拟串口通信模式,核心模式)       
        另外开发了PC端固件更新工具包,供给使用者方便的刷新不同版本固件和后续二次开发
        可在Windows/Liunx/MACOS三种系统下使用,工具内整合了驱动安装功能
        应用固件源码下载传送门
        固件更新工具包下载传送门
        PCB gerber下载传送门

未完待续。。。

弘毅 发表于 2017-4-16 14:40:39

看到小目标。。。。。。

mikeliujia 发表于 2017-4-16 20:01:40

挺有创意的,为何选择Attiny85?

单片机菜鸟 发表于 2017-4-16 20:50:49

给楼主点个赞

HuaShine2015 发表于 2017-4-17 12:31:13

mikeliujia 发表于 2017-4-16 20:01
挺有创意的,为何选择Attiny85?

ATTINY13 2K flash装完bootloader就不够折腾了。用其他AVR又太浪费资源。

maxims 发表于 2017-4-18 11:37:44

本帖最后由 maxims 于 2017-4-18 11:40 编辑

HuaShine2015 发表于 2017-4-17 12:31
ATTINY13 2K flash装完bootloader就不够折腾了。用其他AVR又太浪费资源。

同意~
不过,85的io折腾太蛋疼……

不过,我想知道,苹果手机也支持这个?

HuaShine2015 发表于 2017-4-19 15:52:35

maxims 发表于 2017-4-18 11:37
同意~
不过,85的io折腾太蛋疼……



MAC OS是支持的,底层都是基于libusb,iOS理论上应该也支持。
刚借朋友iPhone6测试了一下MicroUSB转lighting口,不供电
可能是这种转接头线路没有boost升4.2v-5v的输出

maxims 发表于 2017-4-21 23:09:35

HuaShine2015 发表于 2017-4-19 15:52
MAC OS是支持的,底层都是基于libusb,iOS理论上应该也支持。
刚借朋友iPhone6测试了一下MicroUSB转ligh ...

我最近在研究usb-hid。
我在想,一颗usb-ttl芯片比attiny85贵吧。
想用一颗85跑usb-hid,模拟串口传输数据……

rockze 发表于 2017-4-24 13:25:59

做一个蓝牙客户端。
然后做一个通用蓝牙模块,带电池的,要做小点。

把需要的功能模块放到蓝牙模块里,然后和手机通信取得数据.

HuaShine2015 发表于 2017-4-24 14:36:18

maxims 发表于 2017-4-21 23:09
我最近在研究usb-hid。
我在想,一颗usb-ttl芯片比attiny85贵吧。
想用一颗85跑usb-hid,模拟串口传输 ...

可以做,但是需要你自己开发Android端应用驱动
考虑成本也可以用USB/HT42B534单芯片方案,SOP-8封装无需外围器件,每片1.8元

HuaShine2015 发表于 2017-4-24 14:44:21

rockze 发表于 2017-4-24 13:25
做一个蓝牙客户端。
然后做一个通用蓝牙模块,带电池的,要做小点。



BLE SOC想法不错,挑战也不小。
推荐你三种方案TI CC2540,Dialog DA14681,Nordic nRF51822
DA公司要被苹果公司抛弃了,估计芯片价格会降下来,呵呵你懂的
另外也可以用创客神器ESP32

antbot 发表于 2017-4-28 07:43:38

很有创意,不错的小玩意儿~

maxims 发表于 2017-5-2 13:56:00

HuaShine2015 发表于 2017-4-24 14:36
可以做,但是需要你自己开发Android端应用驱动
考虑成本也可以用USB/HT42B534单芯片方案,SOP-8封装无需 ...

我是for pc端的。
HT这个芯片看了一下Datasheet,感觉相当的棒啊!!!

另外,我咨询一个问题。
我想用Attiny85解码IR接收,然后模拟驱动WS2812B的方式(归零码传输数据),然后给另外一个单片机通讯,可行性高么?

quanxi 发表于 2017-5-2 19:17:46

作为新手我看看就好

HuaShine2015 发表于 2017-5-4 09:19:04

maxims 发表于 2017-5-2 13:56
我是for pc端的。
HT这个芯片看了一下Datasheet,感觉相当的棒啊!!!



可以,Adafruit_NeoPixel.h和IRLib.h两个库导入后占Flash 2.2K左右,剩下的做够你业务流程代码
页: [1] 2
查看完整版本: 创客成长之路 -- 先定一个小目标做他个小项目【上篇】