【防水 DS18B20 温度传感器套件】 DIY :鱼缸自动降温装置

2017-07-142.7万
精华项目
AI 快速预览详细 收起
本教程介绍了如何使用防水DS18B20温度传感器套件和Arduino UNO R3等硬件,搭建一个鱼缸自动降温装置。所需硬件包括DFRduino UNO R3、USB电缆、DS18B20防水温度传感器套件、Overlord 3D打印机喷头风扇、L298P电机驱动、12V/1000mA开关电源适配器以及一些亚克力板和杜邦线。教程详细说明了硬件连接步骤、库文件安装方法和代码烧录过程。最终效果是通过温度传感器监测水温,当温度超过25°C时,启动风扇进行降温。这个项目适合初学者,无需焊接,操作简单,能够有效解决夏季鱼缸水温过高的问题。
最近天气酷热,离开空调和冷饮简直难以生存。一天给鱼换水时想到,若是长期离家,无法通过勤换水来给鱼降温,还有什么办法能自动为宠物鱼降低水温?朋友出了个损招,“开空调呗”。正好前段时间也看到别人用最新的DS18B20防水温度计套件,于是呼便有了这个点子给鱼缸设置自动降温装置。
//这是一个面向初学者的0-1教程,来搭建鱼缸自动降温装置。
【防水 DS18B20 温度传感器套件】 DIY :鱼缸自动降温装置图7

Required Hardware:
12V/1000mA开关电源适配
【防水 DS18B20 温度传感器套件】 DIY :鱼缸自动降温装置图1

PS:另需一些亚克力板与杜邦线

STEP1 完成硬件连接(无需焊接)

【防水 DS18B20 温度传感器套件】 DIY :鱼缸自动降温装置图2【防水 DS18B20 温度传感器套件】 DIY :鱼缸自动降温装置图3


把传感器针脚接到数字口2【如图中绿线】
电扇分别接M1,M2
电扇需要外接电源24v,接到PWRIN


STEP2 安装 Arduino IDE
打开以下链接并选择适合你设备的版本.
https://www.arduino.cc/en/Main/Software

STEP3 向Arduino IDE中添加库.
【防水 DS18B20 温度传感器套件】 DIY :鱼缸自动降温装置图5


STEP4 用USB电缆连接电脑和UNO 板子 烧录代码
代码如下 (提示: 在工具栏选择正确的板子与接口)

【防水 DS18B20 温度传感器套件】 DIY :鱼缸自动降温装置图4

  1. #include <OneWire.h>
  2. int DS18S20_Pin = 2; //DS18S20 Signal pin on digital 2
  3. int E1 = 5;   
  4. int M1 = 4;
  5. int E2 = 6;                        
  6. int M2 = 7;
  7. //Temperature chip i/o
  8. OneWire ds(DS18S20_Pin);  // on digital pin 2
  9. void setup(void) {
  10.   Serial.begin(9600);
  11.   pinMode(4, OUTPUT);   
  12.   pinMode(7, OUTPUT);
  13. }
  14. void loop(void) {
  15.   int value =0;
  16.   float temperature= getTemp();
  17.   Serial.println(temperature);
  18.   delay(100);
  19.   if(temperature > 25.00)
  20. {
  21.   digitalWrite(M1,HIGH);   
  22.   digitalWrite(M2, HIGH);      
  23.   analogWrite(E1, 255);   //PWM
  24.   analogWrite(E2, 255);   //PWM
  25.   delay(30);
  26. }
  27. else{
  28.   digitalWrite(M1,LOW);   
  29.   digitalWrite(M2, LOW);      
  30.   analogWrite(E1, 0);   //PWM
  31.   analogWrite(E2, 0);   //PWM
  32.   delay(30);
  33. }
  34. //just here to slow down the output so it is easier to read
  35. }
  36. float getTemp(){
  37.   //returns the temperature from one DS18S20 in DEG Celsius
  38.   byte data[12];
  39.   byte addr[8];
  40.   if ( !ds.search(addr)) {
  41.       //no more sensors on chain, reset search
  42.       ds.reset_search();
  43.       return -1000;
  44.   }
  45.   if ( OneWire::crc8( addr, 7) != addr[7]) {
  46.       Serial.println("CRC is not valid!");
  47.       return -1000;
  48.   }
  49.   if ( addr[0] != 0x10 && addr[0] != 0x28) {
  50.       Serial.print("Device is not recognized");
  51.       return -1000;
  52.   }
  53.   ds.reset();
  54.   ds.select(addr);
  55.   ds.write(0x44,1); // start conversion, with parasite power on at the end
  56.   byte present = ds.reset();
  57.   ds.select(addr);   
  58.   ds.write(0xBE); // Read Scratchpad
  59.   for (int i = 0; i < 9; i++) { // we need 9 bytes
  60.     data = ds.read();
  61.   }
  62.   ds.reset_search();
  63.   byte MSB = data[1];
  64.   byte LSB = data[0];
  65.   float tempRead = ((MSB << 8) | LSB); //using two's compliment
  66.   float TemperatureSum = tempRead / 16;
  67.   return TemperatureSum;
  68. }
复制代码

STEP5 用亚克力组合设备  

【防水 DS18B20 温度传感器套件】 DIY :鱼缸自动降温装置图8【防水 DS18B20 温度传感器套件】 DIY :鱼缸自动降温装置图6

整理飞线,做好防水涂层处理


【防水 DS18B20 温度传感器套件】 DIY :鱼缸自动降温装置图9【防水 DS18B20 温度传感器套件】 DIY :鱼缸自动降温装置图10

用此装置可以模拟自然风对水进行物理降温,体积较小成本较低可以组成集群,通过传感器的改  变可以由不同条件判断对对象进行降温处理。当然,也可以给培育箱中的其他小动物做“迷你空调”哦!不妨给猫窝里也装上一个吧!

快亲手自试试看DIY吧!!!

【注:推荐风扇用外接电源啊!!!标准电压为24V,用12V电扇也可以工作但几乎(划掉)没有降温效果】

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(12)
IOHDHQ
IOHDHQ
这有用吗?恐怕鱼都热死了才凉快下来
yizhenggesQ
yizhenggesQ
哇,优秀,好赞诶
派大星ym
派大星ym
,,,
派大星ym
派大星ym
酷酷酷酷酷
诩
制冷片这个想法好哇!@20060606
诩
回复20060606
嗯嗯,好的
20060606
20060606回复
友情提示:因为半导体制冷片的原理是用电把冷端的热搬到热面,热面散热能力决定了冷面制冷能力,所以热端要保持良好的散热,冷端可以用水冷头给水制冷,热端可以用热管散热
20060606
20060606
可以考虑用半导体制冷片
王佩奇儿
王佩奇儿
图片怎么有点非主流效果~
汤半泛
汤半泛
直接问问鱼肚子饿不饿 要不要吃饭
yaoxu
yaoxu
这个里面的DS18B20传感器后面是怎么接的数字传感器连接线?我用的DHT11温湿度传感器好像装不了?
微笑的rockets
微笑的rockets
我会建议用蠕动泵来进行循环,并用风扇给循环的水来降温,风扇直接给水箱散热,感觉有点效率比较低一些。
Frankie34
Frankie34
作者
回复微笑的rockets
有道理,这样效率应该是会高蛮多
Forgotten
Forgotten
很想知道这两个小风扇的效果数据
Frankie34
Frankie34
作者
回复Forgotten
但这只是单体输出,可以组一个set
Frankie34
Frankie34
作者
回复Forgotten
一般降温1度左右
yoyojacky
yoyojacky
风吹 pp 凉~, 建议用制冷设备直接制冷呀!~
Frankie34
Frankie34
作者
回复yoyojacky
不过,在经济基础允许的前提下,之后有机会可能对装置改进一波哟:lol
Frankie34
Frankie34
作者
回复yoyojacky
评论内容
- 没有更多了 -