自动浇花遇到的问题
目前又个问题;1. 在最新的 arduino IDE 下,库文件编译不过;
2.如何通过digitalWrite控制水泵的开停?
回答:
下载的IDE是什么版本的,老的库文件有可能只能在0023一下版本的IDE下面兼容。请告知你是再哪里下载的库文件。我这边看看。
下面是 控制板电路图链接 http://www.dfrobot.com/image/dat ... l%20board%20SCH.pdf
电路使用D4、D5、D6、D7 四个接口控制一个AP9930这个全桥驱动芯片,
如果是单稳态水阀,只需要控制他输出一个电压吸合水泵。
对于双稳态,需要瞬间脉冲控制水泵,水泵将固定在吸合状态,然后在反向全桥输出使水泵打开
下面是库函数里面的控制代码示例void sunflower::Solenoid()
{
digitalWrite(6,LOW);
digitalWrite(5,LOW);
digitalWrite(7,LOW);
digitalWrite(4,LOW);
if(dat1<35)
{
if(dat2<dat) //qi dong dian ci fa guan gai
{
if(j==0)
{
digitalWrite(6,HIGH);
digitalWrite(5,HIGH);
digitalWrite(7,LOW);
digitalWrite(4,LOW);
delay(30);
digitalWrite(6,LOW);
digitalWrite(5,LOW);
digitalWrite(7,LOW);
digitalWrite(4,LOW);
j++;
}
}
if(dat2>=85)
{
if(j==1)
{
digitalWrite(7,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
delay(30);
digitalWrite(7,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
j=0;
}
}
delay(100);
}
}
bobo 发表于 2012-7-31 14:33 static/image/common/back.gif
回答:
下载的IDE是什么版本的,老的库文件有可能只能在0023一下版本的IDE下面兼容。请告知你是再哪里下载 ...
我买的是这个:
http://item.taobao.com/item.htm?id=15429440401&_u=v1m685ac23f
这里面有水阀吗?
我买的这个开停水泵代码咋写.谢谢
arduino IDE 是1.0.1
看错,那就是一个水泵,加电就抽水灌溉。
库里面有代码void sunflower::pump()
{
if(dat1<35)
{
if(dat2<dat)
{
digitalWrite(6,HIGH);
digitalWrite(5,HIGH);
}
if(dat2>=85)
{
digitalWrite(6,LOW);
digitalWrite(5,LOW);
}
delay(100);
}
}当前 D4,D7 都是digitalWrite(4,LOW);
digitalWrite(7,LOW);当:digitalWrite(6,HIGH);
digitalWrite(5,HIGH);水泵开关当:digitalWrite(6,LOW);
digitalWrite(5,LOW); 水泵关闭你可以根据AP9930全桥内部结果分析下逻辑
AP9930全桥内部如附件图 void setup()
{
Serial.begin(9600);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
digitalWrite(6,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(7,LOW);
}
void loop()
{
Serial.println("Hello world!");
if (switch1 == 0){
digitalWrite(6,HIGH);
digitalWrite(5,HIGH);
switch1 = 1;
}else{
digitalWrite(6,LOW);
digitalWrite(5,LOW);
switch1 = 0;
}
delay(5000);
}这个代码有问题吗?水泵还是没反应. 您的代码有问题,switch1没有定义端口。还有主板要外接电源哦。 您可以这样试试:void setup()
{
Serial.begin(9600);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
digitalWrite(6,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(7,LOW);
}
void loop()
{
Serial.println("Hello world!");
digitalWrite(6,HIGH);
digitalWrite(5,HIGH);
delay(5000);
digitalWrite(6,LOW);
digitalWrite(5,LOW);
delay(5000);
} 还有一个需要注意的是,水泵必须要放到水中哦,不能在空气中给它加电,会烧坏水泵。 mickey 发表于 2012-8-1 00:14 static/image/common/back.gif
您的代码有问题,switch1没有定义端口。还有主板要外接电源哦。
我用USB,还需要外接电源吗?
如果接了水泵,是必须要外接电源的。 高电平水泵运转低电平水泵不运转,如果你用的是继电器的话
页:
[1]