智能决策与多模态交互的植物养护系统
物联网设备支持智能家居系统的互联互通,形成生态系统 #生活知识# #科技生活# #科技改变生活# #物联网设备#
* MindPlus * esp32s3bit * */#include "asr.h"#include "unihiker_k10.h"#include <Microbit_Motor.h> // 动态变量volatile float mind_n_XianShiZhaoPianZhuangTai;// 函数声明void DF__14();void DF__25();void DF__36();void DF_KaiShiJiaoShui();void DF_FanHui();// 创建对象UNIHIKER_K10 k10;uint8_t screen_dir=2;ASR asr;Microbit_Motor motorbit;AHT20 aht20; // 主程序开始void setup() {k10.begin();pinMode(P1, INPUT);Serial.begin(9600);pinMode(P0, INPUT);k10.initScreen(screen_dir);k10.initBgCamerImage();k10.setBgCamerImage(false);k10.creatCanvas();asr.asrInit(CONTINUOUS, CN_MODE, 9000);while(asr._asrState == 0){delay(100);}asr.setAsrSpeed(1);k10.initSDFile();k10.canvas->canvasClear();k10.setScreenBackground(0xFFFFFF);k10.canvas->canvasText(" 智慧农业", 1, 0x0000FF);asr.addASRCommand(0+1, "yi hao tian jiao shui");asr.addASRCommand(1+1, "er hao tian jiao shui");asr.addASRCommand(2+1, "pai she zhao pian");asr.addASRCommand(3+1, "xian shi zhao pian");asr.addASRCommand(4+1, "san hao tian jiao shui");asr.addASRCommand(5+1, "si hao tian jiao shui");asr.addASRCommand(6+1, "wu hao tian jiao shui");asr.addASRCommand(7+1, "liu hao tian jiao shui");motorbit.servo(S8, 90);mind_n_XianShiZhaoPianZhuangTai = 0;}void loop() {Serial.println((digitalRead(P1)));if ((mind_n_XianShiZhaoPianZhuangTai==0)) {k10.canvas->canvasText((String("环境温度 :") + String(aht20.getData(AHT20::eAHT20TempC))), 2, 0x0000FF);k10.canvas->canvasText((String("环境湿度 :") + String(aht20.getData(AHT20::eAHT20HumiRH))), 3, 0x0000FF);k10.canvas->canvasText((String("光线强度 :") + String(k10.readALS())), 4, 0x0000FF);}if (((digitalRead(P0))==1)) {k10.canvas->canvasText((String("储水罐状态:") + String("缺水")), 11, 0x0000FF);asr.speak("储水罐该加水了");k10.canvas->updateCanvas();delay(3000);}else {k10.canvas->canvasText((String("储水罐状态:") + String("充足")), 11, 0x0000FF);k10.canvas->updateCanvas();}if (((digital_read(eP8))==1)) {k10.canvas->canvasText((String("一号田湿度:") + String("正常")), 5, 0x0000FF);}else {k10.canvas->canvasText((String("一号田湿度:") + String("缺水")), 5, 0x0000FF);k10.canvas->updateCanvas();delay(3000);asr.speak("一号田缺水,正在进行自动浇灌");DF__14();motorbit.servo(S8, 0);DF_KaiShiJiaoShui();k10.canvas->canvasText((String("一号田湿度:") + String("正常")), 5, 0x0000FF);k10.canvas->updateCanvas();delay(1000);DF_FanHui();}if (((digital_read(eP12))==1)) {k10.canvas->canvasText((String("二号田湿度:") + String("正常")), 6, 0x0000FF);k10.canvas->updateCanvas();}else {k10.canvas->canvasText((String("二号田湿度:") + String("缺水")), 6, 0x0000FF);k10.canvas->updateCanvas();delay(3000);asr.speak("二号田缺水,正在进行自动浇灌");DF__25();motorbit.servo(S8, 0);DF_KaiShiJiaoShui();k10.canvas->canvasText((String("二号田湿度:") + String("正常")), 6, 0x0000FF);k10.canvas->updateCanvas();delay(1000);DF_FanHui();}if (((digitalRead(P1))==1)) {k10.canvas->canvasText((String("三号田湿度:") + String("正常")), 7, 0x0000FF);}else {k10.canvas->canvasText((String("三号田湿度:") + String("缺水")), 7, 0x0000FF);k10.canvas->updateCanvas();delay(3000);asr.speak("三号田缺水,正在进行自动浇灌");DF__36();motorbit.servo(S8, 0);DF_KaiShiJiaoShui();k10.canvas->canvasText((String("三号田湿度:") + String("正常")), 7, 0x0000FF);k10.canvas->updateCanvas();delay(1000);DF_FanHui();}if (((digital_read(eP14))==1)) {k10.canvas->canvasText((String("四号田湿度:") + String("正常")), 8, 0x0000FF);}else {k10.canvas->canvasText((String("四号田湿度:") + String("缺水")), 8, 0x0000FF);k10.canvas->updateCanvas();delay(3000);asr.speak("四号田缺水,正在进行自动浇灌");DF__14();motorbit.servo(S8, 180);DF_KaiShiJiaoShui();k10.canvas->canvasText((String("四号田湿度:") + String("正常")), 8, 0x0000FF);k10.canvas->updateCanvas();delay(1000);DF_FanHui();}if (((digital_read(eP15))==1)) {k10.canvas->canvasText((String("五号田湿度:") + String("正常")), 9, 0x0000FF);}else {k10.canvas->canvasText((String("五号田湿度:") + String("缺水")), 9, 0x0000FF);k10.canvas->updateCanvas();delay(3000);asr.speak("五号田缺水,正在进行自动浇灌");DF__25();motorbit.servo(S8, 180);DF_KaiShiJiaoShui();k10.canvas->canvasText((String("五号田湿度:") + String("正常")), 9, 0x0000FF);k10.canvas->updateCanvas();delay(1000);DF_FanHui();}if (((digital_read(eP13))==1)) {k10.canvas->canvasText((String("六号田湿度:") + String("正常")), 10, 0x0000FF);}else {k10.canvas->canvasText((String("六号田湿度:") + String("缺水")), 10, 0x0000FF);k10.canvas->updateCanvas();delay(3000);asr.speak("六号田缺水,正在进行自动浇灌");DF__36();motorbit.servo(S8, 180);DF_KaiShiJiaoShui();k10.canvas->canvasText((String("六号田湿度:") + String("正常")), 10, 0x0000FF);k10.canvas->updateCanvas();delay(1000);DF_FanHui();}k10.canvas->updateCanvas();if (asr.isDetectCmdID(0+1)) {asr.speak("收到");delay(1000);DF__14();motorbit.servo(S8, 0);DF_KaiShiJiaoShui();delay(1000);DF_FanHui();}if (asr.isDetectCmdID(1+1)) {asr.speak("收到");delay(1000);DF__25();motorbit.servo(S8, 0);DF_KaiShiJiaoShui();delay(1000);DF_FanHui();}if (asr.isDetectCmdID(2+1)) {asr.speak("收到");delay(1000);k10.photoSaveToTFCard("S:/photo.bmp");asr.speak("拍摄完成");delay(1000);}if (asr.isDetectCmdID(4+1)) {asr.speak("收到");delay(1000);DF__36();motorbit.servo(S8, 0);DF_KaiShiJiaoShui();delay(1000);DF_FanHui();}if (asr.isDetectCmdID(5+1)) {asr.speak("收到");delay(1000);DF__14();motorbit.servo(S8, 180);DF_KaiShiJiaoShui();delay(1000);DF_FanHui();}if (asr.isDetectCmdID(6+1)) {asr.speak("收到");delay(1000);DF__25();motorbit.servo(S8, 180);DF_KaiShiJiaoShui();delay(1000);DF_FanHui();}if (asr.isDetectCmdID(7+1)) {asr.speak("收到");delay(1000);DF__36();motorbit.servo(S8, 180);DF_KaiShiJiaoShui();delay(1000);DF_FanHui();}if (asr.isDetectCmdID(3+1)) {k10.canvas->canvasClear();asr.speak("好的");delay(1000);mind_n_XianShiZhaoPianZhuangTai = 1;k10.canvas->canvasDrawImage(0, 0, "S:/photo.bmp");k10.canvas->updateCanvas();delay(1000);k10.canvas->canvasText("3", 1, 0x0000FF);k10.canvas->updateCanvas();delay(1000);k10.canvas->canvasText("2", 1, 0x0000FF);k10.canvas->updateCanvas();delay(1000);k10.canvas->canvasText("1", 1, 0x0000FF);k10.canvas->updateCanvas();k10.canvas->canvasClear();mind_n_XianShiZhaoPianZhuangTai = 0;}if ((((k10.isGesture(ScreenUp)) || (k10.isGesture(ScreenDown))) || ((k10.isGesture(TiltLeft)) || (k10.isGesture(TiltRight))))) {asr.speak("别碰我,别碰我,放回原位");delay(2000);}} // 自定义函数void DF__14() {motorbit.motorRun(M3, CCW, 255);delay(500);motorbit.motorRun(M3, CCW, 0);}void DF__25() {motorbit.motorRun(M3, CCW, 255);delay(12000);motorbit.motorRun(M3, CCW, 0);}void DF__36() {motorbit.motorRun(M3, CCW, 255);delay(22000);motorbit.motorRun(M3, CCW, 0);}void DF_KaiShiJiaoShui() {delay(2000);motorbit.motorRun(M4, CW, 255);delay(1500);motorbit.motorRun(M4, CW, 0);digital_write(eP15, HIGH);k10.rgb->write(-1, 0x0000FF);delay(1000);motorbit.motorRun(M4, CW, 0);digital_write(eP15, LOW);k10.rgb->write(-1, 0x000000);motorbit.servo(S8, 90);}void DF_FanHui() {while (!((digital_read(eP16))==0)) {motorbit.motorRun(M3, CW, 255);}motorbit.motorRun(M3, CW, 0);delay(1000);motorbit.motorRun(M3, CCW, 200);delay(500);motorbit.motorRun(M3, CCW, 0);}
网址:智能决策与多模态交互的植物养护系统 https://www.yuejiaxmz.com/news/view/1216268
相关内容
智能家居植物养护系统.pptx决策支持系统的人工智能与人机交互
智能厨房生态系统中跨设备交互
家庭智能植物养护系统的制作方法
智能植物养护系统的商业运营 模式研究分析与前景展望
智能家居配件中的多模态交互
模型辅助决策在智能决策支持系统中的应用
智能决策支持系统
智能决策支持系统方案
智能决策支持系统(IDSS)