[求助]自动浇花遇到的问题

2012-07-311.8万
AI 快速预览详细 收起
本文解决了在最新Arduino IDE下库文件编译不过的问题,并介绍了如何通过digitalWrite控制水泵的开停。适用于家庭园艺和智能农业,帮助用户实现自动浇花。

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(8)
20060606
20060606
高电平水泵运转低电平水泵不运转,如果你用的是继电器的话
Mickey
Mickey
如果接了水泵,是必须要外接电源的。
Mickey
Mickey
还有一个需要注意的是,水泵必须要放到水中哦,不能在空气中给它加电,会烧坏水泵。
Mickey
Mickey
您可以这样试试:[code]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);
}[/code]
Mickey
Mickey
您的代码有问题,switch1没有定义端口。还有主板要外接电源哦。
hyena
hyena回复Mickey
我用USB,还需要外接电源吗?
hyena
hyena
[code]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);
}[/code]这个代码有问题吗?水泵还是没反应.
BoBo
BoBo
作者
看错,那就是一个水泵,加电就抽水灌溉。
库里面有代码[code]void sunflower::pump()
{
if(dat1<35)
{
if(dat2{
digitalWrite(6,HIGH);
digitalWrite(5,HIGH);
}
if(dat2>=85)
{
digitalWrite(6,LOW);
digitalWrite(5,LOW);
}
delay(100);
}
}[/code]当前 D4,D7 都是[code] digitalWrite(4,LOW);
digitalWrite(7,LOW);[/code]当:[code]digitalWrite(6,HIGH);
digitalWrite(5,HIGH); 水泵开关[/code]当:[code]digitalWrite(6,LOW);
digitalWrite(5,LOW); 水泵关闭[/code]你可以根据AP9930全桥内部结果分析下逻辑
AP9930全桥内部如附件图
BoBo
BoBo
作者
回答:
下载的IDE是什么版本的,老的库文件有可能只能在0023一下版本的IDE下面兼容。请告知你是再哪里下载的库文件。我这边看看。
下面是 控制板电路图链接 http://www.dfrobot.com/image/dat ... l%20board%20SCH.pdf
电路使用D4、D5、D6、D7 四个接口控制一个AP9930这个全桥驱动芯片,
如果是单稳态水阀,只需要控制他输出一个电压吸合水泵。
对于双稳态,需要瞬间脉冲控制水泵,水泵将固定在吸合状态,然后在反向全桥输出使水泵打开
下面是库函数里面的控制代码示例[code]void sunflower::Solenoid()
{
digitalWrite(6,LOW);
digitalWrite(5,LOW);
digitalWrite(7,LOW);
digitalWrite(4,LOW);
if(dat1<35)
{
if(dat2{
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);
}
}
[/code]
hyena
hyena回复BoBo
我买的是这个:
http://item.taobao.com/item.htm?id=15429440401&_u=v1m685ac23f
这里面有水阀吗?
我买的这个开停水泵代码咋写.谢谢
arduino IDE 是1.0.1
- 没有更多了 -