顯示模塊:1602 液晶顯示
供電方式: USB
輸入方式:拉力 霍爾傳感器
輸出方式:顯示屏 WIFI電腦PC上位機
控制芯片:STM32F103RCT6
功能說明:
1、按鍵可以控制電機的轉動,通過霍爾傳感器檢測直流電機的轉速,并顯示出來
2、拉力檢測,可以檢測受力,同時顯示屏顯示數據。
3、電腦連接ESP8266wifi,可以接收數據。
顯示
u8 one[]=" V=0000rad/min"; //第一行顯示轉速
u8 two[]=" F=00000 "; //第二行顯示拉力
PC接收數據
u8 send[]="V=0000 F=00000\r\n";//發送數組
制作出來的實物圖如下:
實物.JPG (66.45 KB, 下載次數: 76)
下載附件
2019-8-20 16:42 上傳
電路原理圖如下:
0.png (126.33 KB, 下載次數: 82)
下載附件
2019-8-21 03:39 上傳
單片機源程序如下:
- #include "sys.h"
- #include "usart.h"
- #include "delay.h"
- #include "led.h"
- #include "1602.h"
- #include "hx711.h"
- #include "exti.h"
- #include "timer.h"
- unsigned int k;
- unsigned long HX711_Buffer = 0;
- unsigned long Weight_Maopi = 0,Weight_Shiwu = 0;
- u8 one[]=" V=0000rad/min"; //第一行顯示
- u8 two[]=" F=00000 "; //第二行顯示
- unsigned int pul=0,speed=0;
- int sendflag=0;
- u8 send[]="V=0000 F=00000\r\n";//發送數組
- void program() //循環體
- {
- HX711_Buffer = Read_HX711(); //檢測拉力
- HX711_Buffer = HX711_Buffer/100;
- if(HX711_Buffer > Weight_Maopi) //防止反向值
- {
- Weight_Shiwu = HX711_Buffer;
- Weight_Shiwu = Weight_Shiwu - Weight_Maopi; //獲取實物的AD采樣數值
- }else//反向受力則拉力為0
- {
- Weight_Shiwu=0;
- }
-
- two[5]=Weight_Shiwu/10000+'0'; //顯示拉力數值
- two[6]=Weight_Shiwu%10000/1000+'0';
- two[7]=Weight_Shiwu%1000/100+'0';
- two[8]=Weight_Shiwu%100/10+'0';
- two[9]=Weight_Shiwu%10+'0';
-
- one[5]=speed/1000+'0';//顯示速度值
- one[6]=speed%1000/100+'0';
- one[7]=speed%100/10+'0';
- one[8]=speed%10+'0';
-
- LCD_Write_String(0,0,one); //顯示第一行
- LCD_Write_String(0,1,two); //顯示第二行
-
- if(sendflag>=6) //定時發送數據給電腦
- {
- sendflag=0;
- send[2]=one[5]; send[3]=one[6]; send[4]=one[7]; send[5]=one[8];
- send[9]=two[5];send[10]=two[6];send[11]=two[7];send[12]=two[8];send[13]=two[9];
- printf("AT+CIPSEND=0,15\r\n");
- delay_ms(100);
- printf(send);
- delay_ms(300);
-
- }
-
-
- }
- int main(void)
- {
- u8 i=0;
- Stm32_Clock_Init(9); //系統時鐘設置
- uart_init(72,9600); //串口初始化為9600
- TIM3_Int_Init(5000,7199);//10Khz的計數頻率,計數到5000為500ms
- delay_init(72); //延時初始化
- LED_Init(); //初始化與LED連接的硬件接口
- LCD1602_Init(); //液晶顯示初始化
- delay_ms(500);
- HX711_Init(); //受力傳感器
- EXTI_Init(); //外部中斷
- LCD_Write_String(0,0,one); //顯示第一行
- LCD_Write_String(0,1,two); //顯示第二行
-
-
- HX711_Buffer = Read_HX711();
- Weight_Maopi = HX711_Buffer/100; //先檢測初始化受力
-
- delay_ms(1000); //延時
- printf("AT+CIPMUX=1\r\n"); //配置多連接的模式
- delay_ms(800); //延時
- printf("AT+CIPSERVER=1,8080\r\n"); //配置端口號
- delay_ms(800);
- while(1)
- {
-
- program(); //程序
-
- delay_ms(10); //程序執行提示
- i++;
- if(i%5==0)
- {
- LED0=!LED0;
- }
- }
- }
復制代碼
所有資料51hei提供下載:
資料包.7z
(659.7 KB, 下載次數: 96)
2019-8-21 03:40 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|