37创客科创中心

 找回密码
 立即注册
查看: 1361|回复: 3

文田班

  [复制链接]

194

主题

324

帖子

2399

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2399
发表于 2024-4-6 11:47:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
分享名称:文田班
分享链接:http://p.37ck.cn/#s/996eqfig
访问密码:

回复

使用道具 举报

45

主题

84

帖子

905

积分

版主

Rank: 7Rank: 7Rank: 7

积分
905
发表于 2024-4-8 19:49:47 | 显示全部楼层
本帖最后由 37ck 于 2024-4-8 19:52 编辑





37创客:安全锋速(接送)
编号ID        编号        名字        卡号        学生        老师        家长        备注        Actions
1        1        曾念欣        e0a5485f        空        913班放学        空        空         
2        2        全梓豪        a0dc465f        全梓豪前往接送车位        2        2        2         
3        3        欧阳尚宏        6da132f9        空        913班放学        空        空         
4        4        欧阳俊灏        1c8dba1        4        4        4        4         
5        5        黄昊轩        f1d43ea1        空        空        空        空         
6        6        李欣怡        b11fdca1        6        6        6        6         
7        7        黄梓豪        2df577f9        黄梓豪前往接送车位        7        7        7         
8        8        李晓塬        wt202408        空        空        空        空         
9        9        江碧仪        30d485f        9        9        9        9         
10        10        麦程灏        wt202413        空        空        空        空         

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

45

主题

84

帖子

905

积分

版主

Rank: 7Rank: 7Rank: 7

积分
905
发表于 2024-4-8 19:51:45 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

194

主题

324

帖子

2399

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2399
 楼主| 发表于 2024-4-10 21:44:40 | 显示全部楼层
  1. /*!
  2. * MindPlus
  3. * mpython
  4. *
  5. */
  6. #include <MPython.h>
  7. #include <DFRobot_Iot.h>
  8. #include <DFRobot_Task.h>
  9. #include <Maqueen_Motor.h>
  10. #include <DFRobot_NeoPixel.h>
  11. #include <DFRobot_SpeechSynthesis_M.h>

  12. // 动态变量
  13. volatile float mind_n_ShuLiang, mind_n_GuangXianZhi, mind_n_ShengYinZhi;
  14. // 函数声明
  15. void DF_Deng(float mind_n_NShuLiang, String mind_s_TKaiGuan);
  16. void DF_B_MaiKun(String mind_s_TZhiLing, float mind_n_NSuDu, float mind_n_NMiao);
  17. void DF_MQTT(String mind_s_Twifi, String mind_s_TMiMa);
  18. void DF_YuYin();
  19. void obloqMqttEventT8mvdn(String& message);
  20. void onButtonAPressed();
  21. void onButtonBPressed();
  22. void DF_KaiDeng_ShuLiang(float mind_n_NShuLiang, float mind_n_NShiJian);
  23. newTask(loop1)
  24. // 静态常量
  25. const String topics[5] = {"37ck/2024","","","",""};
  26. const MsgHandleCb msgHandles[5] = {obloqMqttEventT8mvdn,NULL,NULL,NULL,NULL};
  27. // 创建对象
  28. DFRobot_NeoPixel            neoPixel_P1;
  29. DFRobot_NeoPixel            neoPixel_15;
  30. Maqueen_Motor               motor_mq;
  31. DFRobot_Iot                 myIot;
  32. DFRobot_SpeechSynthesis_I2C sstts;
  33. DFRobot_NeoPixel            neoPixel_P16;


  34. // 主程序开始
  35. void setup() {
  36.         mPython.begin();
  37.         dfrobotRandomSeed();
  38.         myIot.setMqttCallback(msgHandles);
  39.         neoPixel_15.begin(P15, 4, 255);
  40.         neoPixel_P16.begin(P16, 5, 255);
  41.         buttonA.setPressedCallback(onButtonAPressed);
  42.         buttonB.setPressedCallback(onButtonBPressed);
  43.         display.setCursorLine(1);
  44.         display.printLine("LED灯siotv1.0");
  45.         mind_n_ShuLiang = 15;
  46.         DF_Deng(mind_n_ShuLiang, "关灯");
  47.         DF_MQTT("37ck", "20200808");
  48. }
  49. void loop() {

  50. }

  51. // 子线程1程序开始
  52. void loop1::setup() {
  53.         DF_KaiDeng_ShuLiang(mind_n_ShuLiang, 0.3);
  54. }
  55. void loop1::loop() {

  56. }

  57. // 自定义函数
  58. void DF_Deng(float mind_n_NShuLiang, String mind_s_TKaiGuan) {
  59.         neoPixel_P1.begin(P1, mind_n_NShuLiang);
  60.         neoPixel_P1.setBrightness(255);
  61.         if (((String(mind_s_TKaiGuan).indexOf(String("开灯")) != -1))) {
  62.                 taskStart(loop1);
  63.         }
  64.         else {
  65.                 neoPixel_P1.clear();
  66.         }
  67. }
  68. void DF_B_MaiKun(String mind_s_TZhiLing, float mind_n_NSuDu, float mind_n_NMiao) {
  69.         neoPixel_15.setRangeColor(-1, -1, 0x00FF00);
  70.         if (((String(mind_s_TZhiLing).indexOf(String("前进")) != -1))) {
  71.                 motor_mq.motorRun(motor_mq.LEFT,motor_mq.CW,mind_n_NSuDu);
  72.                 motor_mq.motorRun(motor_mq.RIGHT,motor_mq.CW,mind_n_NSuDu);
  73.         }
  74.         else if (((String(mind_s_TZhiLing).indexOf(String("后退")) != -1))) {
  75.                 motor_mq.motorRun(motor_mq.LEFT,motor_mq.CCW,mind_n_NSuDu);
  76.                 motor_mq.motorRun(motor_mq.RIGHT,motor_mq.CCW,mind_n_NSuDu);
  77.         }
  78.         else if (((String(mind_s_TZhiLing).indexOf(String("左转")) != -1))) {
  79.                 motor_mq.motorRun(motor_mq.LEFT,motor_mq.CW,0);
  80.                 motor_mq.motorRun(motor_mq.RIGHT,motor_mq.CW,mind_n_NSuDu);
  81.         }
  82.         else if (((String(mind_s_TZhiLing).indexOf(String("右转")) != -1))) {
  83.                 motor_mq.motorRun(motor_mq.LEFT,motor_mq.CW,mind_n_NSuDu);
  84.                 motor_mq.motorRun(motor_mq.RIGHT,motor_mq.CW,0);
  85.         }
  86.         else if (((String(mind_s_TZhiLing).indexOf(String("停止")) != -1))) {
  87.                 motor_mq.motorStop(motor_mq.LEFT);
  88.                 motor_mq.motorStop(motor_mq.RIGHT);
  89.         }
  90.         else if (((String(mind_s_TZhiLing).indexOf(String("开灯")) != -1))) {
  91.                 rgb.write(-1, 0xFFFFCC);
  92.         }
  93.         else if (((String(mind_s_TZhiLing).indexOf(String("关灯")) != -1))) {
  94.                 rgb.write(-1, 0x000000);
  95.         }
  96.         else if (((String(mind_s_TZhiLing).indexOf(String("底灯开")) != -1))) {
  97.                 neoPixel_15.setRangeColor(-1, -1, 0x8A2BE2);
  98.         }
  99.         else if (((String(mind_s_TZhiLing).indexOf(String("底灯关")) != -1))) {
  100.                 neoPixel_15.setRangeColor(-1, -1, 0x000000);
  101.         }
  102.         else if (((String(mind_s_TZhiLing).indexOf(String("绿灯")) != -1))) {
  103.                 rgb.write(-1, 0x009900);
  104.         }
  105.         else if (((String(mind_s_TZhiLing).indexOf(String("红灯")) != -1))) {
  106.                 rgb.write(-1, 0xCC0000);
  107.         }
  108.         else if (((String(mind_s_TZhiLing).indexOf(String("黄灯")) != -1))) {
  109.                 rgb.write(-1, 0xFFFF00);
  110.         }
  111.         else {
  112.                 motor_mq.motorRun(motor_mq.LEFT,motor_mq.CW,0);
  113.                 motor_mq.motorRun(motor_mq.RIGHT,motor_mq.CW,0);
  114.                 rgb.write(-1, 0x000000);
  115.                 neoPixel_15.setRangeColor(-1, -1, 0x000000);
  116.         }
  117.         delay(mind_n_NMiao * 1000);
  118. }
  119. void DF_MQTT(String mind_s_Twifi, String mind_s_TMiMa) {
  120.         display.setCursorLine(2);
  121.         display.printLine("WIFI......");
  122.         myIot.wifiConnect(mind_s_Twifi, mind_s_TMiMa);
  123.         while (!myIot.wifiStatus()) {yield();}
  124.         display.setCursorLine(2);
  125.         display.printLine(myIot.getWiFiLocalIP());
  126.         myIot.init("iot.37ck.cn","37ck","6112357418379866","20200808", topics, 1884);
  127.         display.setCursorLine(2);
  128.         display.printLine("MQTT........");
  129.         myIot.connect();
  130.         while (!myIot.connected()) {yield();}
  131.         display.setCursorLine(2);
  132.         display.printLine("已连接物联网服务");
  133. }
  134. void DF_YuYin() {
  135.         sstts.begin(sstts.eV1);
  136.         sstts.setVolume(8);
  137.         sstts.setSpeed(5);
  138.         sstts.setSoundType(sstts.eMale1);
  139.         sstts.setTone(5);
  140.         DF_Deng(6, "开灯");
  141.         if (((digitalRead(P1))==1)) {
  142.                 sstts.speak("开的");
  143.                 neoPixel_P16.setRangeColor(0, 6, 0x009900);
  144.         }
  145.         else {
  146.                 sstts.speak("关灯");
  147.                 neoPixel_P16.setRangeColor(0, (random(1, 6+1)), (random(0x000000, 0xFFFFFF+1)));
  148.         }
  149.         sstts.speak("37创客");
  150.         neoPixel_P16.setRangeColor(0, (random(0, 6+1)), (random(0xFF0000, 0xFFFFFF+1)));
  151. }
  152. void DF_KaiDeng_ShuLiang(float mind_n_NShuLiang, float mind_n_NShiJian) {
  153.         while (1) {
  154.                 mind_n_GuangXianZhi = (light.read());
  155.                 mind_n_ShengYinZhi = (sound.read());
  156.                 display.setCursorLine(3);
  157.                 display.printLine((String((String("光:") + String((String(mind_n_GuangXianZhi).toInt())))) + String((String("--声:") + String((String(mind_n_ShengYinZhi).toInt()))))));
  158.                 neoPixel_P1.setBrightness(mind_n_GuangXianZhi);
  159.                 neoPixel_P1.setRangeColor(0, (random(0, mind_n_NShuLiang+1)), (random(0x000000, 0xFFFFFF+1)));
  160.                 rgb.write(-1, (random(0x000000, 0xFFFFFF+1)));
  161.                 delay(mind_n_NShiJian * 1000);
  162.                 neoPixel_P1.setRangeColor(0, (random(0, mind_n_NShuLiang+1)), (random(0x000000, 0xFFFFFF+1)));
  163.                 rgb.write(-1, (random(0x000000, 0xFFFFFF+1)));
  164.                 delay(mind_n_NShiJian * 1000);
  165.                 yield();
  166.         }
  167. }

  168. // 事件回调函数
  169. void obloqMqttEventT8mvdn(String& message) {
  170.         display.setCursorLine(4);
  171.         display.printLine(message);
  172.         if (((String(message).indexOf(String("开灯")) != -1))) {
  173.                 taskStart(loop1);
  174.         }
  175.         else {
  176.                 neoPixel_P1.clear();
  177.                 taskFree(loop1);
  178.         }
  179. }
  180. void onButtonAPressed() {
  181.         digitalWrite(P8, HIGH);
  182.         display.setCursorLine(4);
  183.         display.printLine("开灯");
  184.         myIot.publish(topic_0, "开灯");
  185. }
  186. void onButtonBPressed() {
  187.         digitalWrite(P8, LOW);
  188.         display.setCursorLine(4);
  189.         display.printLine("关灯");
  190.         myIot.publish(topic_0, "关灯");
  191.         taskFree(loop1);
  192. }
复制代码
回复

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|37创客科创中心

GMT+8, 2025-12-10 06:00 , Processed in 0.170402 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表