在了解了当天的情况我们将建立控制器的行为在这一天,我们要做的第一件事是看两电压,对电池和另一个电位器(鲍纳3299),我们需要知道这个值确定电池电量和坚固的Low Battery Range,后阅读这个我们要求一个如果有条件,如果电压读取电池比Low Battery Range少,系统将检测到的电池是低收费,(这就是为什么我们需要根据电池的满充电电压调节电位器的电压),如果单片机检测到低电池就会开始充电它,在这种情况下我们需要使用其他的指令去做另一读并在指定,如果电压低于3.9v(我使用这个值,因为这是我的电池提供的价值在完全充电)我们需要给电池充电。最后,我们的代码将看起来像这样:
ADC的讲座了解当天的状态
lectstat = adc_read(chstat);
天条件
日
如果(lectstat > 368){ // 368 = 1.8v
电池和Potentiometer读
adc_read(切巴特)lectbat1 =;
lectpot = adc_read(chpot);
低电池状态
如果(lectbat1
/ /低电池
面板= 1;//电池充电
小时= 0;// LED灯关闭
其他{ }
//读取电池的水平了
adc_read(切巴特)lectbat2 =;
电池充电直至其完成
如果(lectbat2<797){ // 982 = 3.9v
/ /中电池
面板= 1;//电池充电
小时= 0;//关闭LED灯
其他{ }
面板= 0;//满充电电池
小时= 0;//关闭LED灯
}
}
}
<em>注</em>:我们关掉灯因为我们指定的行为控制器的白天。
4部分:
我们的代码的最后一部分是关于指定控制器的行为在晚上,基本上是相同的行为,我们只需要打开LED灯,并指定是否在低水平收费我们关掉灯电池。我们的代码将看起来像这样:
一天的状态
/ /夜
如果(lectstat<368){ // 368 = 1.8v
电池电压与电位器的讲座
adc_read(切巴特)lectbat1 =;
lectpot = adc_read(chpot);
低电池模式
如果(lectbat1
/ /低电池
面板= 0;//关闭电池充电
小时= 0;//关闭LED灯
其他{ }
/ /二电池讲座
adc_read(切巴特)lectbat2 =;
如果(lectbat2<797){ // 797 = 3.9v
/ /中电池
面板= 0;//关闭电池充电
小时= 1;//打开LED灯
其他{ }
小时= 1;
面板= 0;//满充电电池
}
}
}
}
<em>注</em>:我们关掉灯在低电池节约能源和继续工作直到次日再次充电电池。我们不需要打开电池的充电晚上因为电压,太阳能电池板提供的太低,给它充电。
这就是我们的代码,我们只需要程序我们用PIC编程器PIC12F675加载HEX文件到它。
-
太阳能照明controller.txt
下载
(责任编辑:admin) |