Arduino程序:
//任務:通過按鈕控制電機啟停和正反轉,通過電位計調節電機轉速。
int K1=5; //把K1(正轉)按鈕連在數字端口5
int K2=6; //把K2(反轉)按鈕連在數字端口6
int K3=7; //把K3(停止)按鈕連在數字端口7
int potpin = 3; // 把電位計連在模擬端口3
int A=2; //數字端口2、3控制電機啟停和轉向
int B=3;
int PWMpin = 9; // 數字端口9輸出PWM信號,控制電機轉速
//初始化
void setup()
{
pinMode(K1,INPUT);//把數字端口5、6、7設置輸入模式
pinMode(K2,INPUT);
pinMode(K2,INPUT);
pinMode(A,OUTPUT);//把數字端口2、3設置輸入模式
pinMode(B,OUTPUT);
}
//主程序
void loop()
{
//如果按下K1(正轉)按鈕
if(digitalRead(K1)==LOW)
{
//電機正轉
digitalWrite(A,HIGH);
digitalWrite(B,LOW);
}
//如果按下K2(反轉)按鈕
if(digitalRead(K2)==LOW)
{
//電機反轉
digitalWrite(A,LOW);
digitalWrite(B,HIGH);
}
//如果按下K3(停止)按鈕
if(digitalRead(K3)==LOW)
{
//電機停止
digitalWrite(A,LOW);
digitalWrite(B,LOW);
}
int sensorValue = analogRead(potpin); //讀取電位計采樣值
sensorValue = sensorValue/4; // 采樣值 0-1024 轉換為 0-255
analogWrite(PWMpin, sensorValue);//把處理后的轉換值以PWM信號形式輸出
delay(20);//延時
|