17951浏览
查看: 17951|回复: 18

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

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

Rockets  NPC

发表于 2017-7-21 11:38:30

我会建议用蠕动泵来进行循环,并用风扇给循环的水来降温,风扇直接给水箱散热,感觉有点效率比较低一些。
回复

使用道具 举报

yoyojacky  初级技匠

发表于 2017-7-17 12:54:48

风吹 pp 凉~, 建议用制冷设备直接制冷呀!~
回复

使用道具 举报

Frankie34  中级技师
 楼主|

发表于 2017-7-17 13:53:05

本帖最后由 Frankie34 于 2017-7-20 21:29 编辑
yoyojacky 发表于 2017-7-17 12:54
风吹 pp 凉~, 建议用制冷设备直接制冷呀!~

            
回复

使用道具 举报

Frankie34  中级技师
 楼主|

发表于 2017-7-17 13:58:22

yoyojacky 发表于 2017-7-17 12:54
风吹 pp 凉~, 建议用制冷设备直接制冷呀!~

不过,在经济基础允许的前提下,之后有机会可能对装置改进一波哟:lol
回复

使用道具 举报

Forgotten  版主

发表于 2017-7-18 21:58:23

很想知道这两个小风扇的效果数据
回复

使用道具 举报

Frankie34  中级技师
 楼主|

发表于 2017-7-21 15:16:52

Forgotten 发表于 2017-7-18 21:58
很想知道这两个小风扇的效果数据

一般降温1度左右
回复

使用道具 举报

Frankie34  中级技师
 楼主|

发表于 2017-7-21 15:17:46

Forgotten 发表于 2017-7-18 21:58
很想知道这两个小风扇的效果数据

但这只是单体输出,可以组一个set
回复

使用道具 举报

Frankie34  中级技师
 楼主|

发表于 2017-7-21 15:18:34

Rockets 发表于 2017-7-21 11:38
我会建议用蠕动泵来进行循环,并用风扇给循环的水来降温,风扇直接给水箱散热,感觉有点效率比较低一些。 ...

有道理,这样效率应该是会高蛮多
回复

使用道具 举报

yaoxu  学徒

发表于 2018-5-23 08:31:59

这个里面的DS18B20传感器后面是怎么接的数字传感器连接线?我用的DHT11温湿度传感器好像装不了?
截图201805230831549949.png
回复

使用道具 举报

岑剑伟  初级技师

发表于 2019-9-17 10:57:46

直接问问鱼肚子饿不饿 要不要吃饭
回复

使用道具 举报

wangyirun  初级技匠

发表于 2020-4-25 08:18:02

图片怎么有点非主流效果~
回复

使用道具 举报

20060606  高级技匠

发表于 2020-8-11 05:22:22

可以考虑用半导体制冷片
回复

使用道具 举报

 初级技匠

发表于 2020-8-12 16:17:22

制冷片这个想法好哇!@20060606
回复

使用道具 举报

20060606  高级技匠

发表于 2020-8-18 10:28:21

诩 发表于 2020-8-12 16:17
制冷片这个想法好哇!@20060606

友情提示:因为半导体制冷片的原理是用电把冷端的热搬到热面,热面散热能力决定了冷面制冷能力,所以热端要保持良好的散热,冷端可以用水冷头给水制冷,热端可以用热管散热
回复

使用道具 举报

 初级技匠

发表于 2020-8-18 15:14:49

20060606 发表于 2020-8-18 10:28
友情提示:因为半导体制冷片的原理是用电把冷端的热搬到热面,热面散热能力决定了冷面制冷能力,所以热端要 ...

嗯嗯,好的
回复

使用道具 举报

派大星ym  初级技匠

发表于 2022-8-4 12:19:06

酷酷酷酷酷
回复

使用道具 举报

派大星ym  初级技匠

发表于 2022-8-4 12:26:01

,,,
回复

使用道具 举报

yizhenggesQ  学徒

发表于 2022-9-28 23:25:36

哇,优秀,好赞诶
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail