//任务:电机启停和正反转由按钮控制,电机转速由电位计调节。 int K1=5; //把K1(正转)按钮连在数字端口5 int K2=6; //把K2(反转)按钮连接到数字端口6 int K3=7; //把K3(停止)按钮连接到数字端口7 int potpin = A3; // 将电位计连接到模拟端口A3 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(反转)按钮 ifdigitalRead(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);//延时
}