Arduino UNO+L298驱动直流电机正反转+Proteus仿真
生活随笔
收集整理的這篇文章主要介紹了
Arduino UNO+L298驱动直流电机正反转+Proteus仿真
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Arduino UNO + L298驅(qū)動(dòng)直流電機(jī)正反轉(zhuǎn)+Proteus仿真
- Proteus仿真
- Proteus接線(xiàn)圖
實(shí)例代碼
//任務(wù):通過(guò)按鈕控制電機(jī)啟停和正反轉(zhuǎn),通過(guò)電位計(jì)調(diào)節(jié)電機(jī)轉(zhuǎn)速。 int K1=5; //把K1(正轉(zhuǎn))按鈕連在數(shù)字端口5 int K2=6; //把K2(反轉(zhuǎn))按鈕連在數(shù)字端口6 int K3=7; //把K3(停止)按鈕連在數(shù)字端口7 int potpin = A3; // 把電位計(jì)連在模擬端口A3 int A=2; //數(shù)字端口2、3控制電機(jī)啟停和轉(zhuǎn)向 int B=3; int PWMpin = 9; // 數(shù)字端口9輸出PWM信號(hào),控制電機(jī)轉(zhuǎn)速 //初始化 void setup() {pinMode(K1,INPUT);//把數(shù)字端口5、6、7設(shè)置輸入模式pinMode(K2,INPUT);pinMode(K2,INPUT);pinMode(A,OUTPUT);//把數(shù)字端口2、3設(shè)置輸入模式pinMode(B,OUTPUT); } //主程序 void loop() {//如果按下K1(正轉(zhuǎn))按鈕if(digitalRead(K1)==LOW){//電機(jī)正轉(zhuǎn)digitalWrite(A,HIGH);digitalWrite(B,LOW);}//如果按下K2(反轉(zhuǎn))按鈕if(digitalRead(K2)==LOW){//電機(jī)反轉(zhuǎn)digitalWrite(A,LOW);digitalWrite(B,HIGH);}//如果按下K3(停止)按鈕if(digitalRead(K3)==LOW){//電機(jī)停止digitalWrite(A,LOW);digitalWrite(B,LOW);}int sensorValue = analogRead(potpin); //讀取電位計(jì)采樣值 sensorValue = sensorValue/4; // 采樣值 0-1024 轉(zhuǎn)換為 0-255analogWrite(PWMpin, sensorValue);//把處理后的轉(zhuǎn)換值以PWM信號(hào)形式輸出delay(20);//延時(shí) }添加hex文件保存路徑或者選擇導(dǎo)出二進(jìn)制文件
- 方式一:添加hex文件保存路徑
- 方式二:選擇導(dǎo)出二進(jìn)制文件
- 選擇帶驅(qū)動(dòng)的hex文件加載到Proteus里面
- Proteus加載帶BootLoader的Hex文件。
實(shí)例代碼和仿真資源
鏈接:https://pan.baidu.com/s/1Omq8WtfyibIYoeiEGlQCDQ 提取碼:rem4總結(jié)
以上是生活随笔為你收集整理的Arduino UNO+L298驱动直流电机正反转+Proteus仿真的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: curl命令介绍
- 下一篇: 杰力科创触摸屏LED镜浴室镜触摸芯片——