查看: 351|回复: 1

[分享] 自制呼吸时钟(基于Blinker ESP-12F WS2812 DHT11)

[复制链接]

该用户从未签到

发表于 2020-7-18 15:22 | 显示全部楼层 |阅读模式
本帖最后由 poiuy105 于 2020-7-18 18:51 编辑

第一次发分享贴,语言表达欠妥之处请见谅
1.先发一个实物展示视频&图片:
https://v.youku.com/v_show/id_XNDc1NjkzMzMyMA==.html

请忽视不及格的手工

请忽视不及格的手工


2.使用硬件清单:
ESP12F开发板,
DHT11模块,
WS2812灯条2米60灯珠,
USB电源,
连接线若干。

3.感谢灵感资料:
Blinker示例 Hello_WiFi
Blinker示例 ws2812_WiFi
Blinker示例 DHT_WiFi
Blinker示例 Time_WiFi
Blinker示例 ws2812_WiFihttps://www.arduino.cn/forum.php?mod=viewthread&tid=98403&highlight=%E6%97%B6%E9%92%9F
https://www.arduino.cn/thread-75674-1-1.html

4.代码参考:
  1. #define BLINKER_WIFI
  2. #define BLINKER_MIOT_SENSOR

  3. #include <Blinker.h>
  4. #include <DHT.h>

  5. char auth[] = "Your Device Secret Key";
  6. char ssid[] = "Your WiFi network SSID or name";
  7. char pswd[] = "Your WiFi network WPA password or WEP key";

  8. // Download Adafruit_NeoPixel library here:
  9. // https://github.com/adafruit/Adafruit_NeoPixel
  10. #include <Adafruit_NeoPixel.h>
  11. #ifdef __AVR__
  12.   #include <avr/power.h>
  13. #endif

  14. #define PIN4           4
  15. #define DENG           16
  16. #define NUMPIXELS      78//13
  17. #define NUMPIXELS_unit 13

  18. int r_value = 255;
  19. int g_value = 255;
  20. int b_value = 255;
  21. int bright_value = 255;

  22. Adafruit_NeoPixel pixels1 = Adafruit_NeoPixel(NUMPIXELS, PIN4, NEO_GRB + NEO_KHZ800);
  23. BlinkerRGB RGB1("RGB_1");

  24. void rgb1_callback(uint8_t r_gvalue, uint8_t g_gvalue, uint8_t b_gvalue, uint8_t bright_gvalue)
  25. {   
  26.     r_value = r_gvalue;
  27.     g_value = g_gvalue;
  28.     b_value = b_gvalue;
  29.     bright_value = bright_gvalue;
  30.     BLINKER_LOG("R value: ", r_value);
  31.     BLINKER_LOG("G value: ", g_value);
  32.     BLINKER_LOG("B value: ", b_value);
  33.     BLINKER_LOG("Rrightness value: ", bright_value);
  34. }

  35. boolean kuai0[13] = {true, true, true, true, true, true, false, true, true, true, true, true, true};
  36. boolean kuai1[13] = {true, true, true, true, true, false, false, false, false, false, false, false, false};
  37. boolean kuai2[13] = {true, false, true, true, true, true, true, true, true, true, true, false, true};
  38. boolean kuai3[13] = {true, true, true, true, true, true, true, true, true, false, true, false, true};
  39. boolean kuai4[13] = {true, true, true, true, true, false, true, false, false, false, true, true, true};
  40. boolean kuai5[13] = {true, true, true, false, true, true, true, true, true, false, true, true, true};
  41. boolean kuai6[13] = {true, true, true, false, true, true, true, true, true, true, true, true, true};
  42. boolean kuai7[13] = {true, true, true, true, true, true, false, false, false, false, false, false, true};
  43. boolean kuai8[13] = {true, true, true, true, true, true, true, true, true, true, true, true, true};
  44. boolean kuai9[13] = {true, true, true, true, true, true, true, true, true, false, true, true, true};

  45. boolean man0[13] = {true, true, true, true, true, true, false, true, true, true, true, true, true};
  46. boolean man1[13] = {true, true, true, true, true, false, false, false, false, false, false, false, false};
  47. boolean man2[13] = {true, true, true, false, true, true, true, true, true, false, true, true, true};
  48. boolean man3[13] = {true, true, true, true, true, true, true, true, true, false, true, false, true};
  49. boolean man4[13] = {true, true, true, true, true, false, true, false, true, true, true, false, false};
  50. boolean man5[13] = {true, false, true, true, true, true, true, true, true, true, true, false, true};
  51. boolean man6[13] = {true, false, true, true, true, true, true, true, true, true, true, true, true};
  52. boolean man7[13] = {true, true, true, true, true, false, false, true, true, false, false, false, false};
  53. boolean man8[13] = {true, true, true, true, true, true, true, true, true, true, true, true, true};
  54. boolean man9[13] = {true, true, true, true, true, true, true, true, true, true, true, false, true};


  55. // 新建组件对象
  56. BlinkerButton Button1("btn-1");
  57. BlinkerButton Button2("btn-2");
  58. BlinkerNumber Number1("num-1");   //计数
  59. BlinkerNumber Number2("num-beat");   //beat计数
  60. BlinkerNumber HUMI("humi");    //定义湿度数据键名
  61. BlinkerNumber TEMP("temp");    //定义温度数据键名
  62. BlinkerText Tex_Temp("text_t");  //定义文本Key

  63. String Num_in_two(int num)
  64. {
  65.     if (num < 10) {return "0" + String(num);} else {return String(num);}
  66. }
  67. String Time_in_six(){
  68.     String C_hour = Num_in_two(Blinker.hour()) + ":";
  69.     String C_minute = Num_in_two(Blinker.minute()) + ":";
  70.     String C_second = Num_in_two(Blinker.second());
  71.     return C_hour + C_minute +C_second;
  72. }

  73. #define JDQ 5      //定义模块连接管脚
  74. #define DENG2 14      //定义模块连接管脚

  75. // 按下按键即会执行该函数
  76. void button1_callback(const String & state)
  77. {
  78.     BLINKER_LOG("get button state: ", state);
  79.     digitalWrite(JDQ, !digitalRead(JDQ));
  80. }
  81. void button2_callback(const String & state)
  82. {
  83.     BLINKER_LOG("get button state: ", state);
  84.     digitalWrite(DENG2, !digitalRead(DENG2));
  85. }
  86.   
  87. #define DHTPIN 13      //定义DHT11模块连接管脚io2
  88. #define DHTTYPE DHT11   // 使用DHT 11温度湿度模块  
  89. DHT dht(DHTPIN, DHTTYPE);    //定义dht

  90. // 定义变量
  91. int counter = 0, cnt_beat = 0;
  92. float humi_read = 0, temp_read = 0;
  93. float data_temp = 0;
  94. uint32_t read_time = 0;

  95. void miotQuery(int32_t queryCode)      //小爱同学语音命令反馈
  96. {
  97.     BLINKER_LOG("MIOT Query codes: ", queryCode);
  98.         
  99.     int humi_read_int=humi_read;     //去掉湿度浮点
  100.     BlinkerMIOT.humi(humi_read_int);     //小爱接收湿度
  101.     BlinkerMIOT.temp(temp_read);      //小爱接收温度
  102.     BlinkerMIOT.print();
  103. }

  104. void dataRead(const String & data)  //被动提取数据
  105. {
  106.     BLINKER_LOG("Blinker readString: ", data);  
  107.     counter++;
  108.     if (counter > 10000)
  109.     {
  110.       counter = 0;
  111.     }
  112.     Number1.print(counter);   
  113. }

  114. void heartbeat()
  115. {   
  116.     cnt_beat++;
  117.     Number2.print(cnt_beat);
  118. }

  119. void slider1_callback(int32_t slider1_value)
  120. {   
  121.     int add = 0;
  122.     BLINKER_LOG("get slider1 value: ", slider1_value);
  123.     //pixels1.setBrightness(bright_value);
  124.     switch (slider1_value)
  125.     {   
  126.         case 0:
  127.           for(int i = 0; i < NUMPIXELS_unit; i++){
  128.               if (kuai0[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  129.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  130.           }
  131.         break;
  132.         case 1:
  133.           for(int i = 0; i < NUMPIXELS_unit; i++){
  134.               if (kuai1[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  135.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  136.           }
  137.         break;
  138.         case 2:
  139.           for(int i = 0; i < NUMPIXELS_unit; i++){
  140.               if (kuai2[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  141.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  142.           }
  143.         break;
  144.         case 3:
  145.           for(int i = 0; i < NUMPIXELS_unit; i++){
  146.               if (kuai3[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  147.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  148.           }
  149.         break;
  150.         case 4:
  151.           for(int i = 0; i < NUMPIXELS_unit; i++){
  152.               if (kuai4[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  153.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  154.           }
  155.         break;
  156.         case 5:
  157.           for(int i = 0; i < NUMPIXELS_unit; i++){
  158.               if (kuai5[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  159.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  160.           }
  161.         break;
  162.         case 6:
  163.           for(int i = 0; i < NUMPIXELS_unit; i++){
  164.               if (kuai6[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  165.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  166.           }
  167.         break;
  168.         case 7:
  169.           for(int i = 0; i < NUMPIXELS_unit; i++){
  170.               if (kuai7[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  171.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  172.           }
  173.         break;
  174.         case 8:
  175.           for(int i = 0; i < NUMPIXELS_unit; i++){
  176.               if (kuai8[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  177.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  178.           }
  179.         break;
  180.         case 9:
  181.           for(int i = 0; i < NUMPIXELS_unit; i++){
  182.               if (kuai9[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  183.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  184.           }
  185.         break;
  186.     }
  187.     //pixels1.show();
  188. }

  189. void slider2_callback(int32_t slider2_value)
  190. {
  191.     int add = 13;
  192.     BLINKER_LOG("get slider2 value: ", slider2_value);
  193.     //pixels1.setBrightness(bright_value);
  194.     switch (slider2_value)
  195.     {   
  196.         case 0:
  197.           for(int i = 0; i < NUMPIXELS_unit; i++){
  198.               if (man0[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  199.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  200.           }
  201.         break;
  202.         case 1:
  203.           for(int i = 0; i < NUMPIXELS_unit; i++){
  204.               if (man1[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  205.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  206.           }
  207.         break;
  208.         case 2:
  209.           for(int i = 0; i < NUMPIXELS_unit; i++){
  210.               if (man2[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  211.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  212.           }
  213.         break;
  214.         case 3:
  215.           for(int i = 0; i < NUMPIXELS_unit; i++){
  216.               if (man3[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  217.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  218.           }
  219.         break;
  220.         case 4:
  221.           for(int i = 0; i < NUMPIXELS_unit; i++){
  222.               if (man4[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  223.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  224.           }
  225.         break;
  226.         case 5:
  227.           for(int i = 0; i < NUMPIXELS_unit; i++){
  228.               if (man5[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  229.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  230.           }
  231.         break;
  232.     }
  233.     //pixels1.show();
  234. }

  235. void slider3_callback(int32_t slider3_value)
  236. {
  237.     int add = 26;
  238.     BLINKER_LOG("get slider3 value: ", slider3_value);
  239.     //pixels1.setBrightness(bright_value);
  240.     switch (slider3_value)
  241.     {   
  242.         case 0:
  243.           for(int i = 0; i < NUMPIXELS_unit; i++){
  244.               if (kuai0[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  245.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  246.           }
  247.         break;
  248.         case 1:
  249.           for(int i = 0; i < NUMPIXELS_unit; i++){
  250.               if (kuai1[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  251.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  252.           }
  253.         break;
  254.         case 2:
  255.           for(int i = 0; i < NUMPIXELS_unit; i++){
  256.               if (kuai2[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  257.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  258.           }
  259.         break;
  260.         case 3:
  261.           for(int i = 0; i < NUMPIXELS_unit; i++){
  262.               if (kuai3[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  263.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  264.           }
  265.         break;
  266.         case 4:
  267.           for(int i = 0; i < NUMPIXELS_unit; i++){
  268.               if (kuai4[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  269.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  270.           }
  271.         break;
  272.         case 5:
  273.           for(int i = 0; i < NUMPIXELS_unit; i++){
  274.               if (kuai5[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  275.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  276.           }
  277.         break;
  278.         case 6:
  279.           for(int i = 0; i < NUMPIXELS_unit; i++){
  280.               if (kuai6[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  281.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  282.           }
  283.         break;
  284.         case 7:
  285.           for(int i = 0; i < NUMPIXELS_unit; i++){
  286.               if (kuai7[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  287.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  288.           }
  289.         break;
  290.         case 8:
  291.           for(int i = 0; i < NUMPIXELS_unit; i++){
  292.               if (kuai8[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  293.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  294.           }
  295.         break;
  296.         case 9:
  297.           for(int i = 0; i < NUMPIXELS_unit; i++){
  298.               if (kuai9[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  299.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  300.           }
  301.         break;
  302.     }
  303.     //pixels1.show();
  304. }

  305. void slider4_callback(int32_t slider4_value)
  306. {
  307.     int add = 39;
  308.     BLINKER_LOG("get slider4 value: ", slider4_value);
  309.     //pixels1.setBrightness(bright_value);
  310.     switch (slider4_value)
  311.     {   
  312.         case 0:
  313.           for(int i = 0; i < NUMPIXELS_unit; i++){
  314.               if (man0[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  315.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  316.           }
  317.         break;
  318.         case 1:
  319.           for(int i = 0; i < NUMPIXELS_unit; i++){
  320.               if (man1[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  321.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  322.           }
  323.         break;
  324.         case 2:
  325.           for(int i = 0; i < NUMPIXELS_unit; i++){
  326.               if (man2[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  327.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  328.           }
  329.         break;
  330.         case 3:
  331.           for(int i = 0; i < NUMPIXELS_unit; i++){
  332.               if (man3[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  333.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  334.           }
  335.         break;
  336.         case 4:
  337.           for(int i = 0; i < NUMPIXELS_unit; i++){
  338.               if (man4[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  339.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  340.           }
  341.         break;
  342.         case 5:
  343.           for(int i = 0; i < NUMPIXELS_unit; i++){
  344.               if (man5[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  345.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  346.           }
  347.         break;
  348.     }
  349.     //pixels1.show();
  350. }

  351. void slider5_callback(int32_t slider5_value)
  352. {
  353.     int add = 52;
  354.     BLINKER_LOG("get slider5 value: ", slider5_value);
  355.     //pixels1.setBrightness(bright_value);
  356.     switch (slider5_value)
  357.     {   
  358.         case 0:
  359.           for(int i = 0; i < NUMPIXELS_unit; i++){
  360.               if (kuai0[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  361.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  362.           }
  363.         break;
  364.         case 1:
  365.           for(int i = 0; i < NUMPIXELS_unit; i++){
  366.               if (kuai1[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  367.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  368.           }
  369.         break;
  370.         case 2:
  371.           for(int i = 0; i < NUMPIXELS_unit; i++){
  372.               if (kuai2[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  373.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  374.           }
  375.         break;
  376.         case 3:
  377.           for(int i = 0; i < NUMPIXELS_unit; i++){
  378.               if (kuai3[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  379.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  380.           }
  381.         break;
  382.         case 4:
  383.           for(int i = 0; i < NUMPIXELS_unit; i++){
  384.               if (kuai4[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  385.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  386.           }
  387.         break;
  388.         case 5:
  389.           for(int i = 0; i < NUMPIXELS_unit; i++){
  390.               if (kuai5[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  391.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  392.           }
  393.         break;
  394.         case 6:
  395.           for(int i = 0; i < NUMPIXELS_unit; i++){
  396.               if (kuai6[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  397.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  398.           }
  399.         break;
  400.         case 7:
  401.           for(int i = 0; i < NUMPIXELS_unit; i++){
  402.               if (kuai7[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  403.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  404.           }
  405.         break;
  406.         case 8:
  407.           for(int i = 0; i < NUMPIXELS_unit; i++){
  408.               if (kuai8[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  409.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  410.           }
  411.         break;
  412.         case 9:
  413.           for(int i = 0; i < NUMPIXELS_unit; i++){
  414.               if (kuai9[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  415.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  416.           }
  417.         break;
  418.     }
  419.     //pixels1.show();
  420. }

  421. void slider6_callback(int32_t slider6_value)
  422. {
  423.     int add = 65;
  424.     BLINKER_LOG("get slider4 value: ", slider6_value);
  425.     //pixels1.setBrightness(bright_value);
  426.     switch (slider6_value)
  427.     {   
  428.         case 0:
  429.           for(int i = 0; i < NUMPIXELS_unit; i++){
  430.               if (man0[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  431.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  432.           }
  433.         break;
  434.         case 1:
  435.           for(int i = 0; i < NUMPIXELS_unit; i++){
  436.               if (man1[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  437.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  438.           }
  439.         break;
  440.         case 2:
  441.           for(int i = 0; i < NUMPIXELS_unit; i++){
  442.               if (man2[i] == true){pixels1.setPixelColor(i + add, r_value, g_value, b_value);}
  443.               else {pixels1.setPixelColor(i + add, 0, 0, 0);}
  444.           }
  445.         break;
  446.     }
  447.     //pixels1.show();
  448. }
  449. int bianhua_bright = -5;
  450. int bianhua_r = -5;
  451. int bianhua_g = -5;
  452. int bianhua_b = -5;
  453. void set_bright_value(uint8_t time_hour)
  454. {
  455.       if (time_hour < 23 && time_hour > 6) {
  456.          
  457.           switch (random(0,4)){
  458.               case 0:
  459.                   bright_value = bright_value + bianhua_bright;  //亮度呼吸
  460.                   if (bright_value == 10 || bright_value == 255) {bianhua_bright = -bianhua_bright;}
  461.               break;
  462.               case 1:
  463.                   r_value = r_value + bianhua_r;  //红色呼吸
  464.                   if (r_value == 0 || r_value == 255) {bianhua_r = -bianhua_r;}
  465.               break;
  466.               case 2:
  467.                   g_value = g_value + bianhua_g;  //绿色呼吸
  468.                   if (g_value == 0 || g_value == 255) {bianhua_g = -bianhua_g;}
  469.               break;
  470.               case 3:
  471.                   b_value = b_value + bianhua_b;  //蓝色呼吸
  472.                   if (b_value == 0 || b_value == 255) {bianhua_b = -bianhua_b;}
  473.               break;
  474.           }
  475.           if (Blinker.second() % 2 == 1) {
  476.               digitalWrite(DENG, LOW);
  477.               digitalWrite(LED_BUILTIN, HIGH);
  478.           }
  479.           else {
  480.               digitalWrite(DENG, HIGH);
  481.               digitalWrite(LED_BUILTIN, LOW);
  482.           }
  483.          
  484.       }
  485.       else {
  486.           bright_value = 10;
  487.           digitalWrite(DENG, HIGH);         
  488.           digitalWrite(LED_BUILTIN, HIGH);
  489.       }
  490. }

  491. void setup()
  492. {
  493.     Serial.begin(115200);
  494.     BLINKER_DEBUG.stream(Serial);
  495.     BLINKER_DEBUG.debugAll();

  496.     Blinker.begin(auth, ssid, pswd);   
  497.     Blinker.attachHeartbeat(heartbeat);   
  498.     Blinker.attachData(dataRead);
  499.     Blinker.setTimezone(8.0);
  500.    
  501.     dht.begin();
  502.     BlinkerMIOT.attachQuery(miotQuery);

  503.     // 初始化有LED的IO
  504.     pinMode(JDQ, OUTPUT);
  505.     digitalWrite(JDQ, LOW);
  506.     pinMode(DENG2, OUTPUT);
  507.     digitalWrite(DENG2, LOW);

  508.     // 初始化按键回调函数
  509.     Button1.attach(button1_callback);
  510.     Button2.attach(button2_callback);

  511.     pinMode(DENG, OUTPUT);
  512.     digitalWrite(DENG, LOW);
  513.    
  514.     pinMode(LED_BUILTIN, OUTPUT);
  515.     digitalWrite(LED_BUILTIN, HIGH);

  516.     pixels1.begin();

  517.     RGB1.attach(rgb1_callback);
  518. }

  519. void loop()
  520. {
  521.     Blinker.run();
  522.     if (read_time == 0 || (millis() - read_time) >= 30000)
  523.     {
  524.         read_time = millis();

  525.         float h = dht.readHumidity();
  526.         float t = dht.readTemperature();
  527.         if (isnan(h) || isnan(t))
  528.         {
  529.             BLINKER_LOG("Failed to read from DHT sensor!");
  530.         }
  531.         else
  532.         {
  533.             BLINKER_LOG("Humidity: ", h, " %");
  534.             BLINKER_LOG("Temperature: ", t, " *C");
  535.             humi_read = h;
  536.             temp_read = t;
  537.             HUMI.print(humi_read);        //给blinkerapp回传湿度数据
  538.             TEMP.print(temp_read);        //给blinkerapp回传温度数据                    
  539.             //Tex_Temp.print(String(Blinker.hour()) + "-" + String(Blinker.minute()) + "-" + String(Blinker.second()));
  540.             Tex_Temp.print(Time_in_six());
  541.             Blinker.dataStorage("data_temp", temp_read);   //上传到云端
  542.         }        
  543.     }
  544.     if (Blinker.second() == -1) {
  545.         pixels1.clear();
  546.     }
  547.     else {
  548.         slider5_callback(Blinker.second() % 10);
  549.         slider6_callback((Blinker.second() - (Blinker.second() % 10)) / 10);
  550.         slider1_callback(Blinker.minute() % 10);
  551.         slider2_callback((Blinker.minute() - (Blinker.minute() % 10)) / 10);
  552.         slider3_callback(Blinker.hour() % 10);
  553.         slider4_callback((Blinker.hour() - (Blinker.hour() % 10)) / 10);
  554.         if (Blinker.second() == 0 && Blinker.minute() == 30 && Blinker.hour() == 6) {ESP.restart();}
  555.         set_bright_value(Blinker.hour());
  556.         pixels1.setBrightness(bright_value);
  557.         pixels1.show();
  558.     }
  559. }
复制代码






该用户从未签到

发表于 2020-7-18 16:55 | 显示全部楼层
学习一下先
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门推荐

5分钟带你快速了解新一代开发板:M5STACK
5分钟带你快速了解新一代
一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
创客火首发无人机编队套装,开启不一样的人工智能教育
创客火首发无人机编队套装
2017年国务院发布《新一代人工智能发展规划》,提出要广泛开展人工智能科普活动,在中
未见过的TFT屏,是什么驱动芯片?
未见过的TFT屏,是什么驱
这两块屏是从POS机里拆的,准备做几个锂电池组电压监测,在网上没找到资料,在这里问
win10系统显示不出端口信息,编译后显示serial port not selected。
win10系统显示不出端口信
求各位哥哥帮忙,小兄弟实在不懂是win10系统的原因,还是需要安装什么驱动程式?具体
更智能的电脑远程开关机-基于继电器
更智能的电脑远程开关机-
我只是刚刚入门的萌新,所以有不足请指出 先展示下 功能:开关机,开关机检测,
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
快速回复 返回顶部 返回列表