|
一、系統基本功能
本文介紹與總結基于51單片機的超聲波測距模塊與L298N電機的控制,本系統仿真可以對SR04超聲波傳感器模塊的仿真,能夠將測得的距離進行顯示,為了能夠模擬小車的實際運動,則設置一個目標值(相當于障礙),通過距離差值(即小車與障礙之間的距離差)來控制電機,使得進行相應的運行,從而達到壁障的效果。
二、系統基本要求
1、使用HC-SR04超聲波傳感器模塊測量距離。
2、使用LCD1602液晶顯示屏顯示實時測量距離,設置的目標值以及小車與障礙的差距值。
3、使用L298N電機驅動,驅動兩個電機運轉,通過差值控制小車運行。
4、設置兩個按鍵,可以直接對目標值進行修改。
四、系統提高方向
(1)能夠指導實物玩家做出實物,本人也很渴望做出實物;
(2)在仿真方面,可以使用其他電機,本人使用L298N是因為對L298N進行學習,并且小車實物的控制電機都會選用,如果使用其他電機,可以仿真通過差值的大小來控制電機的轉速,從而達到加速,減速,停止的效果,使仿真更有意義;
(3)另外,系統仿真可以集循跡與測距兩大功能與一身,豐富功能,提高學習難度。
五、部分代碼
/**********************************************************
智能小車控制系統
************************************************************/
/**********************************************************
HY-SRF05該模塊的檢測距離范圍在手冊上寫的為:2cm-450cm,精度在3cm
其實這個精度也取決于單片機的晶振。
************************************************************/
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
/**********************************************************
引腳定義
************************************************************/
sbit RS=P3^2; //1602 寫數據與寫命令選擇端口
sbit RW=P3^3; //1602 讀與寫選擇端, RW=0為寫模式
sbit EN=P3^4; // 使能引腳,給 EN一個高脈沖,將數據送入液晶控制器,完成寫操作
sbit EC=P2^1;
sbit TR=P2^0;
sbit L293D_IN1=P1^0;
sbit L293D_IN2=P1^1;
sbit L293D_IN3=P1^2;
sbit L293D_IN4=P1^3;
sbit K2=P1^5;//預設值增加按鈕
sbit K3=P1^6;//預設值減小按鈕
uint set=100;//預設值定為100
uint S;//保存超聲波距離
uint M;//差值
|
-
2.png
(73.88 KB, 下載次數: 76)
下載附件
2021-3-28 14:27 上傳
-
1.png
(73.44 KB, 下載次數: 83)
下載附件
2021-3-28 14:27 上傳
|