烟雾传感器
串口通信:一个bit位一个bit位的传输
接收方和发送方有相同的设置和波特率
串口编程:设置串口信息
串口:
RS232:4根线
VCC
GND
TXD
RXD
接线:
断电接线
接线后注意检查是否接错,
T->R R->T 交叉接线
开发板串口:右边的四排针
4组串口
com1:通信串口 /dev/ttySAC0
com2:/dev/ttySAC1
com3:/dev/ttySAC2
com4:/dev/ttySAC3
com5:没写驱动
使用烟雾传感器:
1.接线
2.初始化串口(传感器和开发板通信的细节)设置串口
3.编写程序,检测烟雾浓度
烟雾传感器:
你给他发送一个固定的命令,他就会给你返回当前的烟雾浓度。
实践:
利用烟雾传感器测量烟雾浓度,实现烟雾报警(烟雾浓度高于某一个设定值蜂鸣器报警),实时的把烟雾浓度显示到开发板上面。
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <termios.h>
#include <sys/mman.h>
#include <string.h>
int * plcd;
//全局变量,代表映射后的首地址
int value=0;
char number[10][840]={
/*-- 文字: 0 --*/
/*-- 宋体26; 此字体下对应的点阵为:宽x高=18x35 --*/
/*-- 宽度不是8的倍数,现调整为:宽度x高度=24x35 --*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x03,0xF0,0x00,0x0F,0xBC,0x00,0x0E,0x1C,0x00,0x1E,0x1E,0x00,0x3C,0x0F,
0x00,0x3C,0x0F,0x00,0x3C,0x0F,0x00,0x78,0x0F,0x00,0x78,0x07,0x80,0x78,0x07,0x80,
0x78,0x07,0x80,0x78,0x07,0x80,0x78,0x07,0x80,0x78,0x07,0x80,0x78,0x07,0x80,0x78,
0x07,0x80,0x78,0x0F,0x00,0x3C,0x0F,0x00,0x3C,0x0F,0x00,0x3C,0x0F,0x00,0x1E,0x1E,
0x00,0x0E,0x1C,0x00,0x0F,0xF8,0x00,0x03,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
/*-- 文字: 1 --*/
/*-- 宋体26; 此字体下对应的点阵为:宽x高=18x35 --*/
/*-- 宽度不是8的倍数,现调整为:宽度x高度=24x35 --*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x60,0x00,0x01,0xE0,0x00,0x1F,0xE0,0x00,0x0F,0xE0,0x00,0x01,0xE0,
0x00,0x01,0xE0,0x00,0x01,0xE0,0x00,0x01,0xE0,0x00,0x01,0xE0,0x00,0x01,0xE0,0x00,
0x01,0xE0,0x00,0x01,0xE0,0x00,0x01,0xE0,0x00,0x01,0xE0,0x00,0x01,0xE0,0x00,0x01,
0xE0,0x00,0x01,0xE0,0x00,0x01,0xE0,0x00,0x01,0xE0,0x00,0x01,0xE0,0x00,0x01,0xE0,
0x00,0x01,0xE0,0x00,0x03,0xF0,0x00,0x1F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
/*-- 文字: 2 --*/
/*-- 宋体26; 此字体下对应的点阵为:宽x高=18x35 --*/
/*-- 宽度不是8的倍数,现调整为:宽度x高度=24x35 --*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x07,0xF8,0x00,0x1F,0x3E,0x00,0x1C,0x1E,0x00,0x38,0x0F,0x00,0x38,0x0F,
0x00,0x3C,0x0F,0x00,0x3C,0x0F,0x00,0x3C,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0E,0x00,
0x00,0x1E,0x00,0x00,0x3C,0x00,0x00,0x78,0x00,0x00,0x70,0x00,0x01,0xE0,0x00,0x03,
0xC0,0x00,0x03,0x80,0x00,0x07,0x00,0x00,0x0E,0x03,0x80,0x1C,0x03,0x00,0x38,0x07,
0x00,0x70,0x0F,0x00,0x7F,0xFF,0x00,0x7F,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
/*-- 文字: 3 --*/
/*-- 宋体26; 此字体下对应的点阵为:宽x高=18x35 --*/
/*-- 宽度不是8的倍数,现调整为:宽度x高度=24x35 --*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x07,0xF0,0x00,0x1E,0x7C,0x00,0x3C,0x1C,0x00,0x3C,0x1E,0x00,0x3C,0x0E,
0x00,0x3C,0x0E,0x00,0x1C,0x0E,0x00,0x00,0x0E,0x00,0x00,0x1E,0x00,0x00,0x3C,0x00,
0x00,0xF8,0x00,0x03,0xF0,0x00,0x00,0x7C,0x00,0x00,0x1E,0x00,0x00,0x0F,0x00,0x00,
0x0F,0x00,0x00,0x0F,0x00,0x38,0