本帖最后由 飞狼老大 于 2016-10-25 15:20 编辑
易燃气体检测报警器终于完工了,然后就来给大家展示一下了,反正东西也比较简单,
先得展示一下报警视频。前面申请贴子准备加了喇叭与电机,大家都感觉有点危险,所以接受大家的建议,将警报改为纯的闪屏警报。
主要用于检测易燃气体,对于大部分有机易燃气体敏感,
来的5110驱动里面的字体太小了,6*6的,于是自己做了一套8*6字体分享给大家。
看后面的字体应该好看一点了吧!不过间距有点小了。
硬件连接图比较简单,也没有什么太大的技术含量,以实用为主。
MQ2传感器与供电模块以及LPC824lite主控板,
由于MQ2需要预热,功耗较大,同时也是5V工作电压,
所以使用独立供电,然后共地,使用MQ2的Aout输出模拟电压,
使用2个10K电阻分压后进入LPC824的A0口。
使用串口输出到电脑查看数据是否与显示一致,结果当然是正常的。
主程序代码
- #include "mbed.h"
- #include "NOKIA_5110.h"
- int MQ2read();
- /*MQ2 High Error*/
- void error();
- /*init LED*/
- DigitalOut myled(P0_7);
- /*init A2*/
- AnalogIn MQ2(A0);
- /*init Uart*/
- Serial pc(USBTX, USBRX);
- /*init LEDpin*/
- /*LCD 背光*/
- DigitalOut ledBlueLight(P0_24);
- unsigned int MQ2PPM;
- int main()
- {
- LcdPins myPins;
- myPins.sce = P0_27;
- myPins.rst = P0_13;
- myPins.dc = P0_15;
- myPins.mosi = P0_26;
- myPins.miso = NC;
- myPins.sclk = P0_25;
- NokiaLcd myLcd( myPins );
- /* Start the LCD */
- myLcd.InitLcd();
- char measurestring[8];
- while( 1 )
- {
- MQ2PPM = MQ2read();
- while(MQ2PPM <=700)
- {
- myLcd.ClearLcdMem();
- MQ2PPM = MQ2read();
- pc.printf("MQ2 = %d,\r\n", MQ2PPM);
- sprintf(measurestring, "%d", MQ2PPM);
- myLcd.SetXY(4,2);
- myLcd.DrawString("MQ2 PPM");
- myLcd.SetXY(4,3);
- myLcd.DrawString( measurestring );
- wait(1);
- }
- while(MQ2PPM >700)
- {
- myLcd.ClearLcdMem();
- MQ2PPM = MQ2read();
- pc.printf("MQ2 = %d,\r\n", MQ2PPM);
- sprintf(measurestring, "%d", MQ2PPM);
- error();
- myLcd.SetXY(0,0);
- myLcd.DrawString( measurestring );
- myLcd.SetXY(0,1);
- myLcd.DrawString( "MQ2PPM ERROR" );
- myLcd.SetXY(0,2);
- myLcd.DrawString( "Don't Touch" );
- myLcd.SetXY(0,3);
- myLcd.DrawString( "Any Electrical" );
- myLcd.SetXY(0,4);
- myLcd.DrawString( "Open All " );
- myLcd.SetXY(0,5);
- myLcd.DrawString( "Windows" );
- wait(1);
- }
- }
- }
- int MQ2read()
- {
- float MQ2V = MQ2.read();
- float MQ2_V = MQ2V*3300;
- return(MQ2_V );
- }
- void error()
- {
- ledBlueLight = 1;
- wait(0.2);
- ledBlueLight = 0;
- wait(0.2);
- }
复制代码 8*6字体
- const char FONT_8x6[570] = //should be 564 total char
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,// ' ':
- 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, // '!':
- 0x00, 0x00, 0x07, 0x00, 0x07, 0x00,// '"':
- 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14,// '#':
- 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12, // '美刀标':
- 0x00, 0x62, 0x64, 0x08, 0x13, 0x23,// '%':
- 0x00, 0x36, 0x49, 0x55, 0x22, 0x50,// '&':
- 0x00, 0x00, 0x05, 0x03, 0x00, 0x00, // "'":
- 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00,// '(':
- 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00,// ')':
- 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14,// '*':
- 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08,// '+':
- 0x00, 0x00, 0x00, 0xA0, 0x60, 0x00,// ',':
- 0x00, 0x08, 0x08, 0x08, 0x08, 0x08,// '-':
- 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,// '.':
- 0x00, 0x20, 0x10, 0x08, 0x04, 0x02,// '/':
- 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E,// '0':
- 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00, // '1':
- 0x00, 0x42, 0x61, 0x51, 0x49, 0x46,// '2':
- 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31,// '3':
- 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10,// '4':
- 0x00, 0x27, 0x45, 0x45, 0x45, 0x39,// '5':
- 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30,// '6':
- 0x00, 0x01, 0x71, 0x09, 0x05, 0x03,// '7':
- 0x00, 0x36, 0x49, 0x49, 0x49, 0x36,// '8':
- 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E,// '9':
- 0x00, 0x00, 0x36, 0x36, 0x00, 0x00,// ':':
- 0x00, 0x00, 0x56, 0x36, 0x00, 0x00,// ';':
- 0x00, 0x08, 0x14, 0x22, 0x41, 0x00,// '<':
- 0x00, 0x14, 0x14, 0x14, 0x14, 0x14,// '=':
- 0x00, 0x00, 0x41, 0x22, 0x14, 0x08,// '>':
- 0x00, 0x02, 0x01, 0x51, 0x09, 0x06,// '?':
- 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E,// '@':
- 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C,// 'A':
- 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36,// 'B':
- 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22,// 'C':
- 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C,// 'D':
- 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41,// 'E':
- 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01,// 'F':
- 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A,// 'G':
- 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F,// 'H':
- 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00,// 'I':
- 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01,// 'J':
- 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41,// 'K':
- 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40,// 'L':
- 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F,// 'M':
- 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F,// 'N':
- 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E,// 'O':
- 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06,// 'P':
- 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E,// 'Q':
- 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46,// 'R':
- 0x00, 0x46, 0x49, 0x49, 0x49, 0x31,// 'S':
- 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01,// 'T':
- 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F,// 'U':
- 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F,// 'V':
- 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F,// 'W':
- 0x00, 0x63, 0x14, 0x08, 0x14, 0x63,// 'X':
- 0x00, 0x07, 0x08, 0x70, 0x08, 0x07,// 'Y':
- 0x00, 0x61, 0x51, 0x49, 0x45, 0x43,// 'Z':
- 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00,// '[':
- 0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55,// '\\':
- 0x00, 0x00, 0x41, 0x41, 0x7F, 0x00,// ']':
- 0x00, 0x04, 0x02, 0x01, 0x02, 0x04,// '^':
- 0x00, 0x40, 0x40, 0x40, 0x40, 0x40,// '_':
- 0x00, 0x00, 0x01, 0x02, 0x04, 0x00,// '`':
- 0x00, 0x20, 0x54, 0x54, 0x54, 0x78,// 'a':
- 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38,// 'b':
- 0x00, 0x38, 0x44, 0x44, 0x44, 0x20,// 'c':
- 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F,// 'd':
- 0x00, 0x38, 0x54, 0x54, 0x54, 0x18,// 'e':
- 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02,// 'f':
- 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C,// 'g':
- 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78,// 'h':
- 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00,// 'i':
- 0x00, 0x40, 0x80, 0x84, 0x7D, 0x00,// 'j':
- 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00,// 'k':
- 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00,// 'l':
- 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78,// 'm':
- 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78,// 'n':
- 0x00, 0x38, 0x44, 0x44, 0x44, 0x38,// 'o':
- 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18,// 'p':
- 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC,// 'q':
- 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08,// 'r':
- 0x00, 0x48, 0x54, 0x54, 0x54, 0x20,// 's':
- 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20,// 't':
- 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C,// 'u':
- 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C,// 'v':
- 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C,// 'w':
- 0x00, 0x44, 0x28, 0x10, 0x28, 0x44,// 'x':
- 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C,// 'y':
- 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44,// 'z':
- 0x00, 0x00, 0x08, 0x36, 0x41, 0x00,// '{':
- 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00,// '|':
- 0x00, 0x00, 0x41, 0x36, 0x08, 0x00,// '}':
- 0x00, 0x10, 0x08, 0x08, 0x10, 0x08,// '~':
- };
复制代码
希望大家多提建议,谢谢!
|