bobo 发表于 2012-7-31 14:10:07

自动浇花遇到的问题

目前又个问题;
1. 在最新的 arduino IDE 下,库文件编译不过;
2.如何通过digitalWrite控制水泵的开停?

bobo 发表于 2012-7-31 14:33:17

回答:
下载的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);
}
}

hyena 发表于 2012-7-31 14:44:43

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

bobo 发表于 2012-7-31 15:19:45

看错,那就是一个水泵,加电就抽水灌溉。

库里面有代码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全桥内部如附件图

hyena 发表于 2012-7-31 19:20:22

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);
}这个代码有问题吗?水泵还是没反应.

mickey 发表于 2012-8-1 00:14:17

您的代码有问题,switch1没有定义端口。还有主板要外接电源哦。

mickey 发表于 2012-8-1 00:16:05

您可以这样试试: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:25:12

还有一个需要注意的是,水泵必须要放到水中哦,不能在空气中给它加电,会烧坏水泵。

hyena 发表于 2012-8-1 14:39:31

mickey 发表于 2012-8-1 00:14 static/image/common/back.gif
您的代码有问题,switch1没有定义端口。还有主板要外接电源哦。

我用USB,还需要外接电源吗?

mickey 发表于 2012-8-2 16:57:57

如果接了水泵,是必须要外接电源的。

20060606 发表于 2020-8-26 06:32:45

高电平水泵运转低电平水泵不运转,如果你用的是继电器的话
页: [1]
查看完整版本: 自动浇花遇到的问题