| 
 最近天气酷热,离开空调和冷饮简直难以生存。一天给鱼换水时想到,若是长期离家,无法通过勤换水来给鱼降温,还有什么办法能自动为宠物鱼降低水温?朋友出了个损招,“开空调呗”。正好前段时间也看到别人用最新的DS18B20防水温度计套件,于是呼便有了这个点子给鱼缸设置自动降温装置。 //这是一个面向初学者的0-1教程,来搭建鱼缸自动降温装置。    
 
Required Hardware: 12V/1000mA开关电源适配  
PS:另需一些亚克力板与杜邦线  
STEP1 完成硬件连接(无需焊接)  
   
 
 
把传感器针脚接到数字口2【如图中绿线】 电扇分别接M1,M2 电扇需要外接电源24v,接到PWRIN  
 
打开以下链接并选择适合你设备的版本. https://www.arduino.cc/en/Main/Software  
STEP3 向Arduino IDE中添加库.   
 
 
STEP4 用USB电缆连接电脑和UNO 板子 烧录代码 代码如下 (提示: 在工具栏选择正确的板子与接口)   
  
 
			
			
			- #include <OneWire.h>
 - 
 - int DS18S20_Pin = 2; //DS18S20 Signal pin on digital 2
 - int E1 = 5;   
 - int M1 = 4;
 - int E2 = 6;                        
 - int M2 = 7;
 - 
 - //Temperature chip i/o
 - OneWire ds(DS18S20_Pin);  // on digital pin 2
 - 
 - void setup(void) {
 -   Serial.begin(9600);
 -   pinMode(4, OUTPUT);   
 -   pinMode(7, OUTPUT);
 - }
 - 
 - void loop(void) {
 - 
 -   int value =0;
 -   float temperature= getTemp();
 -   Serial.println(temperature);
 -   delay(100);
 - 
 -   if(temperature > 25.00)
 - {
 -   digitalWrite(M1,HIGH);   
 -   digitalWrite(M2, HIGH);      
 -   analogWrite(E1, 255);   //PWM
 -   analogWrite(E2, 255);   //PWM
 -   delay(30);
 - }
 - else{
 -   digitalWrite(M1,LOW);   
 -   digitalWrite(M2, LOW);      
 -   analogWrite(E1, 0);   //PWM
 -   analogWrite(E2, 0);   //PWM
 -   delay(30);
 - }
 - //just here to slow down the output so it is easier to read
 - 
 - }
 - 
 - 
 - float getTemp(){
 -   //returns the temperature from one DS18S20 in DEG Celsius
 - 
 -   byte data[12];
 -   byte addr[8];
 - 
 -   if ( !ds.search(addr)) {
 -       //no more sensors on chain, reset search
 -       ds.reset_search();
 -       return -1000;
 -   }
 - 
 -   if ( OneWire::crc8( addr, 7) != addr[7]) {
 -       Serial.println("CRC is not valid!");
 -       return -1000;
 -   }
 - 
 -   if ( addr[0] != 0x10 && addr[0] != 0x28) {
 -       Serial.print("Device is not recognized");
 -       return -1000;
 -   }
 - 
 -   ds.reset();
 -   ds.select(addr);
 -   ds.write(0x44,1); // start conversion, with parasite power on at the end
 - 
 -   byte present = ds.reset();
 -   ds.select(addr);   
 -   ds.write(0xBE); // Read Scratchpad
 - 
 - 
 -   for (int i = 0; i < 9; i++) { // we need 9 bytes
 -     data = ds.read();
 -   }
 - 
 -   ds.reset_search();
 - 
 -   byte MSB = data[1];
 -   byte LSB = data[0];
 - 
 -   float tempRead = ((MSB << 8) | LSB); //using two's compliment
 -   float TemperatureSum = tempRead / 16;
 -   return TemperatureSum;
 - 
 - }
 
  复制代码
  
STEP5 用亚克力组合设备    
   
 
整理飞线,做好防水涂层处理  
 
   
 
用此装置可以模拟自然风对水进行物理降温,体积较小成本较低可以组成集群,通过传感器的改  变可以由不同条件判断对对象进行降温处理。当然,也可以给培育箱中的其他小动物做“迷你空调”哦!不妨给猫窝里也装上一个吧!  
快亲手自试试看DIY吧!!!  
【注:推荐风扇用外接电源啊!!!标准电压为24V,用12V电扇也可以工作但几乎(划掉)没有降温效果】  |