智能可视化倒车系统

想要更多项目私wo!!!

一、系统总体框图

当小车前进时,LCD上可显示小车前进的提示信息等;当小车后退时,开始利用图像传感器实现对小车后侧的图像实时监测,利用距离传感器实现对小车后侧障碍物的距离实时监测,并将测量数据传送至STM32进行处理,然后由控制器根据所检测的各种数据实现在LCD模块上显示出来。根据要求设计要求,可得到系统总体框图如下:

二、总体电路设计

根据总体框图,主控芯片可用STM32F103,再在该主控芯片外部连接晶振电路、复位电路、存储电路、按键电路、电源电路、图像传感器电路、距离传感器电路和声音报警电路等。 因条件限制,系统主控采用STM32F103ZET6开发板,开发板自带了复位电路、电源电路、晶振电路、声音报警电路等,存储器则为微控制器芯片内部系统总线上挂接的外设,系统电源由开发板本身通过一个usb电路供电,也可由提供的5v开关电源提供,显示模块为配套的4.3寸LCD,屏幕分辨率为800x480。距离传感器可以采用HC-SR04超声波传感器模块,图像传感器可以采用OV7670摄像头模块,将它们安装在小车后方,在小车后退时,实时检测后方的图像,以及与小车后方障碍物直接的距离,当距离太小时,发出警告。OV7670摄像头模块,最大能够输出VGA分辨率(640x480)的图像,直接和开发板的摄像头电路连接,HC-SR04超声波传感器能够检测2cm-400cm的距离,可用杜邦线和开发板的IO口相连。系统通过控制按键模块,实现对微控制器控制,同时微控制器控制OV7670图像传感器模块、HC-SR04超声波传感器模块和LCD显示模块,实现小车倒车时的图像显示,和障碍物距离过小报警。

三、运行结果图

四、主代码
/*想要更多项目私wo!!!*/
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "lcd.h"
#include "usart.h"
#include "string.h"
#include "ov7670.h"
#include "tpad.h"
#include "timer.h"
#include "exti.h"
#include "usmart.h"
#include "beep.h"
#include "LcdApi.h"
#include "image.h"
const u8*LMODE_TBL[5]={"Auto","Sunny","Cloudy","Office","Home"};//5种光照模式
const u8*EFFECTS_TBL[7]={"Normal","Negative","B&W","Redish","Greenish","Bluish","Antique"};                     //7种特效
extern u8 ov_sta;               //在exit.c里 面定义
extern u8 ov_frame;             //在timer.c里面定义
u32 ov_window_x,ov_window_y,ov_window_j;int main(void){  u8 key,key_old;u8 flag = 0;u8 lightmode=0,saturation=2,brightness=2,contrast=2;u8 effect=0;  u8 msgbuf[15];              //消息缓存区u8 tm=0;  TIM5_Cap_Init(0XFFFF,72-1);delay_init();                     //延时函数初始化      NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);    //设置中断优先级分组为组2:2位抢占优先级,2位响应优先级uart_init(9600);               //串口初始化为 115200 LED_Init();                 //初始化与LED连接的硬件接口KEY_Init();                 //初始化按键LCD_Init();                  //初始化LCD  BEEP_Init();TPAD_Init(6);             //触摸按键初始化 POINT_COLOR=RED;         //设置字体为红色  LCD_ShowString(30,30,200,16,16,"OV7670 Init...");    while(OV7670_Init())       //初始化OV7670{LCD_ShowString(30,30,200,16,16,"OV7670 Error!!");delay_ms(200);LCD_Fill(30,230,239,246,WHITE);delay_ms(200);}LCD_ShowString(30,30,200,16,16,"OV7670 Init OK");delay_ms(1500);          TIM6_Int_Init(10000,7199);          //10Khz计数频率,1秒钟中断       EXTI8_Init();   ov_window_x=480;ov_window_y=400;      ov_window_j=192000;OV7670_Window_Set(12,176,480,400);  //设置窗口      OV7670_CS=0;           LCD_Clear(WHITE);BACK_COLOR=WHITE;POINT_COLOR=GREEN;          //设置字体为绿色 zt=0;ov_windows=1;Show_Str(20,100,220,24,"智",24,0);     //覆盖显示delay_ms(200);POINT_COLOR=BLACK;   Show_Str(70,100,220,24,"能",24,0);    //覆盖显示delay_ms(200);POINT_COLOR=BLUE;Show_Str(120,100,220,24,"可",24,0);    //覆盖显示delay_ms(200);POINT_COLOR=BRED;Show_Str(170,100,220,24,"视",24,0);      //覆盖显示delay_ms(200);POINT_COLOR=MAGENTA;Show_Str(220,100,220,24,"化",24,0);     //覆盖显示delay_ms(200);POINT_COLOR=BROWN;Show_Str(270,100,220,24,"倒",24,0);     //覆盖显示delay_ms(200);POINT_COLOR=GRAY;   Show_Str(320,100,220,24,"车",24,0);      //覆盖显示delay_ms(200);POINT_COLOR=DARKBLUE;Show_Str(370,100,220,24,"系",24,0);      //覆盖显示delay_ms(200);POINT_COLOR=LIGHTGREEN;Show_Str(420,100,220,24,"统",24,0);      //覆盖显示delay_ms(200);POINT_COLOR=GREEN; flash_1();flash_2();flash_3();LCD_Clear(WHITE);while(1){                         //更新状态时清屏if(zt==1||zt==2){zt=0;LCD_Clear(WHITE);if(cars=='B'){LCD_ShowString(150,90,200,24,24,"000.0CM");}}ov_window_x=320;ov_window_y=480;ov_window_j=153600;OV7670_Window_Set(12,176,320,480); //设置窗口  POINT_COLOR=GREEN;         //设置字体为绿色   Show_Str(60,60,220,24,"小车状态:",24,0);    //覆盖显示Show_Str(60,90,220,24,"距离:",24,0);       //覆盖显示POINT_COLOR=GREEN;          //设置字体为绿色   LCD_Color_Fill(360,0,480-1,160-1,(u16*)&gImage_1[0]);if(WK_UP==1)                     //判断小车状态{delay_ms(10);if(WK_UP==1){cars = 'G';Show_Str(180,60,220,24,"向前",24,0);    //覆盖显示}}if(KEY1==0){delay_ms(10);if(KEY1==0){cars = 'B';Back();Show_Str(180,60,220,24,"向后",24,0);       //覆盖显示}if(KEY1 == 1){flag = 1;}}if(KEY2==0){delay_ms(10);if(KEY2==0){cars = 'L';Show_Str(180,60,220,24,"向左",24,0);        //覆盖显示flash_5();LCD_Clear(WHITE);}}if(KEY0==0){delay_ms(10);if(KEY0==0){cars = 'R';Show_Str(180,60,220,24,"向右",24,0);        //覆盖显示flash_1();LCD_Clear(WHITE);}}if(flag == 1){LCD_Clear(WHITE);flag = 0;}}
}

单片机设计_智能可视化倒车系统(STM32、OV7670摄像头、HC-SR04超声波传感器)相关推荐

  1. 单片机设计_智能农业大棚环境监测系统(STM32 OLED ESP8266 DHT11 光敏 土壤湿度)

    想要更多项目私wo!!! 一.电路设计 智能农业大棚环境监测系统.可以测量空气的温湿度,土壤的温湿度,光照强度,等等通过OLED 屏幕显示,然ESP8266-01SWiFi模块连接手机,APP可以远程 ...

  2. 单片机设计_智能计算器(AT89C51、LCD1602、矩阵键盘)

    基于单片机的智能计算器(AT89C51.LCD1602.矩阵键盘) 想要更多项目私wo!!! 一.简介 此电路由AT89C51最小系统.LCD1602液晶显示模块和矩阵键盘模块组成. 二.执行效果 三 ...

  3. 单片机设计_电子小说阅读器(STM32 LCD触屏)

    想要更多项目私wo!!! 一.电路设计 此电路由STM32最小系统板.800*480 4.3寸电容触摸LCD屏.一张32G以下的SD卡和一个读卡器组成. 项目偏软件,但是要依赖于自己对硬件的熟悉和驱动 ...

  4. 单片机设计_智能家居控制系统(AT89C51、HC05)

    想要更多项目私wo!!! 一.简介 此系统主要由AT89C51.HC05蓝牙模块或HC06蓝牙模块.DS18B20温度模块.烟雾模块.和LCD1602 液晶显示模块等等组成. 实现得功能是:液晶屏实时 ...

  5. 单片机设计_车牌识别系统(STM32 OV7670 TFT)

    想要更多项目私wo!!! 一.电路设计 此系统由STM32最小系统开发板.TFT液晶显示模块和OV7670摄像头模块组成的. 基于STM32+OV7670+TFT液晶屏. 车牌识别系统原理图 二.运行 ...

  6. 【毕业设计】基于单片机的智能饮水机系统 - stm32 物联网 嵌入式

    文章目录 1 简介 2 绪论 2.1 课题背景与目的 3 系统设计 3.1 智能饮水机功能设计 3.1.1 智能饮水机的按键功能: 3.1.2 智能饮水机的显示功能: 3.2 系统架构 3.3 软件部 ...

  7. 基于STM32+华为云IOT设计的智能浇花系统

    一.前言 随着社会的不断发展和人们生活水平的逐渐提高,人们逐渐追求高质量的生活,很多人都会选择在家里或办公室种植一些花卉以净化家庭空气,陶冶情操,但是很多人忙于工作.学习.出差.旅游或者一些其他的原因 ...

  8. IAR在写结构体时不提示_智能物流装车系统的结构优化与改进

    文|滇西应用技术大学管理学院 鄢良国.姚敏.孙荷琴.杨晓 滇西应用技术大学基础实验实训中心 朱丹 智能物流装车系统主要用于烟草生产基地和物流配送中心之间往返运输的自动化装车业务中.本文针对智能物流装车 ...

  9. 人工智能在语音和数字图像处理领域有哪些具体化应用_智能呼叫中心系统有哪些优势...

    近年来,随着科技的发展特别是人工智能技术.云计算.大数据的到来,新技术逐渐渗入人们日常生活中的各行各业里面,以机器人来代替人工处理繁重的任务变得普遍.在人工智能时代下,新一代智能呼叫中心系统应运而生, ...

  10. 设计一个智能客服系统

    背景: 最近在设计一个公司的智能客服系统,通过对现有人工客服语料作为样本,通过训练样本完成整个QA过程或业务办理过程. 整体思路 AliceBot负责闲聊,这里用了开源的语料,也可以添加语料到DB,基 ...

最新文章

  1. python-子类和派生、继承
  2. VS2015使用小技巧
  3. 关于JS的传递方式的小理解
  4. 前端学习(3083):vue+element今日头条管理-表单数据绑定
  5. SELinux系列(九)——SELinux auditd日志系统的安装与启动
  6. 机器视觉打光方案(纽扣电池胶纸)
  7. POJ1001 高精度浮点数幂运算
  8. 语音芯片,语音合成芯片,嵌入式语音合成软件的区别
  9. bl wn810a linux驱动下载,BL-LW06-AR/BL-WN810A无线网卡驱动for all【支持所有系统】
  10. OCR身份证信息批量识别导出excel
  11. 英特尔 超核芯显卡 620mac_十代i9+3080显卡,男孩们的攒机快乐,还得拿出来显摆显摆!...
  12. css3动画: 3d照片旋转transfrom
  13. 浅谈什么是大数据?大数据可以做什么?
  14. 2007 合成孔径雷达成像算法与实现 各figure的matlab实现(第三章 - 图3.2)
  15. .py文件图标为白纸以及右键没有Edit with IDLE的解决办法
  16. Mathorcup数学建模竞赛第四届-【妈妈杯】A题:“2048”游戏的数学基础及其取胜策略研究(附赛题解析及MATLAB代码)
  17. win11剪贴板数据如何删除 Windows清空剪贴板数据的步骤方法
  18. python爬取地表水水质监测数据(爬虫)
  19. 页面局部刷新( ScriptManager 和 UpdatePanel)(转)
  20. pandas如何快速添加一行?

热门文章

  1. 神通数据库配置文件Oscar.conf
  2. vscode配置 easy sass
  3. HIMA X-COM01010 985260010 电源模块
  4. 2022年最新吉林道路货物运输驾驶员模拟真题题库及答案
  5. 低功耗蓝牙cc2541学习笔记之LED-2
  6. 弘辽科技:提升销量为什么要到第七天?七天提升销量法介绍
  7. 【杂文】开发者从工具更新到工具规划(1)-------MySQL5.7免安装版配置
  8. 固态硬盘如何4K对齐?扇区大小,簇大小的影响
  9. Python爬取CSDN文章标题和访问量
  10. 网站接入地和服务器所在地区别,拜访地是什么?如何接入拜访地?拜访地和归属地有什么区别...