ARDUINO新手
想用ARDUINO UNO 控制两个电机,是42步进电机,用的TB6560驱动板,
我想用雨水传感器来控制电机(有雨水,输出高电平,电机正转一定时间后停止;无雨水了,传感器输出电平变为高电平,此时电机反转同样距离)
void setup() {
pinMode(3,INPUT);// 读取雨水传感器的输入,低电平为有雨
pinMode(4,OUTPUT);// 电机1的3个输出,CLK
pinMode(5,OUTPUT);// CW
pinMode(8,OUTPUT);// 电机2的3个输出,CLK
pinMode(9,OUTPUT);// CW
}
void loop() {
int n =digitalRead(3);// 读取雨水传感器输入
if (n ==LOW)// 低电平,有雨
{
delay(1000);
digitalWrite(4,HIGH);// 有脉冲,输入5V,有脉冲电机运行,无脉冲电机锁定
digitalWrite(5,LOW);// 低电平正转,高电平反转
digitalWrite(8,HIGH);// 有脉冲,输入5V,有脉冲电机运行,无脉冲电机锁定
digitalWrite(9,LOW);// 低电平正转,高电平反转
delay(10000);// 正向运行至另一端
digitalWrite(4,LOW);// 有脉冲,输入5V,有脉冲电机运行,无脉冲电机锁定
digitalWrite(8,LOW);// 有脉冲,输入5V,有脉冲电机运行,无脉冲电机锁定
}
else if (n ==HIGH)// 高电平,无雨
{
delay(1000);
digitalWrite(4,HIGH);// 有脉冲,输入5V,有脉冲电机运行,无脉冲电机锁定
digitalWrite(5,HIGH);// 低电平正转,高电平反转
digitalWrite(8,HIGH);// 有脉冲,输入5V,有脉冲电机运行,无脉冲电机锁定
digitalWrite(9,HIGH);// 低电平正转,高电平反转
delay(10000);// 逆向运行回来
digitalWrite(4,LOW);// 有脉冲,输入5V,有脉冲电机运行,无脉冲电机锁定
digitalWrite(8,LOW);// 有脉冲,输入5V,有脉冲电机运行,无脉冲电机锁定
}
}
但是电机并不工作
希望大家能够指点指点,谢谢啦 |