土壤濕度傳感器Res式1.2
- #include "delay.h"
- #include "stm32f10x.h"
- #include "OLED_I2C.h"
- #include "led.h"
- #include "usart.h"
- #include "string.h"
- #include "adc.h"
- #include "timer.h"
- #include "sys.h"
- #include "exti.h"
- #include "beep.h"
-
- float temp_avrg=0;
- int temp_LL=40;
- int shidu;
- int num;
- int num_adj=1;
- int j=0;
- int times;
- float total=0;
- void Hardware_Init(void) //初始化
- {
- Delay_Init(); //延時函數(shù)初始化
-
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應優(yōu)先級
-
- I2C_Configuration(); //I2C接口初始化
-
- OLED_Init(); //OLED初始化
-
- Led_Init(); //LED接口初始化
-
- uart_init(9600); //串口初始化
-
- Adc_Init(); //ADC初始化
-
- EXTIX_Init(); //外部中斷初始化
-
- BEEP_Init(); //蜂鳴器初始化
- }
- void OLED_Show(void) //設置OLED顯示
- {
- unsigned char i;
- extern const unsigned char BMP2[];
- OLED_CLS(); //清屏
- OLED_DrawBMP(0,0,128,8,(unsigned char *)BMP2);//顯示惠州學院圖標
-
- for(i=10;i<14;i++) //顯示校訓
- OLED_ShowCN(0,2*(i-10),i);
-
- for(i=14;i<18;i++) //顯示校訓
- OLED_ShowCN(112,2*(i-14),i);
-
- DelayMs(2500);
- OLED_CLS(); //清屏
-
- for(i=0;i<4;i++) //顯示惠州學院
- OLED_ShowCN(31+i*16,1,i);
-
- for(i=18;i<21;i++) //顯示曾鈺琢
- OLED_ShowCN(39+(i-18)*16,5,i);
-
- DelayMs(1500);
- OLED_CLS(); //清屏
-
- for(i=4;i<10;i++) //顯示土壤濕度檢測
- OLED_ShowCN(14+(i-4)*16,0,i);
-
- for(i=6;i<8;i++) //顯示濕度
- OLED_ShowCN(0+(i-6)*16,3,i);
-
- OLED_ShowStr(36,4,":",1);
- OLED_ShowStr(90,4,"%",1);
-
- /*顯示濕度下限*/
- for(i=6;i<8;i++)
- OLED_ShowCN(0+(i-6)*16,6,i);
- for(i=21;i<23;i++)
- OLED_ShowCN(32+(i-21)*16,6,i);
- /*顯示濕度下限*/
-
- OLED_ShowStr(70,7,":",1);
- OLED_ShowStr(110,7,"%",1);
- OLED_ShowNum(75,7,temp_LL,1);//濕度下限初值
-
- for(i=6;i<8;i++) //顯示定值
- {
- //OLED_ShowCN(0+(i-6)*16,4,i);
- }
- //OLED_ShowStr(36,5,": cm",1);
- //OLED_ShowNum(50,3,temp_avrg,1);
- for(i=8;i<10;i++) //顯示報警
- {
- //OLED_ShowCN(0+(i-8)*16,6,i);
- }
- //OLED_ShowStr(36,7,":",1);
- }
- /*void HC05_Prepare(void) //藍牙連接
- {
- DelayMs(1000); //等待藍牙模塊上電穩(wěn)定
- while(HC05_Init()) //初始化ATK-HC05模塊
- {
- DelayMs(100);
- }
- DelayMs(100);
- }*/
- int main(void)
- {
- num=50;
- Hardware_Init(); //初始化
- printf("\r\n初始化完成\r\n");
- OLED_Show(); //設置OLED顯示
- //HC05_Prepare(); //藍牙連接
- //USART3_RX_STA=0;
- //printf("\r\n顯示\r\n");
- //Timer2_Init(4999,7199);//10Khz的計數(shù)頻率,計數(shù)到5000為500ms
- while(1)
- {
- Get_Adc_Average(1,10);
- DelayMs(500);
-
- if(shidu>10000)
- shidu=10000;
-
- if(shidu<0)
- shidu=0;
-
- OLED_ShowNum(60,4,shidu%100,1);
- OLED_ShowNum(40,4,shidu/100,1);
- OLED_ShowStr(64,4,".",1);
-
- if(shidu/100<temp_LL)
- {
- BEEP=0;
- DelayMs(500);
- BEEP=1;
- DelayMs(500);
-
- }
- printf("\r\n您發(fā)送的消息為:%f\r\n\r\n",temp_avrg);
- printf("\r\n您發(fā)送的消息為:%d\r\n\r\n",shidu);
-
- }
- /*{
- if(USART3_RX_STA&0X80) //接收到一次數(shù)據(jù)了
- {
- Usart3_Data(); //藍牙控制,啟動/關閉超聲波測距
- }
- DelayMs(1000);
- } */
- }
復制代碼
代碼:
土壤濕度傳感器Res式1.2.rar
(327.26 KB, 下載次數(shù): 59)
2021-6-13 22:56 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|