tft每日頭條

 > 圖文

 > arduino電機控制

arduino電機控制

圖文 更新时间:2025-02-09 12:45:58

1 電路接線圖

說明:L298N ENA位置的跳線帽需要摘除,ENA接Arduino UNO 9端口

我接電路時,用9V電源正極接入Arduino UNO Vin接口,用串口連接時,電機不轉(電壓不夠)。 另外用電池接入時,串口供電會自動斷開,所以調試時,不用将串口斷開,這樣調試時,可以觀察串口輸出信息。

arduino電機控制(Arduino實例十七)1

2 實物接線圖

arduino電機控制(Arduino實例十七)2

3 程序

此程序包含了3個函數,1個是電機正反轉,1個是自動電機調速,1個是通過電位器對電機進行調速,如下程序,将2個函數注釋掉了,這樣調試時,可以就一個函數進行分析和觀察

# define ENA 9 # define IN1 8 # define IN2 7 void setup() { pinMode(ENA,OUTPUT); pinMode(IN1,OUTPUT); pinMode(IN2,OUTPUT); Serial.begin(9600); } void Pos_NegRotation() { analogWrite(ENA,255);//占空比80/255,可以是0到255之前的數 digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); delay(1000); digitalWrite(IN1,HIGH); digitalWrite(IN2,HIGH); delay(1000); digitalWrite(IN1,LOW); digitalWrite(IN2,HIGH); delay(1000); digitalWrite(IN1,LOW); digitalWrite(IN2,LOW); delay(1000); } void PWMcontrol() {int i; digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); for(i=0;i<=255;i ) { Serial.print("Value_i="); Serial.println(i); analogWrite(ENA,i); delay(20); } digitalWrite(IN1,HIGH); digitalWrite(IN2,HIGH); delay(1000); } void Potentiometer() { int pValue=analogRead(A0); int PWMout=map(pValue,0,1023,0,255); Serial.print("PWMout="); Serial.println(PWMout); analogWrite(ENA,PWMout); digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); delay(1000); } void loop() { //Pos_NegRotation(); //PWMcontrol(); Potentiometer(); }

4 電位器對電機進行調速時,端口信息輸出

arduino電機控制(Arduino實例十七)3

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved