anydy 发表于 2022-7-24 16:24:51

比赛的作品:水位检测站(上)

半年一度的B2(创科马拉松)项目开始啦!
和我的队友商量了差不多两小时(主题是协作机器人)
简单来说,就是能帮助人类的工业,农业,或医学等领域

我和队友商量,可实现的功能有:
第一,可以测量水位是否有异常
第二,如果发现有人再水里游泳,警报上岸
第三,还可以响铃人们撤离
第四,可以通过网络上报手机里,提醒撤离大概是这样了

目前没有外壳,请看下期,所以别叫我发照片了()()

下面就开工
准备的材料:
1个UNO主控板
1个cld液晶显示屏
1个obloq模块
1个蜂鸣器
1个人体红外释热传感器
1个土壤湿度传感器(别问我为什么要用它)

我们先把lcd显示屏安装在i2c串口,如果0x20的i2c地址不行,那么试试0x27的i2c地址,如果还是不行,那就再试试0x3F的i2c地址,如果还是不行,那就调cld显示屏上的编码器,调到有文字为止,如果还是不行,没有办法,找商家问问

土壤湿度传感器是用来测量水位的,别说我开完笑,你烧下着个代码你就知道了(记得打开串口输出)
对了,土壤湿度传感器要接A0接口,不然会没有输出
void setup() {
      Serial.begin(9600);
}
void loop() {
      Serial.println(analogRead(A0));
}


下面就初始化obloq吧!(代码如下)
#include <UNO_Obloq.h>
// 静态常量
const String topics = {"","","","",""};
// 创建对象
UNO_Obloq olq;
void setup() {
      olq.startConnect(0, 1, "", "", "", "", topics, "iot.dfrobot.com.cn", 1883);
}
void loop() {

}
注意:空的地方要填自己的网络名称和密码,还有你的帐号id和pwd(硬串口还是软串口你自选)

流程图:

有了流程图,就简单多了
代码的程序:
/*!
* MindPlus
* uno
*
*/
#include <UNO_Obloq.h>
#include <SoftwareSerial.h>
#include <DFRobot_Libraries.h>
#include <DFRobot_LiquidCrystal_I2C.h>

// 动态变量
volatile float mind_n_ShangShengZhiShu, mind_n_DengDai;
// 静态常量
const String topics = {"Py23LWp7g","","","",""};
// 创建对象
DFRobot_LiquidCrystal_I2C lcd1602;
UNO_Obloq               olq;
SoftwareSerial            softSerial(2, 3);
DFRobot_Tone            DFTone;


// 主程序开始
void setup() {
        Serial.begin(9600);
        lcd1602.begin(0x27);
        lcd1602.clear();
        softSerial.begin(9600);
olq.startConnect(&softSerial, "KevinMobile", "15819779550", "T-NGaECnR", "TaHMaEj7gz", topics, "iot.dfrobot.com.cn", 1883);
}
void loop() {
        Serial.println(analogRead(A0));
        if ((analogRead(A0)<=300)) {
                lcd1602.printLine(uint32_t(1), "Wate level:normal");
                Serial.println(analogRead(A0));
        }
        else {
                lcd1602.printLine(uint32_t(1), "Wate level:abnorma");
                Serial.println(analogRead(A0));
                DFTone.play(A1, 262, 500);
                DFTone.play(A1, 880, 500);
                mind_n_ShangShengZhiShu += 1;
        }
        if ((digitalRead(13)==1)) {
                lcd1602.printLine(uint32_t(2), "Someone drowned");
        }
        if ((digitalRead(13)==0)) {
                lcd1602.printLine(uint32_t(2), "                                              ");
        }
        if ((mind_n_DengDai==30)) {
                mind_n_DengDai = 0;
                if ((analogRead(A0)<300)) {
                        olq.publish(olq.topic_0, "目前水位没有危险");
                }
                else {
                        olq.publish(olq.topic_0, (String((String("目前水位是") + String(analogRead(A0)))) + String(",请注意撤离")));
                }
        }
        mind_n_DengDai += 1;
        delay(1000);
}



好了,本帖今天结束了,我们明天再见

ASH腻 发表于 2022-7-25 13:52:35

期待更新

Z5182JA2POgN 发表于 2022-7-25 17:29:15

太厉害了{:5_179:}

anydy 发表于 2022-7-27 16:44:54

ASH腻 发表于 2022-7-25 13:52
期待更新

你等半年吧

ASH腻 发表于 2022-7-27 18:00:55

anydy 发表于 2022-7-27 16:44
你等半年吧

说好的外壳看下期呢 {:5_137:}

anydy 发表于 2022-7-29 23:07:55

ASH腻 发表于 2022-7-27 18:00
说好的外壳看下期呢

明天保证更新

星辰大海://。, 发表于 2022-8-26 19:41:16

anydy 发表于 2022-7-27 16:44
你等半年吧

hmmmm主要是外壳太烂了吧

星辰大海://。, 发表于 2022-9-9 22:07:56

https://mc.dfrobot.com.cn/thread-313946-1-1.html
来抢生意喽!!!
页: [1]
查看完整版本: 比赛的作品:水位检测站(上)