|
楼主 |
发表于 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秒,然後停止移動.
?? |
|