28815浏览
查看: 28815|回复: 26

[项目] 【FireBeetle Board-ESP32应用教程】让你的打火机可穿戴

[复制链接]
  对于一个烟民来说,是否有过想抽烟却找不到打火机的经历?是否想过如果打火机可穿戴该有多好?没错,我就经历过这样的痛苦。话不多说,先晒两张照片:
【FireBeetle Board-ESP32应用教程】让你的打火机可穿戴图8

【FireBeetle Board-ESP32应用教程】让你的打火机可穿戴图10

【FireBeetle Board-ESP32应用教程】让你的打火机可穿戴图11

  呵呵,体积有点儿大,不过效果已经很明显了,至少我自己都被迷住了。
  我的打火机和传统的打火机不一样,是采用电弧打火的,通过触控按钮来控制打火。触控按钮采用FireBeetle Board-ESP32主板GPIO自带的触摸功能。而且,可以看出,他还是一个手表。下面我将制作过程分享给大家。

一、硬件清单
  电弧点火器高压升压线圈×1
  NPN三极管×1
  51Ω电阻×1
  1KΩ电阻×1
  1N4007二极管×1
  大功率NPN三极管×1
  FireBeetle Board-ESP32主板×1
  FireBeetle Covers-Proto Board×1
  FireBeetle Covers-24×8 LED Matrix×1
  3.7V锂电池×1
  注意:部分原件可以在DFRobot商城采购到。

二、硬件连接
1、电路原理图,如下图所示:
【FireBeetle Board-ESP32应用教程】让你的打火机可穿戴图6

    将电子元器件按照图中的方式焊接在FireBeetle Covers-Proto Board板上,并将打火机的控制引脚用导线与D3连通,可以直接连接到FireBeetle Covers-Proto Board的D3,因为FireBeetle系列是pin to pin兼容的。
    将Vcc连接到FireBeetle Covers-Proto Board板的Vcc,GND连接到FireBeetle Covers-Proto Board的GND(如果你看不懂原理图那就没得救了)。
  
  2、连接触摸导线
    DFR0478 FireBeetle Board-ESP32主板 自带触摸功能,这里用的是T3(A4)和T5(MCLK/IO12)(触摸引脚对应的端口可以查看FireBeetle Board-ESP32用户使用手册)。将A4和MCLK/IO12分半用导线引出来。

  3、将LED灯板、ESP32主板和焊接好元件的扩展板连接在一起,如下图所示:
【FireBeetle Board-ESP32应用教程】让你的打火机可穿戴图2

    连接的方式可以采用排针和排母插接的方式,方便中间放置锂电池。

三、组装外壳
    外壳采用3D打印机打印,源文件下载地址,点击下载
    组装前需要先下载代码到主板,源代码在压缩文件包中,程序如下:
  1. #include "DFRobot_HT1632C.h"
  2. #include <TimeLib.h>
  3. #define DATA D6
  4. #define CS D2
  5. #define WR D7
  6. DFRobot_HT1632C ht1632c = DFRobot_HT1632C(DATA, WR,CS);
  7. int threshold = 40;
  8. bool touch1detected = false;
  9. bool touch2detected = false;
  10. String twoDigits(int digits){
  11.   if(digits < 10) {
  12.     String i =String(digits);
  13.     return i;
  14.   }else {
  15.     return String(digits);
  16.   }
  17. }
  18. uint8_t utf8ascii(byte ascii) {
  19.   static uint8_t LASTCHAR;
  20.   if ( ascii < 128 ) {
  21.     LASTCHAR = 0;
  22.     return ascii;
  23.   }
  24.   uint8_t last = LASTCHAR;   
  25.   LASTCHAR = ascii;
  26.   switch (last) {   
  27.     case 0xC2: return  (ascii);  break;
  28.     case 0xC3: return  (ascii | 0xC0);  break;
  29.     case 0x82: if (ascii == 0xAC) return (0x80);   
  30.   }
  31.   return  0;
  32. }
  33. void updataClock(void){
  34.   String timenow = String(hour())+":"+twoDigits(minute())+":"+twoDigits(second());
  35.   uint16_t length = timenow.length() + 1;
  36.   uint16_t k = 0;
  37.   char* str = (char*)malloc(length*sizeof(char));
  38.   timenow.toCharArray(str,length);
  39.   length--;
  40.   for(uint16_t i=0;i<length;i++){
  41.     char c = utf8ascii(str<i>);
  42.     if(c!=0)
  43.      str[k++] = c;
  44.   }
  45.   str[k] = 0;
  46.   ht1632c.clearScreen();
  47.   ht1632c.print(str);
  48.   free(str);
  49. }
  50. void gotTouch1(){
  51. touch1detected = true;
  52. }
  53. void gotTouch2(){
  54. touch2detected = true;
  55. }
  56. void setup() {
  57.   Serial.begin(115200);
  58.   pinMode(D3,OUTPUT);
  59.   digitalWrite(D3,LOW);
  60.   ht1632c.begin();
  61.   ht1632c.isLedOn(true);
  62.   ht1632c.clearScreen();
  63.   delay(500);
  64.   touchAttachInterrupt(T5, gotTouch1, threshold);
  65.   touchAttachInterrupt(T3, gotTouch2, threshold);
  66. }
  67. void loop() {
  68.   if(touch1detected){
  69.     touch1detected = false;
  70.     ht1632c.clearScreen();
  71.     ht1632c.print("1");
  72.   }else if(touch2detected){
  73.     touch2detected = false;
  74.     ht1632c.clearScreen();
  75.     ht1632c.print("2");
  76.   }else{
  77.     updataClock();
  78.   }
  79.   delay(50);
  80. }</i>
复制代码
    将触控导线分别穿过外壳预留的按钮安装孔,如下图所示:
【FireBeetle Board-ESP32应用教程】让你的打火机可穿戴图3

    然后,将螺丝弹垫用热风枪吹热,这样方便固定螺丝弹垫到外壳(这个就是触控按钮了):
【FireBeetle Board-ESP32应用教程】让你的打火机可穿戴图4

    注意:不要用手去拿弹垫,小心烫手。
    将弹垫固定到外壳,确保弹垫和导线连接:
【FireBeetle Board-ESP32应用教程】让你的打火机可穿戴图5

    注意:在固定前,需要将高压线圈的两个输出导线穿过外壳:
【FireBeetle Board-ESP32应用教程】让你的打火机可穿戴图12 【FireBeetle Board-ESP32应用教程】让你的打火机可穿戴图1

    然后用热熔胶固定整个外壳。手环和打火机分别用魔术贴连接,如下图所示:
【FireBeetle Board-ESP32应用教程】让你的打火机可穿戴图7

【FireBeetle Board-ESP32应用教程】让你的打火机可穿戴图9

接着,下载程序到打火机,程序源码点击下载(3D源文件也在里面)。

再然后,就完工了。。。。。。





  

本帖被以下淘专辑推荐:

  • · |主题: 32, 订阅: 1

luna  初级技神

发表于 2017-6-5 10:05:22

Chocho2017 发表于 2017-6-2 09:02
那两个凸起的峰,看到了么?上面有两个导线电极,是通过它们打火的。

有视频最佳~~论坛里都是不抽烟的好孩子~
回复

使用道具 举报

Chocho2017  初级技匠
 楼主|

发表于 2017-6-5 17:16:14

Richard.Su 发表于 2017-6-5 14:50
确定打火的时候不会把旁边的PLA融化?

不会的,是电弧遇到物体才会燃的,外壳周围根本就没有问题。
回复

使用道具 举报

Grey  中级技匠

发表于 2017-6-9 18:30:15

Chocho2017 发表于 2017-6-2 09:02
那两个凸起的峰,看到了么?上面有两个导线电极,是通过它们打火的。

感觉像防狼的+1
回复

使用道具 举报

Chocho2017  初级技匠
 楼主|

发表于 2017-6-1 18:12:11

照例,自己先抢个沙发。
回复

使用道具 举报

Grey  中级技匠

发表于 2017-6-1 19:10:53

我就想知道这是怎么打火的?求详解
回复

使用道具 举报

hnyzcj  版主

发表于 2017-6-1 21:12:06

我也想知道怎么打火:lol,不过样子很个性
回复

使用道具 举报

安卓机器人  中级技神

发表于 2017-6-1 21:29:53

防狼器也可以吧
回复

使用道具 举报

Chocho2017  初级技匠
 楼主|

发表于 2017-6-2 09:02:34

那两个凸起的峰,看到了么?上面有两个导线电极,是通过它们打火的。
回复

使用道具 举报

luna  初级技神

发表于 2017-6-5 10:03:37

造型好像鸭嘴兽;P【FireBeetle Board-ESP32应用教程】让你的打火机可穿戴图1

回复

使用道具 举报

luna  初级技神

发表于 2017-6-5 10:04:46

Grey 发表于 2017-6-1 19:10
我就想知道这是怎么打火的?求详解

+1  看来都是不抽烟的好孩子
回复

使用道具 举报

luna  初级技神

发表于 2017-6-5 10:06:07


:) 遇到色狼,直接喷火~~啊哈哈
回复

使用道具 举报

hnyzcj  版主

发表于 2017-6-5 12:49:42

LUNA开发了新玩法
回复

使用道具 举报

Richard.Su  初级技师

发表于 2017-6-5 14:50:58

确定打火的时候不会把旁边的PLA融化?
回复

使用道具 举报

Cain  初级技匠

发表于 2017-6-5 15:37:39

Grey 发表于 2017-6-1 19:10
我就想知道这是怎么打火的?求详解

电弧啊。。。打个火星然后像于谦那样使劲嘬一口就着了
回复

使用道具 举报

沧海笑  高级技师

发表于 2017-6-6 09:55:12

师兄软件硬件都很了得!赞一个!
回复

使用道具 举报

Grey  中级技匠

发表于 2017-6-9 18:30:44

luna 发表于 2017-6-5 10:04
+1  看来都是不抽烟的好孩子

感觉像防狼电击棒。。。。
回复

使用道具 举报

秦皇岛岛主  初级技师

发表于 2017-6-12 09:15:41

能否发个打火的照片
回复

使用道具 举报

xiaohe9527  高级技师

发表于 2017-6-26 16:39:25

发个打火的视频
回复

使用道具 举报

flashyidea  高级技师

发表于 2018-3-9 07:31:17

不玩火,但是点火的方式可以学一学
回复

使用道具 举报

Chocho2017  初级技匠
 楼主|

发表于 2018-3-15 09:20:17

flashyidea 发表于 2018-3-9 07:31
不玩火,但是点火的方式可以学一学

对的。
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

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

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

mail