需求分析
1.车牌识别功能:当车辆靠近,对车牌进行识别。
2.自动开闸功能:识别完车牌,闸门自动打开
3.扫码开闸功能:无牌车或者临时车可用小程序扫码开门
4.车位计数:对停车场内进行实时统计,查询剩余车位数量。
5.收集当前停车场的明亮度对其进行判断分析从而控制照
6.自动消防预警功能:当前停车场若有浓烟或火焰,相关装置进行报警
7.停车场远程控制功能:将收集到的数据都接入到云端,而手机端和web都可以从云端获得实时数据;支持云端下发命令,从而远程控制照明系统以及警报系统。
硬件选型 ov7670摄像头 TFT液晶显示屏 ESP8266 stm32f103zet6 光敏传感器 红外避障传感器 SG90舵机 MQ2烟雾传感器 蜂鸣器
实现实物照片
硬件端


微信小程序端




web后台

车牌识别硬件端代码
#include "stm32f10x.h"
#include "stm32f10x_it.h"
#include "key.h"
#include "usart.h"
#include "delay.h"
#include "lcd.h"
#include "ov7670.h"
#include "rcc.h"
#include "ShowChar.h"
#include "discern.h"
#include "24l01.h"
//////////////////////////////////////////////////////////////////////////////////
//±¾³ÌÐòÖ»¹©Ñ§Ï°Ê¹Óã¬Î´¾×÷ÕßÐí¿É£¬²»µÃÓÃÓÚÆäËüÈκÎÓÃ;
//µ¥Æ¬»ú£ºSTM32F103RCT6
//ov7670³µÅÆÊ¶±ð³ÌÐò
//ÐÞ¸ÄÈÕÆÚ:2018/9/2
//°æ±¾£ºV1.0
//Ò«öεç×Ó
//ÌÔ±¦:https://shop391399929.taobao.com/?spm=a230r.7195193.1997079397.92.3f857ca2IOfCeJ
//°æÈ¨ËùÓУ¬µÁ°æ±Ø¾¿¡£
//All rights reserved
//////////////////////////////////////////////////////////////////////////////////
extern vu8 Red_Vlaue, Green_Value ,Blue_Value;//ãÐÖµ
uint8_t *door;
int doorflag=0;
int main(void)
{
uint8_t str[20];
unsigned int scan_time = 0;
STM32_Clock_Init(16); //³õʼ»¯Ê±ÖÓ
uart_init(9600);
LCD_Init();
Key_Init(); //³õʼ»¯ KEY1 PA8
OV7670_GPIO_Init(); //OV7670Òý½Å³õʼ»¯£¬·ÅÔÚ´®¿Ú³õʼ»¯Ç°Ãæ
NRF24L01_Init(); //³õʼ»¯NRF24L01
// printf("³õʼ»¯³É¹¦\r\n"); //³õʼ»¯´®¿Ú
TIM3_Configuration(); //10KhzµÄ¼ÆÊýƵÂÊ£¬¼ÆÊýµ½5000Ϊ500ms
LCD_Fill(0x6666); //³õʼ»¯Ë¢ÂÌÉ«ÆÁ
while(!Sensor_Init()); //ÉãÏñͷоƬ³õʼ»¯
LCD_Fill(0xF800); //³É¹¦ºóË¢ºìÉ«ÆÁ
delayms(100);
scan_time = 2;
//¶þÖµ»¯ãÐÖµ
Red_Vlaue = 24;
Green_Value = 53;
Blue_Value = 24;
while(NRF24L01_Check())
{
printf("¼ì²âʧ°Ü\r\n");
}
while(1)
{
sprintf(str,"%d",doorflag);
door=str;
NRF24L01_TX_Mode();
NRF24L01_TxPacket(door);
if(scan_time <= 1) {
CameraDiscern(); //³µÅÆÊ¶±ð
}
if(scan_time > 1) {
CameraScan(); //ÉãÏñͷɨÃè²âÊÔ
LCD_ShowNum(30,220,21 - scan_time, 2);
while(GPIO_ReadInputDataBit(KEY1_PORT,KEY1_PIN)==0) //K1°´¼ü°´ÏÂ Ìø³öÍ£Áôʱ¼äÓëÊÕ·ÑÇé¿ö
{
LCD_Fill(0x00); //ºÚÆÁ
Show_Title(); //ÏÔʾ±êÌâ
Show_Card(0); //ÏÔʾµÚ¼¸×鳵ů
Show_Card(1);
Show_Card(2);
Show_Card(3);
Show_Card(4);
delay_ms(5000);
}
}
if(scan_time == 20) {
scan_time = 0;
}
scan_time++;
}
}
主函数代码
while(1)
{
car_hongwai();
Get_ADC();
light=Lsens_Get_Val();
ValueCompare();
key_num=KEY_Scan(0);
if(key_num==1)
{
TIM_SetCompare1(TIM3,500);
key_num=0;
GPIO_ResetBits(GPIOE,GPIO_Pin_5);
}
if(key_num==2)
{
TIM_SetCompare1(TIM3,185);
GPIO_SetBits(GPIOE,GPIO_Pin_5);
key_num=0;
}
if(++timeCount >= 200) //ʱ¼ä¼ä¸ô5s
{
OneNet_SendData();//·¢ËÍÊý¾Ý¸øonenet
timeCount = 0;
ESP8266_Clear();
printf("ÑÌÎíŨ¶È£º%dppm%d%d\r\n",smog,light,chewei);
}
dataPtr = ESP8266_GetIPD(0);//»ñȡƽ̨·µ»ØµÄÊý¾Ý
if(dataPtr != NULL)//Èç¹û·µ»ØÊý¾Ý²»Îª¿Õ
OneNet_RevPro(dataPtr);//ƽ̨·µ»ØÊý¾Ý¼ì²â
delay_ms(10);
}
该系统采用STM32微控制器,实现车牌识别、自动开闸、扫码开门等功能。硬件包括OV7670摄像头进行车牌识别,ESP8266用于无线通信,光敏传感器监控照明,烟雾传感器配合消防预警,同时提供微信小程序和web后台进行远程控制。

被折叠的 条评论
为什么被折叠?



