我想寫一個編程關於自動收衣架-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5106|回复: 9

我想寫一個編程關於自動收衣架

[复制链接]
发表于 2012-10-23 08:10 | 显示全部楼层 |阅读模式
當天陰,光量低時,光感應器將此信息傳送至單片機,單片機控制摩打正向移動2秒,然後停止移動.
當天晴,光量高時,光感應器將此信息傳送至單片機,單片機控制摩打反向移動2秒,然後停止移動.
當下雨時,濕度高,濕度感應器將此信息傳送至單片機,單片機控制摩打正向移動2秒,然後停止移動.
當下雨時,濕度低,濕度感應器將此信息傳送至單片機,單片機控制摩打反向移動2秒,然後停止移動.
发表于 2012-10-23 10:53 | 显示全部楼层
精神上支持一下
发表于 2012-10-24 22:10 | 显示全部楼层
……看上去感觉程序上不会太麻烦……但晾衣架的设计恐怕费劲了……
 楼主| 发表于 2012-12-12 00:08 | 显示全部楼层
q75236123 发表于 2012-10-24 22:10
……看上去感觉程序上不会太麻烦……但晾衣架的设计恐怕费劲了……

當天陰,光量低時,光感應器將此信息傳送至單片機,單片機控制摩打正向移動2秒,然後停止移動.
當天晴,光量高時,光感應器將此信息傳送至單片機,單片機控制摩打反向移動2秒,然後停止移動.

/*光感应晾衣架:
当光敏电阻检测有阳光照射,衣架伸出,
如果天色变暗,衣架收起。*/
#include <Servo.h> //声明伺服马达函数库
Servo myservo;  // 定义伺服马达对象
int sensorPin =0;//声明传感器连在端口0
int flag=0; //衣架伸出或者收起的标志
int light_val;//变量存储光敏电阻模拟量数据
//初始化
void setup()
{
  myservo.attach(9);  //初始化9号引脚来控制马达                     
}
//循环执行主程序中的指令
void loop()
{
  //光敏电阻,天色光线越弱,采集得到的光敏电阻数据愈大
  light_val=analogRead(sensorPin); //读取光敏电阻的数据  
  //如果阳光出来了,并且衣架处于收起状态
  if(light_val<=100 && flag==0)
  //变量light_val的参数值应根据当天的光线,通过测试来确定。
  {
    myservo.write(0);     // 启动伺服电机正转
    delay(2000);             // 等待2s,让衣架伸出到位
    flag=1; //标志衣架处于伸出状态
     myservo.write(93);  //伺服电机停止
  }
  //如果阴天,没有阳光,并且栏杆处于伸出状态
  if(light_val>100 && flag==1)
  {
    myservo.write(180);     // 启动伺服电机反转
    delay(2000);             // 等待2s,让衣架收回到位
    flag=0; //标志衣架处于收起状态
    myservo.write(93);  // 伺服电机停止
  }   
}

只剩下湿度传感器的控制不会编
當下雨時,濕度高,濕度感應器將此信息傳送至單片機,單片機控制摩打正向移動2秒,然後停止移動.
當下雨時,濕度低,濕度感應器將此信息傳送至單片機,單片機控制摩打反向移動2秒,然後停止移動.
??
发表于 2012-12-12 09:47 | 显示全部楼层
看你用什么传感器了,论坛里有DHT11的教程,里面有库
 楼主| 发表于 2012-12-12 22:12 | 显示全部楼层
我发现马达不会停止, myservo.write(93);,是不是93是不对,还是delay的问题,还是这个程序有问题?
发表于 2012-12-13 00:42 | 显示全部楼层
detach()才是停止舵机,write(93)是转到93度
 楼主| 发表于 2012-12-17 08:06 | 显示全部楼层
奈何col 发表于 2012-12-13 00:42
detach()才是停止舵机,write(93)是转到93度

我根据http://www.eefocus.com/zhang700309/blog/12-02/238514_5acbc.html这个网,这个马达是可以停止和反转的,我昨天的马达不会停止和反转
 楼主| 发表于 2012-12-17 22:18 | 显示全部楼层
奈何col 发表于 2012-12-13 00:42
detach()才是停止舵机,write(93)是转到93度

detach()中的应该打甚麽字才会停
发表于 2013-4-26 23:24 | 显示全部楼层
干脆做个机械手,下雨了把衣服一件件夹进来,楼主很快就会出名的。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-28 15:45 , Processed in 0.076836 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表