• 上海合作组织青岛峰会举行 2019-04-20
  • 遭遇隐形歧视 就业权益谁来维护 2019-04-20
  • 杨立新解读2018年天津市《政府工作报告》--天津频道--人民网 2019-04-19
  • 【北京海之沃车型报价】北京海之沃4S店车型价格 2019-04-19
  • 让个体诚信有力推动社会诚信 2019-04-13
  • 习近平会见巴基斯坦总统侯赛因 2019-04-13
  • 罗亦农:“残躯何足惜,大敌正当前” 2019-03-21
  • 由进口至出口再至走向世界,这一路着实不易,其中少不了无数位科研人员的奉献与牺牲。 2019-03-21
  • 查看: 3842|回复: 14
    打印 上一主题 下一主题

    《新人》?。?!用Arduino打造机械传动结构温度计,颠覆你...

    [复制链接]
    本帖最后由 2877137721 于 2018-9-12 13:14 编辑

    无意中观察到家里面使用的温度计,是那种最传统的,使用红色酒精来测量温度的温度计
          这种外观的温度计是我传统意义上对温度计的理解。而现在的厂商设计的温度计未免太没新意,用一块LED显示屏就草草了事,方方正正外观也是十分古板,与家庭氛围不和。我于是想到用传统的温度计外观,结合一些机械结构来显示温度,用同步带齿轮来传达温度的变化,成为家中的一个亮点。
               

    结构:
       首先是选择材料,我之前在亚克力和椴木板上徘徊,不知道用那种材料好,但是观察过一些家庭的装修之后,发现木饰面占据了大多数,我还是觉得使用椴木层板比较好。


       更加吻合现代的风格,并且木板更易于加工,给后面的工序也带来了便利。
       对于温度的显示,我想用类似3D打印机的原理,使用步进电机驱动同步带,同步带带动指针在表盘上移动,这样做保证了指针的稳定和指示温度的精确。也曾想过使用丝杆加滑台来驱动,但是由于丝杆滑台价格高昂,最终放弃。

       接着就是对于电机以及驱动部件的选择,市面上常见的步进电机就是42步进电机,其常常被使用在各种机器人或者3D打印机上,稳定性非常有保障,但是缺点是体积过于庞大,不适合温度计使用,最后经过一番挑选,选用了28BYJ48这款减速步进电机。

       这款步进电机体积小巧,工作电流小,使用ULN2003芯片即可驱动,价格也比42步进电机便宜,并且含有减速装置,在扭矩方面也有了保障。输出轴也是5MMD形轴,可以兼容市面上常见的同步轮。在传动系统的选择上,使用3D打印机常用的标准件即可,我使用了16齿的GT2同步轮作为驱动轮,驱动同步带转动,从动轮方面就比较简单了,用两颗轴承即可,这样做既简单也便宜,没必要花钱去购买惰轮。同步带的松紧决定了指针的指示是否精确,于是我增加了一个张紧弹簧来保证同步带时刻都是张紧状态。

       指针的做法就比较多变了,我使用了一个回形针来指示温度,回形针可以牢固的夹在同步带上,不易晃动。

    电路:
       单片机选择方面,我选择的是ArduinoUno

       因为ArduinUno支持很多开源库以及传感器,所以编写程序起来也是十分简单,易于操作,相比较其他单片机需要了解各种复杂的寄存器起来,ArduinoUno只需要简单的语句即可实现很多功能。单片机性能方面,ArduinoUno所搭载的Atmega328单片机的资源也足够使用,并且有RISC精简指令集的加持,ArduinoUno足够胜任本项目。
       选择好单片机之后,其他元件的选择就简单了许多,温度测量方面使用了DHT11温湿度传感器,它可以测量环境的温湿度,单总线传输数据的方式更加节省端口资源,得益于Arduino的开源环境,使用它也是十分容易,只需要一个函数即可获取温湿度信息,是制作温度计的不二之选。
       步进电机的驱动??槭褂?/font>ULN2003大功率达林顿晶体管阵列???,此??楹芤子谡业讲⑶壹鄹竦土?,搭配我选择的步进电机是不二之选。板载4led指示灯可以清楚的观察到各相的工作状态。

       这里再次感谢Arduino的开源环境,各路大神早已为我们写好了此驱动??榈暮?,我们只需要调用即可。这里是设计好的电路图:
       完成的结构设计以及元件之后,接下来就是设计木板的图纸了,经过一小会忙活,设计好图纸,发送给厂家切割,几天后,收到了切好的木板:
        接下来就是安装了,将各个元件悉数安装到对应位置,并将线路接好:
       因为温度传感器以及步进电机驱动都是使用的数字信号,所以我只使用了ArduinoUno的数字端口。线路与元件都安装好之后,接下俩就是对ArduinoUno编程了。

    程序:
    [C++] 纯文本查看 复制代码
    //首先我们需要引入头文件,没有这些头文件,在编程中一些函数就无法调用。
    
    #include <dht11.h>   //引用dht11温湿度传感器库文件,使得下面可以调用相关参数
    #include <Stepper.h>  ///引用步进电机驱动库文件,使得下面可以调用相关参数
    
    //接着依据电路图,我们来定义元件的接口。
    
    #define DHT11PIN 6     //dht11温湿度传感器的数据输出接在ArduinoUno的6号数字引脚
    Stepper myStepper(stepsPerRevolution,2,3,4,5); //步进电机驱动的输入信号接在ArduinoUno的2,3,4,5号数字引脚
    dht11 DHT11;  //实例化DHT11对象,便于后面读取温度使用
    
    //接下来定义一些变量,来存储温度数据或者步进电机的位置信息
    
    int stepsPerRevolution = 128;  //步进电机每次转动步数
    int temlast=0;    //temlast代表上一次读取到的温度数据
    int chk,tem;     //chk代表读取到的温湿度数据,tem代表读取到的温度数据
    
    //接下来就是初始化程序,里面包含了初始化温度传感器以及各个变量的代码。
    
    void setup() {                                                       
    Serial.begin(9600);           //设置串口波特率
    pinMode(DHT11PIN,OUTPUT);   //定义温湿度传感器的端口为输出
    myStepper.setSpeed(50);      //设置步进电机速度为50r/min
    
    delay(1000);
    chk = DHT11.read(DHT11PIN); //读取温湿度的值赋给chk                                           
    tem=DHT11.temperature;    //从DHT11对象中将温度数据分离出来
    temlast=tem;          //将温度值赋给存储上一次测量温度值的变量,以便接下来的比较
    }
    
    //接下来就是主要循环程序,对于控制步进电机转动的方法,我使用了比较的方法,将上一次测量的温度存储起来,与当前测量的温度值比较,根据比较大小来控制步进电机转动方向,具体实现代码如下。
    
    void loop() {                                                    
    chk = DHT11.read(DHT11PIN);        //读取温湿度的值赋chk 
    tem=DHT11.temperature;         //从DHT11对象中将温度数据分离出来
    
    delay(100);
    Serial.print("Tempeature:");       //串口打印出Tempeature:
    Serial.println(tem);              //打印温度结果
    
    if(tem-temlast>=1)          //如果当前测量温度的结果大于等于上一次测量的温度值1度
    {
    myStepper.step(stepsPerRevolution); //步进电机正向转动
    Serial.println("add");              //串口打印增加
    temlast=tem;                    //更新上一次测量的温度值
    }
    
    else if(tem-temlast<=-1)      //如果当前测量温度的结果小于等于上一次测量的温度值1度          
    {
    myStepper.step(-stepsPerRevolution); //步进电机反向转动
    Serial.println("less");            //串口打印减小
    temlast = tem;                 //更新上一次测量的温度值
    }
    delay(500);                     //延时500ms
    }

       连接电脑,烧写代码到ArduinoUno中,打开串口监视器,根据屏幕上显示的温度数值。
       来调整回形针指针的位置以及张紧弹簧的位置。调整好之后,一件富有科技与艺术的温度计就做成了,有问题的朋友请在下面留言,这款温度计我已经做成了套材,想了解的请访问链接温度计链接

       务必记住,如果有需要的朋友请发送我们的暗号“DFROBOT”给我,我会给你们优惠!

    沙发

    dt  中级技师

    发表于 2018-9-11 18:10:20

    想法很赞,能否搞个图形化编程版本出来
    板凳

    2877137721  中级技师
     楼主|

    发表于 2018-9-11 18:44:14

    dt 发表于 2018-9-11 18:10
    想法很赞,能否搞个图形化编程版本出来

    想过,但是有的图形化编程软件没有步进电机的库文件,所以暂时现用的是arduino原版的编译器
    地板

    hnyzcj  超级版主

    发表于 2018-9-11 20:58:12

    单看想法就是很赞的
    5#

    rzyzzxw  版主

    发表于 2018-9-12 08:11:14

    很赞啊,实用还艺术。
    6#

    屌丝王小明  高级技师

    发表于 2018-9-12 10:36:20

    有趣有趣
    7#

    2877137721  中级技师
     楼主|

    发表于 2018-9-12 13:09:46

    hnyzcj 发表于 2018-9-11 20:58
    单看想法就是很赞的

    谢谢,以后还想搞一个micro bit的版本出来
    8#

    2877137721  中级技师
     楼主|

    发表于 2018-9-12 13:10:38

    rzyzzxw 发表于 2018-9-12 08:11
    很赞啊,实用还艺术。

    挂墙上很好看的,就是现在需要链接着线供电,想着做一个电池版本的出来
    9#

    2877137721  中级技师
     楼主|

    发表于 2018-9-12 13:11:17


    :lol哈哈哈,这温度计很好玩
    10#

    微笑的rockets  NPC

    发表于 2018-9-12 13:38:01

    来来来,搞个心愿单吧。
    11#

    2877137721  中级技师
     楼主|

    发表于 2018-9-13 12:09:39

    微笑的rockets 发表于 2018-9-12 13:38
    来来来,搞个心愿单吧。

    搞了心愿单,但是有些东西DFROBOT商城里面买不到,我就在心愿单里面放了链接。
    12#

    gada888  版主

    发表于 2018-9-19 17:39:47

    不错不错
    13#

    小元  学徒

    发表于 2018-10-10 22:33:08

    dt 发表于 2018-9-11 18:10
    想法很赞,能否搞个图形化编程版本出来

    v,good!ggiiigiigi
    14#

    逆光  学徒

    发表于 2018-11-29 15:26:08

    还可以这么玩,很受启发
    15#

    2877137721  中级技师
     楼主|

    发表于 2018-11-29 19:32:54

    逆光 发表于 2018-11-29 15:26
    还可以这么玩,很受启发

    :lol脑洞大开
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

    硬件清单

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

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

    浙江6加1开奖结果
  • 上海合作组织青岛峰会举行 2019-04-20
  • 遭遇隐形歧视 就业权益谁来维护 2019-04-20
  • 杨立新解读2018年天津市《政府工作报告》--天津频道--人民网 2019-04-19
  • 【北京海之沃车型报价】北京海之沃4S店车型价格 2019-04-19
  • 让个体诚信有力推动社会诚信 2019-04-13
  • 习近平会见巴基斯坦总统侯赛因 2019-04-13
  • 罗亦农:“残躯何足惜,大敌正当前” 2019-03-21
  • 由进口至出口再至走向世界,这一路着实不易,其中少不了无数位科研人员的奉献与牺牲。 2019-03-21