5742| 3
|
点亮你的鱼缸 |
本帖最后由 347945801 于 2020-11-13 18:36 编辑 在快节奏的生活中,陌生人之间的交流越来越少,很多人都选择养宠物作为排解寂寞的手段 其中,养金鱼大概是“看起来”最简单的了 但我们的生活越来越忙碌,你是否在紧张忙碌的生活中,经常忘了照顾你的小鱼鱼呢?是否因为忘了换水而让鱼生活在浑浊的水中呢,又是否因为加热棒突然抽风而将鱼煮“熟”了呢 硬件清单 M0主控板x1 DS18B20 防水温度传感器套件x1 Gravity: 模拟TDS传感器x1 Gravity: I2C 8×16 RGB LED点阵表情板x1 Gravity I2C OLED-2864 显示屏x1 杜邦线若干 软件使用Arduino IDE 烧录程序M0的SDK可以在Wiki中找到我们还用到了几个传感器和显示器的库包括DFRobot_TDS,DFRobot_RGBPanel,DFRobot_SSD1306_I2C DFRobot_DS18B20,DFRobot_NeoPixel这两个库在DFRobot官方库中没有,但可以在Mind+的Arduino库中找到。 因为我们同时使用的表情板和OLED显示屏都是IIC设备,因此我们需要将IIC接口扩展,这里就需要用到扩展板了 我们开始着手做一个外壳 这里我选择用激光切割来制作,使用的材料是黑色的亚克力板(不用透明的肯定不是因为里面接线太乱) 在拼装的过程中,我顺便将会表情板和OLED显示屏固定在了亚克力板上 而我们对于表情板的编程可以移到Mind+上,在将代码复制到Arduino上(Mind+还未支持M0) [mw_shl_code=cpp,false]#include <DFRobot_DS18B20.h> #include <DFRobot_NeoPixel.h> #include <DFRobot_RGBPanel.h> #include <DFRobot_SSD1306_I2C.h> // 静态常量 const uint16_t bitmap[][8] = { {0x03e0,0x07f0,0x0888,0x0888,0x0770,0x0360,0x02a0,0x02a0}, {0x0000,0x1008,0x0810,0x0420,0x0810,0x1008,0x03c0,0x0420}, {0x4422,0x2814,0x1008,0x2814,0x4422,0x0000,0x0000,0x03c0}, {0x0000,0x1008,0x2814,0x0000,0x0000,0x0000,0x0420,0x03c0} }; // 创建对象 DFRobot_NeoPixel neoPixel_4; DFRobot_TDS tds_A0(A0); DFRobot_SSD1306_I2C oled12864; DFRobot_DS18B20 ds18b20_5; DFRobot_RGBPanel panel; // 主程序开始 void setup() { oled12864.begin(0x3c); ds18b20_5.begin(5); neoPixel_4.begin(4, 20); neoPixel_4.setBrightness(255); } void loop() { oled12864.setCursorLine(1); oled12864.printLine((String("TDS: ") + String((tds_A0.getTdsValue())))); oled12864.setCursorLine(2); oled12864.printLine((String("Temperature:") + String(ds18b20_5.getTempC()))); if (((ds18b20_5.getTempC()<20) && ((tds_A0.getTdsValue())>=30))) { panel.diy(bitmap[0], 1); } else { if ((ds18b20_5.getTempC()<20)) { panel.diy(bitmap[1], 3); } else if (((tds_A0.getTdsValue())>=30)) { panel.diy(bitmap[2], 4); } else { panel.diy(bitmap[3], 2); neoPixel_4.showRainbow(0, 4, 1, 360); } } delay(5000); }[/mw_shl_code] 代码中关于温度和TDS的阈值可以根据养的鱼的种类不同而修改 接着上传代码到主控中 将代码上传后,我们将探头放入鱼缸中,就能获取鱼缸中的水质和温度了 这是适宜的水质和温度,表情板显示笑脸,灯带为彩色 这是TDS超标是的表情,灯带为蓝色 这是水温低于或高于正常值的表情,灯带显示为黄色 水质和水温都不在正常范围内时,表情板就显示一个红色的骷髅头,你亲爱的小鱼鱼就快嗝屁啦 鱼的记忆只有7秒,我们无法感受到他们的生活状态,这个小鱼缸让人们可以生动的感受鱼的生活环境 及时换水和正确使用加热棒,也避免主人投食过多导致水体浑浊 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed