【新手求助】arduino开机后电机自转
求助1:arduino——L298N,arduino 通电后,未进行按键控制,电机会转,但按键会控制电机停 。是Arduino损坏了?应该开机时就是低电平啊求助2:
L298N连接 电机1 电机2,开关1控制电机1 开关2控制电机2 , 怎么编程 能在 开关1开启,电机1转动的时候,按下开关2,电机1停止,电机2转动,
同样在开关2开启,电机2转动的时候,按下开关1,电机2停止,电机1转动。
还能单独控制 转 和 停止。下面是我的程序。初自学垃圾编程,跪求指导。
int val1 = 0;
int val2 = 0;
int val3 = 0;
int val4 = 0;
int state1 = 0;
int state2 = 0;
void setup()
{
pinMode(6,INPUT);
pinMode(7,INPUT);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
}
void loop()
{
val1=digitalRead(6);
if((val1 == HIGH)&&(val2 == LOW))
{
state1 = 1-state1;
delay(10);
}
val2 = val1;
val3 = digitalRead( 7 );
if((val3 == HIGH)&&(val4 == LOW))
{
state2 = 1-state2;
delay(10);
}
val4 = val3;
if(state1 == 0)
{
digitalWrite(2,LOW);
analogWrite(3,LOW);
}
if(state2 == 0)
{
digitalWrite(4,LOW);
analogWrite(5,LOW);
}
if(state1 == 1)
{
digitalWrite(2,HIGH);
analogWrite(3,HIGH);
}
if(state2 == 1)
{
digitalWrite(4,HIGH);
analogWrite(5,HIGH);
}
if(state1 == 1)
{
if(state2 == 1)
{
state1 = 0;
digitalWrite(4,HIGH);
analogWrite(5,HIGH);
}
}
if(state2 == 1)
{
if(state1 == 1)
{
state2 = 0;
digitalWrite(2,HIGH);
analogWrite(3,HIGH);
}
}
}
现在是能在开关1开启,电机1转动的时候,按下开关2,电机1停止,电机2转动,
但是不能在开关2开启,电机2转动的时候,按下开关1,电机2停止,电机1转动。
通电放置一段时间电机会自己转动,什么毛病? 本帖最后由 pww999 于 2012-8-7 01:17 编辑
nt val1 = 0;
int val2 = 0;
int val3 = 0;
int val4 = 0;
int state1 = 0;
int state2 = 0;
void setup()
{
pinMode(6,INPUT);
pinMode(7,INPUT);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
analogWrite(3,0);
analogWrite(5,0);
}
void loop()
{
val1=digitalRead(6);
val2 = digitalRead(7);
if(val1 == HIGH)
{
if (val3==0)
{
//val2 =LOW;
digitalWrite(4,LOW);
analogWrite(5,0);
digitalWrite(2,HIGH);
analogWrite(3,255);
delay(10);
val3=1;
}
else {
digitalWrite(2,LOW);
analogWrite(3,0);
val3=0;
}
}
if(val2 == HIGH)
{
if (val4==0)
{
//val1 =LOW;
digitalWrite(2,LOW);
analogWrite(3,0);
digitalWrite(4,HIGH);
analogWrite(5,255);
delay(10);
val4=1;
}
else {
digitalWrite(4,LOW);
analogWrite(5,0);
val4=0;
}
}
????? 上传一下你的硬件接线图或者原理图吧~我估计是你的硬件问题~ 谢谢各位,基础的东西不扎实,用的生硬。已经解决了 我猜是放在程序的LOOP中了。楼主怎么解决的?我看了程序,不过也不太懂啊。楼主怎么解决的?呵。
页:
[1]