最近天气酷热,离开空调和冷饮简直难以生存。一天给鱼换水时想到,若是长期离家,无法通过勤换水来给鱼降温,还有什么办法能自动为宠物鱼降低水温?朋友出了个损招,“开空调呗”。正好前段时间也看到别人用最新的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电扇也可以工作但几乎(划掉)没有降温效果】 |