系统的温度传感器采用DS18B20单线数字式温度传感器。该温度传感器,适用电压为3~5 V(跟单片机5 V电源供电可以适用同一电源),可测温度范围为-55~125℃(完全可以满足本系统),而且它只需单总线进行信息交互,即只需占用单片机的一个I/O口,而且基本不需要外部原件。
2.1.2 温度显示电路
温度显示电路原理图如图4所示。
系统采用2位共阳数码管显示环境温度,使用2个8550三极管通过单片机I/O P2.2和P2.3进行数码管位选。单片机上电后,P2.2和P2.3为高电平,当P2.2和P2.3变为低电平(编程进行控制)时,数码管选通,单片机P3口从温度传感器DS18B20的寄存器中读取当前温度的信息,P3口将数据信息送到数码管,进行显示。
这样可以很直观地告诉用户当前环境的温度,同时采用数码管而非液晶屏,可以有效控制成本。
2.2 电磁阀、排风扇电路
电磁阀和排风扇电路原理基本相同,当检测到单片机相应的I/O口输出低电平时(由于单片机上电时I/O口都是高电平,所以采用低电平为有效信号),通过三极管使驱动电路导通,从而驱动电磁阀或者排风扇工作。当单片机I/O口恢复高电平时,驱动电路断开,从而使电磁阀或者排风扇停止工作。
I/O口的高低电平变化,通过采集传感器的信息,通过单片机编程进行控制。更具体说明会在软件系统设计中进行介绍。
电磁阀控制电路主要由NPN共集一共射复合管及光电耦合器组成,当单片机P2.4给出高电平,复合管导通,继电器接通,将开关吸合,电磁阀接通开始放水。电磁阀控制电路如图5所示。
本电路通过单片机的P2.6口控制电磁阀通断,当P2.6为低电平时,通过光电耦合器TP521-1使3/4管脚之间导通。由于电磁阀工作电压是12 V,而且工作时电流较大,采用8050和TIP41两个NPN三极管进行驱动。此时电磁阀正常工作,给花草进行浇灌。当P2.6口变为高电平时,光电耦合器3,4脚之间断开,电磁阀停止工作,不再灌水。