找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5785|回复: 5
收起左侧

stm32摄像头颜色识别源码ov2640+nrf24l01无线

[复制链接]
ID:224892 发表于 2017-9-8 10:41 | 显示全部楼层 |阅读模式
来发一下基于stm32f4 + ov2640 +nrf24l01 的颜色识别程序

单片机源程序如下:
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"
  5. #include "key.h"
  6. #include "lcd.h"
  7. #include "usmart.h"  
  8. #include "usart2.h"  
  9. #include "timer.h"
  10. #include "ov2640.h"
  11. #include "dcmi.h"
  12. #include "easytrace.h"
  13. #include "24l01.h"          

  14. u8 *buf_tmp;
  15. short data[2]={0};
  16. u8 Receive_buf[6];

  17. u8 Start_Get_Origin_Flag = 1;

  18. int main(void)
  19. {
  20.     u16 i,j;
  21.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
  22.         delay_init(168);  //初始化延时函数
  23.         uart_init(115200);                //初始化串口波特率为115200
  24.         usart2_init(42,115200);                //初始化串口2波特率为115200
  25.         LED_Init();                                        //初始化LED
  26.         LCD_Init();                                        //LCD初始化  
  27.         KEY_Init();                                        //按键初始化
  28.         TIM3_Int_Init(200-1,8400-1);//10Khz计数,1秒钟中断一次

  29.         usmart_dev.init(84);                //初始化USMART
  30.         POINT_COLOR=RED;//设置字体为红色
  31.           
  32.         while(OV2640_Init())//初始化OV2640
  33.         {
  34.                 LCD_ShowString(30,130,240,16,16,"OV2640 ERR");
  35.                 delay_ms(200);
  36.             LCD_Fill(30,130,239,170,WHITE);
  37.                 delay_ms(200);
  38.         }
  39.         LCD_ShowString(30,130,200,16,16,"OV2640 OK");  
  40.    
  41.        
  42.        
  43.     OV2640_OutSize_Set(176,144);

  44.     OV2640_RGB565_Mode();        //RGB565模式
  45.     My_DCMI_Init();                        //DCMI配置
  46.     DCMI_DMA_Init((u32)rgb_buf,sizeof(rgb_buf)/4,DMA_MemoryDataSize_HalfWord,DMA_MemoryInc_Enable);//DCMI DMA配置
  47.     DCMI_Start();                 //启动传输
  48.        
  49.         //************初始化NRF24L01****************//
  50.         NRF24L01_Init();   
  51.         while(NRF24L01_Check())
  52.         {
  53.                 LED1=0;
  54.                 LED0=0;
  55.         }
  56.         NRF24L01_TX_Mode();
  57. //*****************************************//
  58.        
  59.         LCD_Clear(BLACK);
  60.     while(1)
  61.     {
  62.                 if(Start_Get_Origin_Flag==1){
  63.                         Start_Get_Origin_Flag=0;
  64.                         delay_ms(3000);
  65.                 }
  66.                 OV2640_binarization();
  67.                 data[0] = Relative_X;
  68.                 data[1] = Relative_Y;
  69.                        
  70.                 if(NRF24L01_TxPacket(Receive_buf)==TX_OK)
  71.                 {       
  72.                         LED0=0;
  73.                         printf("RX %d,RY %d\n",Relative_X,Relative_Y);
  74.                         buf_tmp = DataPacket(data);
  75.                         for(i=0;i<6;i++)
  76.                         {
  77.                                 Receive_buf[i] = buf_tmp[i];
  78.                                 //printf("%d %d\n",Receive_buf[0],Receive_buf[1]);
  79.                         }
  80.                 }
  81.            
  82.                          
  83.     }
  84. }

  85. void TIM3_IRQHandler(void)
  86. {
  87.         if(TIM_GetITStatus(TIM3,TIM_IT_Update)==SET) //溢出中断
  88.         {
  89.         }
  90.         TIM_ClearITPendingBit(TIM3,TIM_IT_Update);  //清除中断标志位
  91. }

复制代码

所有资料51hei提供下载:
实验35 摄像头实验.zip (624.83 KB, 下载次数: 125)
回复

使用道具 举报

ID:235729 发表于 2017-11-29 23:50 | 显示全部楼层
老哥  你这个程序可以识别到绿灯 输出一个高电平 识别到一个红的 输出一个高电平吗 求教 谢谢了
回复

使用道具 举报

ID:235729 发表于 2017-11-29 23:51 | 显示全部楼层
老哥 你这个程序可以检测到红灯 输出高电平 检测到绿灯 输出低电平吗 求教 谢谢
回复

使用道具 举报

ID:164146 发表于 2018-6-5 11:30 | 显示全部楼层
学习一下
回复

使用道具 举报

ID:381742 发表于 2018-8-6 16:34 | 显示全部楼层
骗人的,好几个函数都是空的
回复

使用道具 举报

ID:405625 发表于 2018-10-6 15:08 | 显示全部楼层
可以用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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