เริ่มใช้ Blynk Library ให้ถูกต้อง ลดBug ลดError ได้99% มือใหม่ต้องดู!! Arduino,ESP8266,IOT

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 ก.ย. 2024
  • DIY of Things สวัสดีครับ
    วันนี้เป็นตอนแรกประจำปี 2020 ก็ต้องขอสวัสดีปีใหม่เพื่อนๆทุกคนนะครับ
    สำหรับวันนี้จะมาแนะนำวิธีการเขียนโปรแกรม Arduino กับ Blynk Library ให้ถูกต้องเพื่อลด BUG ลด Error และ ลดปัญหาเมื่อเวลาเขียนโปรแกรมมที่มีการทำงานซับซ้อนมากขึ้น เพราะจากปีที่ผ่านมา ได้ช่วยเหลือเพื่อนๆพี่ๆน้องๆ หลายๆท่านในการแก้ไข code project ที่เขียนตามๆกันมา พบว่ามักจะเขียนไม่ถูกวิธีกัน (ไม่ผิดนะ แต่มันไม่ถูก) ทำให้เวลาเขียนโปรแกรมไปเยอะๆแล้วมักจะพบปัญหาตอนสุดท้าย เช่นกดปุ่มนี้แล้ว ESP8266 หรือ NodeMCU ดับไปเอง หรือ หยุดทำงานไปเฉยๆ โดยหาสาเหตุไม่ได้ วันนี้เราจะมาแก้ปัญหานี้กัน โดยตัวอย่างเป็นโปรเจ็คยอดฮิตของปีก่อน นั้นคือเครื่องรดน้ำต้นไม้สองระบบ Auto และ Manual ไปรับชมกันได้เลยครับ
    ---- CODE ตัวอย่าง ----
    github.com/DIY...
    หากมีคำถามสามารถสอบถามได้ใน comment หรือ ที่ facebook / diyofthings
    สุดท้าย Subscribe & Like & Share เป็น กำลังใจให้กันด้วยครับ ขอบคุณเพื่อนๆทุกคนครับ
    ตอนอื่นๆ
    - Widget Button & Styled Button
    • Arduino ESP8266 Blynk ...
    - Widget Slider & Vertical Slider
    • Arduino ESP8266 Blynk ...
    - Widget JoyStick & Timer
    • Arduino ESP8266 Blynk ...
    - Widget Eventor
    • Arduino ESP8266 Blynk ...
    #DIYofThings
    #Arduino
    #ESP8266
    #NODEMCU
    #BLYNK
    #IOT
    #PROJECT
    #โปรเจค
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 44

  • @Tawan_tt
    @Tawan_tt หลายเดือนก่อน

    พี่ครับในคลิปวีดีโอตัวเกจวัดความชื้น ภาษาอังกฤษชื่อว่าอะไรครับ

    • @DIYofThings
      @DIYofThings  หลายเดือนก่อน

      @@Tawan_tt guage

  • @mr.amalaengpou8137
    @mr.amalaengpou8137 2 ปีที่แล้ว

    pzem.setAddress(ip); ขึ้น error แก้ไขยังไงครับ

  • @killthanakon7608
    @killthanakon7608 2 ปีที่แล้ว

    ถ้าต้องการ​ใช้เซ็นเซอร์​เเบบไม่จุ่มดินละครับ

  • @joomlaacademy
    @joomlaacademy 4 ปีที่แล้ว +1

    คลิปละเอียด ชัดเจน และเข้าใจได้ง่ายมากครับ ขอบคุณมากครับสำหรับคลิปดีๆมีประโยชน์และได้ความรู้เต็มๆ

    • @DIYofThings
      @DIYofThings  4 ปีที่แล้ว

      ยินดีครับ ฝากแชร์ ฝากติดตามผลงานด้วยครับผม

  • @ชาญเดชจันทราช-ศ3ถ
    @ชาญเดชจันทราช-ศ3ถ 3 ปีที่แล้ว

    พี่ครับผมยังไม่เข้าใจครับ เกรดวัดความชื้นอะครับพี่เลือก V1 หรือ AO ครับ

  • @kruphetit3200
    @kruphetit3200 4 ปีที่แล้ว

    ผมผิดพลาดตรงไหนครับ นำค่าขึ้น Blynk ไม่ได้ค่าเป็น 0
    ใน Gauge นั่งพยามยามทำมา 3 วันแล้วครับ
    ทดสอบการทำงานของ Sensor PMS5003ST ทำงานได้ตามปกติครับ แต่พอนำค่ามาใส่ใน Gauge แล้วไม่ขึ้น ขอบคุณครับ
    #define BLYNK_PRINT Serial
    #include
    #include
    #define ON LOW // ตั้งค่า สวิต
    #define OFF HIGH // ตั้งค่า สวิต
    char auth[] = "EdU_oRT9EQtyBgsoyVhTkFCdxsL_QNAy";
    char ssid[] = "wichutit2019";
    char pass[] = "wct33450";
    BLYNK_CONNECTED() {
    Blynk.syncAll();
    }
    #include "BLINKER_PMSX003ST.h"
    #if defined(ESP32)
    HardwareSerial pmsSerial(2);// เชื่อมขา D2
    #else
    #include
    SoftwareSerial pmsSerial(4,5);
    #endif
    BLINKER_PMSX003ST pms;
    BlynkTimer timer;
    void setup()
    {
    Serial.begin(115200);
    Serial.println("
    Start");
    pmsSerial.begin(9600);
    pms.begin(pmsSerial);
    pms.setMode(PASSIVE);
    Blynk.begin(auth,ssid,pass);
    timer.setInterval(1000L,checkpms);
    timer.setInterval(10000L,sendpms);
    }
    void checkpms() //ฟังก์ชั่นอ่านค่า PM อุณหภูมิ และความชื้น
    {
    pms.request();
    if(!pms.read()){
    return;
    }
    Serial.print("PM1.0(CF1)\t");
    Serial.print(pms.getPmCf1(1.0));
    Serial.println("ug/m3");
    Serial.print("PM2.5(CF1)\t");
    Serial.print(pms.getPmCf1(2.5));
    Serial.println("ug/m3");
    Serial.print("PM10(CF1)\t");
    Serial.print(pms.getPmCf1(10));
    Serial.println("ug/m3");
    Serial.print("PM1.0(ATO)\t");
    Serial.print(pms.getPmAto(1.0));
    Serial.println("ug/m3");
    Serial.print("PM2.5(ATO)\t");
    Serial.print(pms.getPmAto(2.5));
    Serial.println("ug/m3");
    Serial.print("PM10(ATO)\t");
    Serial.print(pms.getPmAto(10));
    Serial.println("ug/m3");
    Serial.print(" PCS0.3\t");
    Serial.print(pms.getPcs(0.3));
    Serial.println("pcs/0.1L");
    Serial.print(" PCS0.5\t");
    Serial.print(pms.getPcs(0.5));
    Serial.println("pcs/0.1L");
    Serial.print(" PCS1.0\t");
    Serial.print(pms.getPcs(1));
    Serial.println("pcs/0.1L");
    Serial.print(" PCS2.5\t");
    Serial.print(pms.getPcs(2.5));
    Serial.println("pcs/0.1L");
    Serial.print(" PCS5.0\t");
    Serial.print(pms.getPcs(5));
    Serial.println("pcs/0.1L");
    Serial.print(" PCS10\t");
    Serial.print(pms.getPcs(10));
    Serial.println("pcs/0.1L");
    Serial.print("Formalde\t");
    Serial.print(pms.getForm());
    Serial.println("ug/m3");
    Serial.print("Temperat\t");
    Serial.print(pms.getTemp());
    Serial.println("'C");
    Serial.print("Humidity\t");
    Serial.print(pms.getHumi());
    Serial.println("%");
    Serial.println();
    delay(1000);
    }
    void sendpms() // ฟังห์ชั่นส่ง ไปยัง virtual pin
    {
    /*Serial.println(pms.getPcs(2.5));
    float pms.getPmCf1(2.5) = 0;
    float pms.getPmAto(2.5) = 0;
    float pms.getTemp() = 0;
    float pms.getHumi() = 0;*/
    Blynk.virtualWrite(1,pms.getPmCf1(2.5)); // virtual pin
    Blynk.virtualWrite(2,pms.getPmAto(2.5)); // virtual pin
    //Blynk.virtualWrite(3,getTemp()); // virtual pin
    //Blynk.virtualWrite(4,pms.getHumi()); // virtual pin
    }
    void loop()
    {
    Blynk.run();
    timer.run();
    }

  • @jakkapopchansaad2708
    @jakkapopchansaad2708 4 ปีที่แล้ว

    ผมนำไปใช้ดีมากเลยครับ เป็นประโยชน์มาก
    แต่อยากจะต่อยอดโดยให้ค่าความชื้นอยู่ระหว่าง ค่าต่ำกับค่ามากที่เรา set ครับ เมื่อถึงค่าสูงให้ปั๊มทำงาน เมื่อทำงานแล้วจนถึงค่าต่ำจึงหยุดทำงาน ผมใช้ or (//) ไม่ได้ครับ ช่วยแนะนำครับ

  • @Tepkan555
    @Tepkan555 4 ปีที่แล้ว +1

    คำสั่ง blynk timer จะทำงานก็ต่อเมื่อ mcu เชื่อมต่ออินเทอร์เน็ตใช่ไหมครับ

    • @DIYofThings
      @DIYofThings  4 ปีที่แล้ว +1

      ใช่ครับ

    • @Tepkan555
      @Tepkan555 4 ปีที่แล้ว

      @@DIYofThings ขอบคุณครับ

  • @pair6362
    @pair6362 4 ปีที่แล้ว

    ตอนนี้หนูกำลังทำ โปรเจคหลี่ ไฟผ่านแอปBlynk อยู่อะค่ะโดยใช้บอร์ด ESP8266 อยู่หนูอยาก ทราบว่าเราจะทำให้มันหลี่ไฟผ่านแอปยังไง หรือว่าต่องใส่โค้ดมันเข้าไป ช่วยแนะนำหน่อยได้ไหมคะ เคลียดมากเลย

  • @อภินันท์กิจแสวง-ว9ท

    ESP32 สามารถใช้วิธีเดียวกันได้ไหมครับ

  • @Kittisak_Pomarsa
    @Kittisak_Pomarsa 3 ปีที่แล้ว +1

    ต่างจากmillis() ไหม๊ครับพี่ ฟังพี่อธิบาย เราสามารถใช้millis() เป็นtimer แล้วเขียน if check condition อีกทีครับ

    • @DIYofThings
      @DIYofThings  3 ปีที่แล้ว +1

      เขียนได้ แต่ควรจบสั่นๆครับ ถ้าให้คำนวนมากๆมันจะหน่วง มีผลทำให้ blynk ร่วนครับ

    • @Kittisak_Pomarsa
      @Kittisak_Pomarsa 3 ปีที่แล้ว +1

      @@DIYofThings อ้อครับ​ งั้นใช่​Library​ blynk​ timer.เข้ามาช่วยชัวร์กว่าใช่ไหมครับพี่

    • @DIYofThings
      @DIYofThings  3 ปีที่แล้ว

      @@Kittisak_Pomarsa ใช่ครับ แต่อย่าลืมเขียนให้มันทำงานสั่นๆด้วยนะครับ ^^

    • @Kittisak_Pomarsa
      @Kittisak_Pomarsa 3 ปีที่แล้ว

      @@DIYofThings ขอบคุณ​ครับ​ผม​

  • @BanSuanOmsin
    @BanSuanOmsin 4 ปีที่แล้ว

    สุดยอดมากครับ เเต่ถ้าผมต้องการเอา sensor ความชื้นไปไว้ที่ปลายสวน ประมาน 20 กว่าเมตรผมควรทำไงครับพี่ ควรลากสายsensorไป หรือว่า มีวิธีส่งค่ากลับมา esp8266 อย่างไรได้บ้างครับพี่ ขอไลน์หน่อยได้ไหมครับ

    • @DIYofThings
      @DIYofThings  4 ปีที่แล้ว +1

      ส่งกลับมาทาง rf หรือ wifi ก็ได้ครับ
      ติดต่อพี่ได้ที่ เฟสบุค diyofthings ครับ

  • @027ณัฐกิตติ์สุวรรณแดง

    สอบถามหน่อยครับพอดีว่าผมจะเชื่อมต่อNodeMCU esp8266 กับแอปBlynk ลงไลบรารี่หมดแล้ว แต่พอกดเบิร์นแล้วมันErrorแบบนี้หมายความว่าไงครับแล้วผมต้องแก้ยังไง (มือใหม่) exec: "C:\\Users\\Soravit\\Documents\\ArduinoData\\packages\\esp8266\\tools\\python3\\3.7.2-post1/python3": file does not exist
    Error compiling for board NodeMCU 1.0 (ESP-12E Module).

    • @DIYofThings
      @DIYofThings  4 ปีที่แล้ว

      ติดตั้ง esp8266 library ยังครับ

  • @santipappaprakhon6565
    @santipappaprakhon6565 4 ปีที่แล้ว

    สอบถามหน่อยครับผม Verify program ใน Arduino IDE แล้วขึ้น Error
    แบบนี้ครับ แก้ไขยังไงครับขอบคุณครับ
    ESP8266_Shield:36:10: fatal error: ESP8266_Lib.h: No such file or directory

  • @NotJustCamping
    @NotJustCamping 3 ปีที่แล้ว

    ผมทำตามพี่แล้วก็ยังเป็นอยู่ครับ. ผมดึงค่าจากเซ็นเซอร์ มาได้แค่ 2 ตัวเอง. แต่ผมต้องการดึงมาทั้งหมด 4 ตัว พอดึงทั้ง 4 ตัว Loop ค้างไม่ทำงานเลยครับ

    • @DIYofThings
      @DIYofThings  3 ปีที่แล้ว

      ^^ ได้เรียบร้อยนะครับ

  • @theantattor6003
    @theantattor6003 4 ปีที่แล้ว

    มันคล้ายกับการทำmulti task ที่ต้องตั้ง currenttime กับ previous time ใช่ไหมครับ

    • @DIYofThings
      @DIYofThings  4 ปีที่แล้ว +1

      ใช่เลยครับ แบบเดียวกันเลย

  • @ธิติยาสันดี-ค4ย
    @ธิติยาสันดี-ค4ย 3 ปีที่แล้ว

    สุดยอดครับพี่ รวยๆถูกหวย รวยเบอร์ ถ้ายังไม่จบด็อกเตอร์ก็ขอให้จบไวๆ สอนที่ไหนครับอยากเรียน

  • @rittichaisrichuproung1494
    @rittichaisrichuproung1494 4 ปีที่แล้ว

    ดีมากเลยครับ,ผมสอบถามเพิ่มเติมหน่อยครับ ถ้าเราใช้ Node mcu ตัวเดียวแต่ สั่งงานผ่าน blynk โดยใช้สอง user จะได้ไหมครับผม

    • @DIYofThings
      @DIYofThings  4 ปีที่แล้ว

      ทำได้ครับ แอพ blynk ให้เราแชร์ interface ให้ผู้อื่นได้ครับ

  • @SuperGhust
    @SuperGhust 2 ปีที่แล้ว

    ผมทำตัวตั้งเว่ลา ปิด/เปิด แอร์ 8 โมงเช้าปิด 6 โมงเย็นเปิด เราสามารถใช้ Timer ใน Blynk นี้ได้เลยไหมครับ แต่ประเด็นคือ ตัว esp32 ต้อง รีเซ็ตบอร์ดทุก ๆ ครึ่ง ชม. อย่างนี้ ค่าเวลาที่ได้ หลังจากทำไปแล้ว มันจะกลับมาเป็น Default เหมือนเดิมไหมครับ

    • @DIYofThings
      @DIYofThings  2 ปีที่แล้ว +1

      ดึงค่าเวลามาจาก blynk server ตอนเริ่มโปรแกรมครับ

    • @SuperGhust
      @SuperGhust 2 ปีที่แล้ว

      @@DIYofThings สมมติ 10 โมง สั่งให้จ่าย "1" พอมีการรีเซ็ตบอร์ด มันจะกลับไปจ่าย "0" ไหมครับ อีกอย่าง เวลามันก็เลย 10 โมงไปแล้ว

  • @sutat11
    @sutat11 4 ปีที่แล้ว

    เป็นคลิปที่ดีครับ อธิบายละเอียดมากครับ

  • @3736june
    @3736june 3 ปีที่แล้ว

    ผมว่าคุณจะต้องมีคนติดตามเยอะแน่ๆครับ

    • @DIYofThings
      @DIYofThings  3 ปีที่แล้ว

      ขอบคุณมากๆครับ ส่วนใหญ่มีแต่คนดูไม่ติดตามครับ 555 ฝากช่องน้อยๆของผมไว้ด้วยนะครับ ขอบคุณครับ

  • @sumdahaha
    @sumdahaha 4 ปีที่แล้ว

    ขอบคูณมากเลยครับ อธิบาย ละเอียด ดีมากครับ

  • @studio-pv2wn
    @studio-pv2wn 3 ปีที่แล้ว

    ขอบคุณมากๆครับ

  • @kantachaipandam4161
    @kantachaipandam4161 4 ปีที่แล้ว

    ถามหน่อยครับ

    • @DIYofThings
      @DIYofThings  4 ปีที่แล้ว

      ถามมาครับ