bobo | NPC | 创造力: | 帖子: | 发消息 | 串个门 | 加好友 | 打招呼
2012-7-31 14:10:07 [显示全部楼层]
9352浏览
查看: 9352|回复: 10

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

[复制链接]

bobo  NPC
 楼主|

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

回答:
下载的IDE是什么版本的,老的库文件有可能只能在0023一下版本的IDE下面兼容。请告知你是再哪里下载的库文件。我这边看看。


下面是 控制板电路图链接 http://www.dfrobot.com/image/dat ... l%20board%20SCH.pdf
电路使用D4、D5、D6、D7 四个接口控制一个AP9930这个全桥驱动芯片,
如果是单稳态水阀,只需要控制他输出一个电压吸合水泵。
对于双稳态,需要瞬间脉冲控制水泵,水泵将固定在吸合状态,然后在反向全桥输出使水泵打开
下面是库函数里面的控制代码示例
  1. void sunflower::Solenoid()
  2. {
  3.             digitalWrite(6,LOW);
  4.             digitalWrite(5,LOW);
  5.            digitalWrite(7,LOW);
  6.             digitalWrite(4,LOW);
  7.   if(dat1<35)
  8.     {
  9.      if(dat2<dat)     //qi dong dian ci fa guan gai
  10.       {
  11.   
  12.       if(j==0)
  13.        {
  14.         digitalWrite(6,HIGH);
  15.         digitalWrite(5,HIGH);
  16.         digitalWrite(7,LOW);
  17.         digitalWrite(4,LOW);
  18.         delay(30);
  19.         digitalWrite(6,LOW);
  20.         digitalWrite(5,LOW);
  21.         digitalWrite(7,LOW);
  22.         digitalWrite(4,LOW);
  23.         j++;
  24.        }
  25.       }
  26.     if(dat2>=85)
  27.         {
  28.       if(j==1)
  29.        {            
  30.         digitalWrite(7,HIGH);
  31.         digitalWrite(4,HIGH);   
  32.         digitalWrite(5,LOW);
  33.         digitalWrite(6,LOW);   
  34.         delay(30);
  35.         digitalWrite(7,LOW);
  36.         digitalWrite(4,LOW);
  37.         digitalWrite(5,LOW);
  38.         digitalWrite(6,LOW);  
  39.         j=0;
  40.         }
  41.         }
  42.       delay(100);
  43.   }
  44. }
复制代码
回复

使用道具 举报

hyena  学徒

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

bobo 发表于 2012-7-31 14:33
回答:
下载的IDE是什么版本的,老的库文件有可能只能在0023一下版本的IDE下面兼容。请告知你是再哪里下载 ...

我买的是这个:
http://item.taobao.com/item.htm?id=15429440401&_u=v1m685ac23f
这里面有水阀吗?

我买的这个开停水泵代码咋写.谢谢

arduino IDE 是1.0.1
回复

使用道具 举报

bobo  NPC
 楼主|

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

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

库里面有代码
  1. void sunflower::pump()
  2. {
  3. if(dat1<35)
  4.     {
  5.       if(dat2<dat)     
  6.       {
  7.         digitalWrite(6,HIGH);
  8.          digitalWrite(5,HIGH);
  9.       }
  10.              if(dat2>=85)
  11.            {
  12.              digitalWrite(6,LOW);
  13.              digitalWrite(5,LOW);
  14.           }
  15.    delay(100);
  16.   }
  17. }
复制代码
当前 D4,D7 都是
  1.   digitalWrite(4,LOW);
  2.   digitalWrite(7,LOW);
复制代码
当:
  1. digitalWrite(6,HIGH);
  2. digitalWrite(5,HIGH);  水泵开关
复制代码
当:
  1. digitalWrite(6,LOW);
  2. digitalWrite(5,LOW); 水泵关闭
复制代码
你可以根据AP9930全桥内部结果分析下逻辑
AP9930全桥内部如附件图
AP9930.jpg
回复

使用道具 举报

hyena  学徒

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

  1. void setup()
  2. {
  3.   Serial.begin(9600);
  4.   pinMode(4,OUTPUT);
  5.   pinMode(5,OUTPUT);
  6.   pinMode(6,OUTPUT);
  7.   pinMode(7,OUTPUT);
  8.   digitalWrite(6,LOW);
  9.   digitalWrite(4,LOW);
  10.   digitalWrite(5,LOW);
  11.   digitalWrite(7,LOW);
  12. }
  13. void loop()
  14. {
  15.    Serial.println("Hello world!");
  16.   
  17.   if (switch1 == 0){
  18.    digitalWrite(6,HIGH);
  19.    digitalWrite(5,HIGH);
  20.    switch1 = 1;
  21.   }else{
  22.      digitalWrite(6,LOW);
  23.      digitalWrite(5,LOW);
  24.      switch1 = 0;
  25.   }        
  26.    delay(5000);
  27. }
复制代码
这个代码有问题吗?水泵还是没反应.
回复

使用道具 举报

mickey  NPC

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

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

使用道具 举报

mickey  NPC

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

您可以这样试试:
  1. void setup()
  2. {
  3.   Serial.begin(9600);
  4.   pinMode(4,OUTPUT);
  5.   pinMode(5,OUTPUT);
  6.   pinMode(6,OUTPUT);
  7.   pinMode(7,OUTPUT);
  8.   digitalWrite(6,LOW);
  9.   digitalWrite(4,LOW);
  10.   digitalWrite(5,LOW);
  11.   digitalWrite(7,LOW);
  12. }
  13. void loop()
  14. {
  15.    Serial.println("Hello world!");
  16.   
  17.    digitalWrite(6,HIGH);
  18.    digitalWrite(5,HIGH);
  19.    delay(5000);
  20.    digitalWrite(6,LOW);
  21.    digitalWrite(5,LOW);
  22.      
  23.    delay(5000);
  24. }
复制代码
回复

使用道具 举报

mickey  NPC

发表于 2012-8-1 00:25:12

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

使用道具 举报

hyena  学徒

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

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

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

使用道具 举报

mickey  NPC

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

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

使用道具 举报

20060606  高级技匠

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

高电平水泵运转低电平水泵不运转,如果你用的是继电器的话
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail