查看: 15580|回复: 47

[原创] 【LPC824lite】+ 易燃气体检测报警器

[复制链接]
  • TA的每日心情
    难过
    2024-3-21 15:13
  • 签到天数: 41 天

    连续签到: 1 天

    [LV.5]常住居民I

    32

    主题

    1820

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1785
    最后登录
    2024-3-21
    发表于 2016-10-25 11:04:26 | 显示全部楼层 |阅读模式
    本帖最后由 飞狼老大 于 2016-10-25 15:20 编辑

    易燃气体检测报警器终于完工了,然后就来给大家展示一下了,反正东西也比较简单,
    先得展示一下报警视频。前面申请贴子准备加了喇叭与电机,大家都感觉有点危险,所以接受大家的建议,将警报改为纯的闪屏警报。


    主要用于检测易燃气体,对于大部分有机易燃气体敏感,
    来的5110驱动里面的字体太小了,6*6的,于是自己做了一套8*6字体分享给大家。
    IMG_1838.PNG IMG_1839.PNG
    看后面的字体应该好看一点了吧!不过间距有点小了。
    硬件连接图比较简单,也没有什么太大的技术含量,以实用为主。
    IMG_1840.JPG
    MQ2传感器与供电模块以及LPC824lite主控板,
    由于MQ2需要预热,功耗较大,同时也是5V工作电压,
    所以使用独立供电,然后共地,使用MQ2的Aout输出模拟电压,
    使用2个10K电阻分压后进入LPC824的A0口。
    IMG_1842.JPG
    使用串口输出到电脑查看数据是否与显示一致,结果当然是正常的。
    IMG_1843.JPG
    主程序代码
    1. #include "mbed.h"
    2. #include "NOKIA_5110.h"

    3. int MQ2read();

    4. /*MQ2 High Error*/
    5. void error();

    6.   /*init LED*/   
    7. DigitalOut myled(P0_7);
    8.     /*init A2*/
    9. AnalogIn MQ2(A0);
    10.      /*init Uart*/
    11. Serial pc(USBTX, USBRX);
    12.      /*init LEDpin*/

    13. /*LCD 背光*/
    14. DigitalOut ledBlueLight(P0_24);

    15. unsigned int MQ2PPM;

    16. int main()
    17. {
    18. LcdPins myPins;  
    19. myPins.sce  = P0_27;
    20. myPins.rst  = P0_13;
    21. myPins.dc   = P0_15;
    22. myPins.mosi = P0_26;
    23. myPins.miso = NC;
    24. myPins.sclk = P0_25;  
    25. NokiaLcd myLcd( myPins );
    26. /* Start the LCD */
    27. myLcd.InitLcd();
    28. char measurestring[8];
    29.   while( 1 )
    30.     {         
    31.        MQ2PPM = MQ2read();
    32.             while(MQ2PPM <=700)
    33.             {
    34.                 myLcd.ClearLcdMem();
    35.                 MQ2PPM = MQ2read();
    36.                 pc.printf("MQ2 = %d,\r\n", MQ2PPM);
    37.                 sprintf(measurestring, "%d", MQ2PPM);
    38.                 myLcd.SetXY(4,2);
    39.                 myLcd.DrawString("MQ2 PPM");
    40.                 myLcd.SetXY(4,3);
    41.                 myLcd.DrawString( measurestring );
    42.                 wait(1);  
    43.             }
    44.             while(MQ2PPM >700)
    45.             {
    46.                  myLcd.ClearLcdMem();
    47.                 MQ2PPM = MQ2read();
    48.                 pc.printf("MQ2 = %d,\r\n", MQ2PPM);
    49.                 sprintf(measurestring, "%d", MQ2PPM);
    50.                 error();            
    51.                 myLcd.SetXY(0,0);
    52.                 myLcd.DrawString( measurestring );
    53.                 myLcd.SetXY(0,1);
    54.                 myLcd.DrawString( "MQ2PPM ERROR" );
    55.                 myLcd.SetXY(0,2);
    56.                 myLcd.DrawString( "Don't Touch" );
    57.                 myLcd.SetXY(0,3);
    58.                 myLcd.DrawString( "Any Electrical" );
    59.                 myLcd.SetXY(0,4);
    60.                 myLcd.DrawString( "Open All " );
    61.                 myLcd.SetXY(0,5);
    62.                 myLcd.DrawString( "Windows" );
    63.                 wait(1);
    64.             }

    65.     }
    66. }

    67. int MQ2read()
    68. {
    69.     float MQ2V = MQ2.read();
    70.     float MQ2_V = MQ2V*3300;
    71.     return(MQ2_V );
    72. }

    73. void error()
    74. {
    75.     ledBlueLight = 1;
    76.     wait(0.2);
    77.     ledBlueLight = 0;
    78.     wait(0.2);   
    79. }
    复制代码
    8*6字体

    1. const char FONT_8x6[570] = //should be 564 total char
    2. {
    3.     0x00, 0x00, 0x00, 0x00, 0x00, 0x00,// ' ':
    4.     0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, // '!':
    5.     0x00, 0x00, 0x07, 0x00, 0x07, 0x00,// '"':
    6.     0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14,// '#':
    7.     0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12, // '美刀标':
    8.     0x00, 0x62, 0x64, 0x08, 0x13, 0x23,// '%':
    9.     0x00, 0x36, 0x49, 0x55, 0x22, 0x50,// '&':
    10.     0x00, 0x00, 0x05, 0x03, 0x00, 0x00, // "'":
    11.     0x00, 0x00, 0x1c, 0x22, 0x41, 0x00,// '(':
    12.     0x00, 0x00, 0x41, 0x22, 0x1c, 0x00,// ')':
    13.     0x00, 0x14, 0x08, 0x3E, 0x08, 0x14,// '*':
    14.     0x00, 0x08, 0x08, 0x3E, 0x08, 0x08,// '+':
    15.     0x00, 0x00, 0x00, 0xA0, 0x60, 0x00,// ',':
    16.     0x00, 0x08, 0x08, 0x08, 0x08, 0x08,// '-':
    17.     0x00, 0x00, 0x60, 0x60, 0x00, 0x00,// '.':
    18.     0x00, 0x20, 0x10, 0x08, 0x04, 0x02,// '/':
    19.     0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E,// '0':
    20.     0x00, 0x00, 0x42, 0x7F, 0x40, 0x00, // '1':
    21.     0x00, 0x42, 0x61, 0x51, 0x49, 0x46,// '2':
    22.     0x00, 0x21, 0x41, 0x45, 0x4B, 0x31,// '3':
    23.     0x00, 0x18, 0x14, 0x12, 0x7F, 0x10,// '4':
    24.     0x00, 0x27, 0x45, 0x45, 0x45, 0x39,// '5':
    25.     0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30,// '6':
    26.     0x00, 0x01, 0x71, 0x09, 0x05, 0x03,// '7':
    27.     0x00, 0x36, 0x49, 0x49, 0x49, 0x36,// '8':
    28.     0x00, 0x06, 0x49, 0x49, 0x29, 0x1E,// '9':
    29.     0x00, 0x00, 0x36, 0x36, 0x00, 0x00,// ':':
    30.     0x00, 0x00, 0x56, 0x36, 0x00, 0x00,// ';':
    31.     0x00, 0x08, 0x14, 0x22, 0x41, 0x00,// '<':
    32.     0x00, 0x14, 0x14, 0x14, 0x14, 0x14,// '=':
    33.     0x00, 0x00, 0x41, 0x22, 0x14, 0x08,// '>':
    34.     0x00, 0x02, 0x01, 0x51, 0x09, 0x06,// '?':
    35.     0x00, 0x32, 0x49, 0x59, 0x51, 0x3E,// '@':
    36.     0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C,// 'A':
    37.     0x00, 0x7F, 0x49, 0x49, 0x49, 0x36,// 'B':
    38.     0x00, 0x3E, 0x41, 0x41, 0x41, 0x22,// 'C':
    39.     0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C,// 'D':
    40.     0x00, 0x7F, 0x49, 0x49, 0x49, 0x41,// 'E':
    41.     0x00, 0x7F, 0x09, 0x09, 0x09, 0x01,// 'F':
    42.     0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A,// 'G':
    43.     0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F,// 'H':
    44.     0x00, 0x00, 0x41, 0x7F, 0x41, 0x00,// 'I':
    45.     0x00, 0x20, 0x40, 0x41, 0x3F, 0x01,// 'J':
    46.     0x00, 0x7F, 0x08, 0x14, 0x22, 0x41,// 'K':
    47.     0x00, 0x7F, 0x40, 0x40, 0x40, 0x40,// 'L':
    48.     0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F,// 'M':
    49.     0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F,// 'N':
    50.     0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E,// 'O':
    51.     0x00, 0x7F, 0x09, 0x09, 0x09, 0x06,// 'P':
    52.     0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E,// 'Q':
    53.     0x00, 0x7F, 0x09, 0x19, 0x29, 0x46,// 'R':
    54.     0x00, 0x46, 0x49, 0x49, 0x49, 0x31,// 'S':
    55.     0x00, 0x01, 0x01, 0x7F, 0x01, 0x01,// 'T':
    56.     0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F,// 'U':
    57.     0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F,// 'V':
    58.     0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F,// 'W':
    59.     0x00, 0x63, 0x14, 0x08, 0x14, 0x63,// 'X':
    60.     0x00, 0x07, 0x08, 0x70, 0x08, 0x07,// 'Y':
    61.     0x00, 0x61, 0x51, 0x49, 0x45, 0x43,// 'Z':
    62.     0x00, 0x00, 0x7F, 0x41, 0x41, 0x00,// '[':
    63.     0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55,// '\\':
    64.     0x00, 0x00, 0x41, 0x41, 0x7F, 0x00,// ']':
    65.     0x00, 0x04, 0x02, 0x01, 0x02, 0x04,// '^':
    66.     0x00, 0x40, 0x40, 0x40, 0x40, 0x40,// '_':
    67.     0x00, 0x00, 0x01, 0x02, 0x04, 0x00,// '`':
    68.     0x00, 0x20, 0x54, 0x54, 0x54, 0x78,// 'a':
    69.     0x00, 0x7F, 0x48, 0x44, 0x44, 0x38,// 'b':
    70.     0x00, 0x38, 0x44, 0x44, 0x44, 0x20,// 'c':
    71.     0x00, 0x38, 0x44, 0x44, 0x48, 0x7F,// 'd':
    72.     0x00, 0x38, 0x54, 0x54, 0x54, 0x18,// 'e':
    73.     0x00, 0x08, 0x7E, 0x09, 0x01, 0x02,// 'f':
    74.     0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C,// 'g':
    75.     0x00, 0x7F, 0x08, 0x04, 0x04, 0x78,// 'h':
    76.     0x00, 0x00, 0x44, 0x7D, 0x40, 0x00,// 'i':
    77.     0x00, 0x40, 0x80, 0x84, 0x7D, 0x00,// 'j':
    78.     0x00, 0x7F, 0x10, 0x28, 0x44, 0x00,// 'k':
    79.     0x00, 0x00, 0x41, 0x7F, 0x40, 0x00,// 'l':
    80.     0x00, 0x7C, 0x04, 0x18, 0x04, 0x78,// 'm':
    81.     0x00, 0x7C, 0x08, 0x04, 0x04, 0x78,// 'n':
    82.     0x00, 0x38, 0x44, 0x44, 0x44, 0x38,// 'o':
    83.     0x00, 0xFC, 0x24, 0x24, 0x24, 0x18,// 'p':
    84.     0x00, 0x18, 0x24, 0x24, 0x18, 0xFC,// 'q':
    85.     0x00, 0x7C, 0x08, 0x04, 0x04, 0x08,// 'r':
    86.     0x00, 0x48, 0x54, 0x54, 0x54, 0x20,// 's':
    87.     0x00, 0x04, 0x3F, 0x44, 0x40, 0x20,// 't':
    88.     0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C,// 'u':
    89.     0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C,// 'v':
    90.     0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C,// 'w':
    91.     0x00, 0x44, 0x28, 0x10, 0x28, 0x44,// 'x':
    92.     0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C,// 'y':
    93.     0x00, 0x44, 0x64, 0x54, 0x4C, 0x44,// 'z':
    94.     0x00, 0x00, 0x08, 0x36, 0x41, 0x00,// '{':
    95.     0x00, 0x00, 0x00, 0x7f, 0x00, 0x00,// '|':
    96.     0x00, 0x00, 0x41, 0x36, 0x08, 0x00,// '}':
    97.     0x00, 0x10, 0x08, 0x08, 0x10, 0x08,// '~':
    98. };
    复制代码


    希望大家多提建议,谢谢!






    好多年没来了
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2017-1-24 08:47
  • 签到天数: 49 天

    连续签到: 1 天

    [LV.5]常住居民I

    0

    主题

    524

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1267
    最后登录
    2017-4-19
    发表于 2016-10-25 11:15:55 | 显示全部楼层
    谢谢分享                             
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    132

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    418
    最后登录
    2018-12-14
    发表于 2016-10-25 11:22:25 | 显示全部楼层
    不错,支持一下
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-7-14 14:05
  • 签到天数: 484 天

    连续签到: 1 天

    [LV.9]以坛为家II

    8

    主题

    854

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1991
    最后登录
    2019-7-14
    发表于 2016-10-25 11:23:49 | 显示全部楼层
    6666666666666666

    可惜我没LITE
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-11 11:14
  • 签到天数: 345 天

    连续签到: 1 天

    [LV.8]以坛为家I

    18

    主题

    1317

    帖子

    4

    金牌会员

    Rank: 6Rank: 6

    积分
    3278
    最后登录
    2023-3-16
    发表于 2016-10-25 11:24:13 | 显示全部楼层
    谢谢分享
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    昨天 17:26
  • 签到天数: 2115 天

    连续签到: 4 天

    [LV.Master]伴坛终老

    65

    主题

    8473

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    14339
    最后登录
    2025-9-5
    发表于 2016-10-25 11:57:33 | 显示全部楼层
    呦,不错,烟感模拟量输出的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2024-3-21 15:13
  • 签到天数: 41 天

    连续签到: 1 天

    [LV.5]常住居民I

    32

    主题

    1820

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1785
    最后登录
    2024-3-21
     楼主| 发表于 2016-10-25 12:03:02 | 显示全部楼层
    wudianjun2001 发表于 2016-10-25 11:57
    呦,不错,烟感模拟量输出的

    谢谢吴工支持!
    好多年没来了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2024-3-21 15:13
  • 签到天数: 41 天

    连续签到: 1 天

    [LV.5]常住居民I

    32

    主题

    1820

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1785
    最后登录
    2024-3-21
     楼主| 发表于 2016-10-25 12:03:30 | 显示全部楼层

    谢谢支持,欢迎多提建议
    好多年没来了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2024-3-21 15:13
  • 签到天数: 41 天

    连续签到: 1 天

    [LV.5]常住居民I

    32

    主题

    1820

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1785
    最后登录
    2024-3-21
     楼主| 发表于 2016-10-25 12:03:46 | 显示全部楼层

    谢谢支持,欢迎多提建议
    好多年没来了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2024-3-21 15:13
  • 签到天数: 41 天

    连续签到: 1 天

    [LV.5]常住居民I

    32

    主题

    1820

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1785
    最后登录
    2024-3-21
     楼主| 发表于 2016-10-25 12:04:02 | 显示全部楼层
    西窗雪 发表于 2016-10-25 11:23
    6666666666666666

    可惜我没LITE

    谢谢支持,欢迎多提建议,团购吧!太难换了!
    好多年没来了
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-5 09:22 , Processed in 0.106123 second(s), 28 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表