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

2017-06-015.4万
AI 快速预览详细 收起
本项目介绍了如何使用FireBeetle Board-ESP32主板制作一个可穿戴的电弧打火机。硬件清单包括电弧点火器、NPN三极管、电阻、二极管等。通过详细的电路原理图和3D打印外壳设计,用户可以轻松组装并下载程序到主板。最终效果是一个可以通过触控按钮控制打火的可穿戴设备。
  对于一个烟民来说,是否有过想抽烟却找不到打火机的经历?是否想过如果打火机可穿戴该有多好?没错,我就经历过这样的痛苦。话不多说,先晒两张照片:
【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源文件也在里面)。

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





  

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(16)
派大星ym
派大星ym
////
派大星ym
派大星ym
厉害厉害
风悠扬0539
风悠扬0539
这个打火机能带上飞机吗
zzy
zzy
wow,这个不错啊
flashyidea
flashyidea
不玩火,但是点火的方式可以学一学
俺是胡胡
俺是胡胡回复flashyidea
对对对
Chocho2017
Chocho2017
作者
回复flashyidea
对的。
xiaohe9527
xiaohe9527
发个打火的视频
jfMTScEaoh0s
jfMTScEaoh0s回复xiaohe9527
肯定好玩
秦皇岛岛主
秦皇岛岛主
能否发个打火的照片
沧海笑
沧海笑
师兄软件硬件都很了得!赞一个!
Richard.Su
Richard.Su
确定打火的时候不会把旁边的PLA融化?
Chocho2017
Chocho2017
作者
回复Richard.Su
不会的,是电弧遇到物体才会燃的,外壳周围根本就没有问题。
hnyzcj
hnyzcj
LUNA开发了新玩法
luna
luna
造型好像鸭嘴兽;P

Chocho2017
Chocho2017
作者
那两个凸起的峰,看到了么?上面有两个导线电极,是通过它们打火的。
Grey
Grey回复Chocho2017
感觉像防狼的+1
luna
luna回复Chocho2017
有视频最佳~~论坛里都是不抽烟的好孩子~
许培享
许培享
防狼器也可以吧
luna
luna回复许培享
:) 遇到色狼,直接喷火~~啊哈哈
hnyzcj
hnyzcj
我也想知道怎么打火:lol,不过样子很个性
Grey
Grey
我就想知道这是怎么打火的?求详解
Grey
Grey回复luna
感觉像防狼电击棒。。。。
Cain
Cain回复Grey
电弧啊。。。打个火星然后像于谦那样使劲嘬一口就着了
共3条回复,已加载2条,点击查看更多共3条回复,已加载全部
Chocho2017
Chocho2017
作者
照例,自己先抢个沙发。
- 没有更多了 -