找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7566|回復(fù): 8
打印 上一主題 下一主題
收起左側(cè)

STM32+光敏傳感器+串口接收光照強(qiáng)度源程序 制作成功

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
STM32F103RCT6+光敏傳感器監(jiān)測光照強(qiáng)度可以用串口助手接收

我用的是四針腳光敏傳感器
不同型號的STM32 ADC通道的選擇也不一樣
我使用的是STM32F103RCT6單片機(jī) 選擇了ADC2 通道6 對應(yīng)的是PA6引腳。
希望對你們有幫助


下面是部分STM32單片機(jī)代碼
主函數(shù)
  1. #include "stm32f10x.h"  
  2. #include "beep.h"
  3. #include "delay.h"
  4. #include "lcd.h"
  5. #include "usart.h"
  6. #include "adc.h"
  7. #include "lsens.h"
  8. #include "stdio.h"

  9. int main(void)
  10. {        
  11.   u8 ADCX;
  12.   u8 t=0,i;
  13.         char LSEN[20];
  14.   USART1_init();
  15.         BEEP_Init();
  16.         LCD_Init();
  17.         Lsens_Init();
  18.         LCD_BLK = 0;
  19.         for(i=3;i>0;i--)
  20.         {
  21.           LCD_DrawFont_Num32(50,80,RED,YELLOW,i);
  22.                 delay_ms(1000);
  23.         }
  24.         LCD_Clear(GREEN);
  25.         LCD_DrawFont_GBK16(25,0,BLUE,GREEN, "運(yùn)行中...");
  26.         LCD_DrawFont_GBK16(5,60,BLACK,GREEN, "光照:");
  27.         LCD_DrawFont_GBK16(70,60,BLACK,GREEN, "CD");
  28.         while(1)
  29.         {
  30.    if(t%10==0)
  31.          {
  32.                 ADCX=Lsens_Get_Val();
  33.                 sprintf(LSEN,"%d",ADCX);        //將光敏電阻值轉(zhuǎn)換為字符格式        
  34.                 printf("光強(qiáng): %d CD\r\n ",ADCX);        
  35.          }
  36.          if(ADCX<40)             //報(bào)警閾值
  37.          {
  38.                  if(ADCX<40)
  39.                  {
  40.                    LCD_DrawFont_GBK16(50,60,RED,GREEN,LSEN);
  41.                  }
  42.            GPIO_SetBits(BEEP_PORT,BEEP_PIN);
  43.                  delay_ms(10);
  44.                  GPIO_ResetBits(BEEP_PORT,BEEP_PIN);
  45.          }
  46.          else
  47.          {
  48.                  LCD_DrawFont_GBK16(50,60,BLACK,GREEN,LSEN);
  49.          }
  50.    delay_ms(100);
  51.          t++;
  52.         }
  53. }
復(fù)制代碼

串口
  1. <blockquote>void USART1_init(void)
復(fù)制代碼
光敏傳感器:
  1. //初始化光敏傳感器函數(shù),即對GPIO,PA6初始化參數(shù)配置//
  2. void Lsens_Init(void)
  3. {
  4. GPIO_InitTypeDef GPIO_InitStructure;
  5. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF,ENABLE);    //使能GPIOA時(shí)鐘
  6. //配置GPIOA參數(shù),引腳6,模擬輸入//
  7. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;     
  8. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;  
  9. GPIO_Init(GPIOF, &GPIO_InitStructure);
  10. Adc2_Init();
  11. }
  12. //讀取Light Sens的值,范圍0-100,0最暗;100最亮//
  13. u8 Lsens_Get_Val(void)
  14. {
  15. u32 temp_val=0;
  16. u8 t;
  17. for(t=0;t<LSENS_READ_TIMES;t++)       //LSENS_READ_TIMES在lsens.h文件中設(shè)好,默認(rèn)10//
  18. {
  19.   temp_val+=Get_Adc2(LSENS_ADC_CHX);   //讀取ADC值,LSENS_ADC_CHX在lsens.h文件中設(shè)好,默認(rèn)ADC_Channel_6,即0x06//
  20.   delay_ms(5);
  21. }
  22. temp_val/=LSENS_READ_TIMES;           //計(jì)算平均值//
  23. if(temp_val>4000)temp_val=4000;       //當(dāng)計(jì)算后的值大于4000時(shí),強(qiáng)制轉(zhuǎn)換為4000//
  24. return (u8)(100-(temp_val/40));       //將temp_val值歸一化到0-100之間//
  25. }
復(fù)制代碼
全部資料51hei下載地址:
STM32+光敏傳感器.7z (186.17 KB, 下載次數(shù): 217)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏10 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:794435 發(fā)表于 2021-4-15 23:03 | 只看該作者
大佬,求助,我遮住,顯示的值變大,我打手電筒,值變小
回復(fù)

使用道具 舉報(bào)

板凳
ID:818895 發(fā)表于 2021-4-16 06:58 | 只看該作者
是一個(gè)很好的學(xué)習(xí)資料。
回復(fù)

使用道具 舉報(bào)

地板
ID:882758 發(fā)表于 2021-8-2 15:37 | 只看該作者
DO接的什么口
回復(fù)

使用道具 舉報(bào)

5#
ID:882758 發(fā)表于 2021-8-2 16:59 | 只看該作者
我數(shù)據(jù)一直是0 我吐了
回復(fù)

使用道具 舉報(bào)

6#
ID:882758 發(fā)表于 2021-8-2 17:21 | 只看該作者
解決了  沒有跳VREF
回復(fù)

使用道具 舉報(bào)

7#
ID:968147 發(fā)表于 2021-9-29 11:36 | 只看該作者
xxxxiii 發(fā)表于 2021-8-2 16:59
我數(shù)據(jù)一直是0 我吐了

請問怎么解決的呢
回復(fù)

使用道具 舉報(bào)

8#
ID:980680 發(fā)表于 2021-11-14 14:06 | 只看該作者

兄弟,你這D0接的啥
回復(fù)

使用道具 舉報(bào)

9#
ID:27027 發(fā)表于 2021-11-26 07:46 | 只看該作者
確實(shí)一個(gè)好資料,點(diǎn)贊
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表