ข่าวประชาสัมพันธ์

มาร่วมเป็นกำลังใจให้เว็บด้วยการสมัครสมาชิกวีไอพี ~~ เลือกปีที่ท่านต้องการได้โดยไม่ต้องเรียงปี ~~ ปีละ 350 บาท สมัคร 2 ปีลดเหลือ 600 บาท ~~ มีไลน์กลุ่ม VIP จำนวนหลายร้อยท่าน เอาไว้ปรึกษางานซ่อม ~~ เข้าถึงข้อมูลด้านเทคนิค ข้อมูลเชิงลึกมากมาย.....


ผู้เขียน หัวข้อ: Arduino ESP8266 (NodeMcU)  (อ่าน 2780 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออนไลน์ Auto Man

  • Administrator
  • หัวหน้าศูนย์ซ่อมสร้าง
  • *****
  • เจ้าของกระทู้
  • Joined: ก.ย. 2558
  • กระทู้: 37377
  • สมาชิกลำดับที่ : 1
  • เพศ: ชาย
  • มือผู้ให้ย่อมสูงกว่ามือผู้รับ
    • เว็บชุมชนคนรักช่างยนต์
    • อีเมล์
Arduino ESP8266 (NodeMcU)
« เมื่อ: 21 มิถุนายน 2561, 06:55:39 »
  • ขึ้นบน
  • ลงล่าง
  • « แก้ไขครั้งสุดท้าย: 25 กรกฎาคม 2562, 17:58:35 โดย Auto Man »
    สวัสดีคุณ...ผู้เยี่ยมชม  กด ❤ ถูกใจโพสท์นี้ หรือยัง...
    ต้องการสมัครสมาชิก VIP สมัครได้ที่นี่...   หรือทาง Line ID: k.sonchai

    ออนไลน์ Auto Man

    • Administrator
    • หัวหน้าศูนย์ซ่อมสร้าง
    • *****
    • เจ้าของกระทู้
    • Joined: ก.ย. 2558
    • กระทู้: 37377
    • สมาชิกลำดับที่ : 1
    • เพศ: ชาย
    • มือผู้ให้ย่อมสูงกว่ามือผู้รับ
      • เว็บชุมชนคนรักช่างยนต์
      • อีเมล์
    Arduino ESP8266 (NodeMcU)
    « ตอบกลับ #1 เมื่อ: 21 มิถุนายน 2561, 08:52:45 »
  • ขึ้นบน
  • ลงล่าง
  •   เมื่อวานวิทยากร : อาทร คุ้มฉายา
      ได้แนะนำบอร์ด NodeMCU ในเรื่องของการเขียนโปรแกรมเบื้องต้นไปแล้ว

    Pro1
    โค๊ด: [Select]
    void setup() {

    }

    void loop() {

    }

    Pro6
    โค๊ด: [Select]
    byte data1=0;

    void setup()
    {
      delay(100);
     Serial.begine(9600);
    }
    void loop()
    {
     data1=data1+1;
     Serial.print("Value=");
     Serial.println(data1);
     delay(100);
    }

    โค๊ดสั่งให้ Ry1 ออกเอาท์พุท D3
    โค๊ด: [Select]
    #define Ry1 D3
    void setup()
    {
     pinMode(Ry1,OUTPUT);
    }
    void loop()
    {
      digitalWrite(Ry1,0);
      delay(500)
      digitalWrite(Ry1,1);
      delay(500)
    }
    « แก้ไขครั้งสุดท้าย: 21 มิถุนายน 2561, 09:07:31 โดย Auto Man »
    สวัสดีคุณ...ผู้เยี่ยมชม  กด ❤ ถูกใจโพสท์นี้ หรือยัง...
    ต้องการสมัครสมาชิก VIP สมัครได้ที่นี่...   หรือทาง Line ID: k.sonchai

    ออนไลน์ Auto Man

    • Administrator
    • หัวหน้าศูนย์ซ่อมสร้าง
    • *****
    • เจ้าของกระทู้
    • Joined: ก.ย. 2558
    • กระทู้: 37377
    • สมาชิกลำดับที่ : 1
    • เพศ: ชาย
    • มือผู้ให้ย่อมสูงกว่ามือผู้รับ
      • เว็บชุมชนคนรักช่างยนต์
      • อีเมล์
    Arduino ESP8266 (NodeMcU)
    « ตอบกลับ #2 เมื่อ: 21 มิถุนายน 2561, 09:11:31 »
  • ขึ้นบน
  • ลงล่าง
  • Pro7
    โค๊ด: [Select]
    byte light=0;

    void setup()
    {
      delay(100);
     Serial.begine(9600);
    }
    void loop()
    {

     Serial.print("light=");
     Serial.println(light);
     delay(100);
    }
    สวัสดีคุณ...ผู้เยี่ยมชม  กด ❤ ถูกใจโพสท์นี้ หรือยัง...
    ต้องการสมัครสมาชิก VIP สมัครได้ที่นี่...   หรือทาง Line ID: k.sonchai

    Arduino ESP8266 (NodeMcU)
    « ตอบกลับ #2 เมื่อ: 21 มิถุนายน 2561, 09:11:31 »


    ออนไลน์ Auto Man

    • Administrator
    • หัวหน้าศูนย์ซ่อมสร้าง
    • *****
    • เจ้าของกระทู้
    • Joined: ก.ย. 2558
    • กระทู้: 37377
    • สมาชิกลำดับที่ : 1
    • เพศ: ชาย
    • มือผู้ให้ย่อมสูงกว่ามือผู้รับ
      • เว็บชุมชนคนรักช่างยนต์
      • อีเมล์
    Arduino ESP8266 (NodeMcU)
    « ตอบกลับ #3 เมื่อ: 21 มิถุนายน 2561, 10:02:00 »
  • ขึ้นบน
  • ลงล่าง
  • สไลด์หน้า 72
    โค๊ด: [Select]
    #include <Wire.h>
    #include <SPI.h>
    #include <Adafruit_GFX.h>
    #include <Adafruit_SSD1306.h>
    Adafruit_SSD1306 OLED(-1);
    void setup() {
      OLED.begin(SSD1306_SWITCHCAPVCC, 0x3C);
    }
    void loop(){
      OLED.clearDisplay();
      OLED.setTextColor(WHITE);
      OLED.setCursor(8, 0);
      OLED.setTextSize(3);
      OLED.println(" BPCD. ");
      OLED.setCursor(0, 30);
      OLED.setTextSize(2);
      OLED.println("  Vec 4.1");
      OLED.setCursor(0, 50);
      OLED.setTextSize(1);
      OLED.println("http://bpcd.vec.go.th");
      OLED.display(); //
    }

    โค๊ด: [Select]
    #include <Wire.h>
    #include <SPI.h>
    #include <Adafruit_GFX.h>
    #include <Adafruit_SSD1306.h>
    Adafruit_SSD1306 OLED(-1);
    void setup() {
      OLED.begin(SSD1306_SWITCHCAPVCC, 0x3C);
    }
    void loop(){
      OLED.clearDisplay(); //ลบหน้าจอออก
      OLED.setTextColor(WHITE); // เซ็ทเคอร์เซอร์ไปเริ่มต้นที่ไหน
      OLED.setCursor(8, 0);
      OLED.setTextSize(3);
      OLED.println(" BPCD. ");
      OLED.setCursor(0, 30);
      OLED.setTextSize(2);
      OLED.println("  Vec 4.1");
      OLED.setCursor(0, 50);
      OLED.setTextSize(1);
      OLED.println("http://bpcd.vec.go.th");
      OLED.display(); // คำสั่งแสดงผลออกมา
    }
    « แก้ไขครั้งสุดท้าย: 21 มิถุนายน 2561, 10:13:37 โดย Auto Man »
    สวัสดีคุณ...ผู้เยี่ยมชม  กด ❤ ถูกใจโพสท์นี้ หรือยัง...
    ต้องการสมัครสมาชิก VIP สมัครได้ที่นี่...   หรือทาง Line ID: k.sonchai

    ออนไลน์ Auto Man

    • Administrator
    • หัวหน้าศูนย์ซ่อมสร้าง
    • *****
    • เจ้าของกระทู้
    • Joined: ก.ย. 2558
    • กระทู้: 37377
    • สมาชิกลำดับที่ : 1
    • เพศ: ชาย
    • มือผู้ให้ย่อมสูงกว่ามือผู้รับ
      • เว็บชุมชนคนรักช่างยนต์
      • อีเมล์
    Arduino ESP8266 (NodeMcU)
    « ตอบกลับ #4 เมื่อ: 21 มิถุนายน 2561, 10:16:58 »
  • ขึ้นบน
  • ลงล่าง
  • Count
    โค๊ด: [Select]
    #include <Wire.h>
    #include <SPI.h>
    #include <Adafruit_GFX.h>
    #include <Adafruit_SSD1306.h>
    Adafruit_SSD1306 OLED(-1);
    int x=0;
    void setup() {
      OLED.begin(SSD1306_SWITCHCAPVCC, 0x3C); //initialize
    }
    void loop(){
      OLED.clearDisplay();
      OLED.setTextColor(WHITE);
      OLED.setCursor(0, 0);
      OLED.setTextSize(3);
      OLED.println("COUNT");
      OLED.setCursor(0,27);
      OLED.println(x,DEC);
      OLED.display(); //
      delay(300);
      x++;
    }
    สวัสดีคุณ...ผู้เยี่ยมชม  กด ❤ ถูกใจโพสท์นี้ หรือยัง...
    ต้องการสมัครสมาชิก VIP สมัครได้ที่นี่...   หรือทาง Line ID: k.sonchai

    ออนไลน์ Auto Man

    • Administrator
    • หัวหน้าศูนย์ซ่อมสร้าง
    • *****
    • เจ้าของกระทู้
    • Joined: ก.ย. 2558
    • กระทู้: 37377
    • สมาชิกลำดับที่ : 1
    • เพศ: ชาย
    • มือผู้ให้ย่อมสูงกว่ามือผู้รับ
      • เว็บชุมชนคนรักช่างยนต์
      • อีเมล์
    Arduino ESP8266 (NodeMcU)
    « ตอบกลับ #5 เมื่อ: 21 มิถุนายน 2561, 10:39:23 »
  • ขึ้นบน
  • ลงล่าง
  • Sub Program
    โค๊ด: [Select]
    #include <Wire.h>
    #include <SPI.h>
    #include <Adafruit_GFX.h>
    #include <Adafruit_SSD1306.h>
    Adafruit_SSD1306 OLED(-1);
    int x=0;
    void setup() {
      OLED.begin(SSD1306_SWITCHCAPVCC, 0x3C); //initialize
    }
    void loop(){
      OLED.clearDisplay();
      OLED.setTextColor(WHITE);
      OLED.setCursor(0, 0);
      OLED.setTextSize(3);
      OLED.println("COUNT");
      OLED.setCursor(0,27);
      OLED.println(x,DEC);
      OLED.display(); //
      setpoint();
    }
    void setpont()
    {
      delay(300);
      x++;

    }
    }
    สวัสดีคุณ...ผู้เยี่ยมชม  กด ❤ ถูกใจโพสท์นี้ หรือยัง...
    ต้องการสมัครสมาชิก VIP สมัครได้ที่นี่...   หรือทาง Line ID: k.sonchai

    ออนไลน์ Auto Man

    • Administrator
    • หัวหน้าศูนย์ซ่อมสร้าง
    • *****
    • เจ้าของกระทู้
    • Joined: ก.ย. 2558
    • กระทู้: 37377
    • สมาชิกลำดับที่ : 1
    • เพศ: ชาย
    • มือผู้ให้ย่อมสูงกว่ามือผู้รับ
      • เว็บชุมชนคนรักช่างยนต์
      • อีเมล์
    Arduino ESP8266 (NodeMcU)
    « ตอบกลับ #6 เมื่อ: 21 มิถุนายน 2561, 10:50:39 »
  • ขึ้นบน
  • ลงล่าง
  • กำหนดสวิทช์
    โค๊ด: [Select]
    #include <Wire.h>
    #include <SPI.h>
    #include <Adafruit_GFX.h>
    #include <Adafruit_SSD1306.h>
    Adafruit_SSD1306 OLED(-1);
    int x=0;
    void setup() {
      OLED.begin(SSD1306_SWITCHCAPVCC, 0x3C); //initialize
      pinMode(D3,INPUT_PULLUP);
      pinMode(D4,INPUT_PULLUP);
      Serial.begin(9600);
    }
    void loop(){
      OLED.clearDisplay();
      OLED.setTextColor(WHITE);
      OLED.setCursor(0, 0);
      OLED.setTextSize(3);
      OLED.println("COUNT");
      OLED.setCursor(0,27);
      OLED.println(x,DEC);
      OLED.display(); //
      setpoint();
    }
    void setpont()
    {
      delay(300);
      x++;

    }
    }
    สวัสดีคุณ...ผู้เยี่ยมชม  กด ❤ ถูกใจโพสท์นี้ หรือยัง...
    ต้องการสมัครสมาชิก VIP สมัครได้ที่นี่...   หรือทาง Line ID: k.sonchai

    ออนไลน์ Auto Man

    • Administrator
    • หัวหน้าศูนย์ซ่อมสร้าง
    • *****
    • เจ้าของกระทู้
    • Joined: ก.ย. 2558
    • กระทู้: 37377
    • สมาชิกลำดับที่ : 1
    • เพศ: ชาย
    • มือผู้ให้ย่อมสูงกว่ามือผู้รับ
      • เว็บชุมชนคนรักช่างยนต์
      • อีเมล์
    Arduino ESP8266 (NodeMcU)
    « ตอบกลับ #7 เมื่อ: 21 มิถุนายน 2561, 11:08:12 »
  • ขึ้นบน
  • ลงล่าง
  • ตั้งค่าเซ็ทพอยน์ได้

       ใช้สวิทช์สองตัว รับค่าว่า
    กดตัวขวา บวกเพิ่มอีกหนึ่ง
    กดตัวซ้าย ลบออกหนึ่

    โค๊ด: [Select]
    #include <Wire.h>
    #include <SPI.h>
    #include <Adafruit_GFX.h>
    #include <Adafruit_SSD1306.h>
    Adafruit_SSD1306 OLED(-1);
    int x=0;
    void setup() {
      OLED.begin(SSD1306_SWITCHCAPVCC, 0x3C); //initialize
      pinMode(D3,INPUT_PULLUP);
      pinMode(D4,INPUT_PULLUP);
      Serial.begin(9600);
    }
    void loop(){
      OLED.clearDisplay();
      OLED.setTextColor(WHITE);
      OLED.setCursor(0, 0);
      OLED.setTextSize(3);
      OLED.println("COUNT");
      OLED.setCursor(0,27);
      OLED.println(x,DEC);
      OLED.display(); //
      setpoint();
    }
    void setpont()
    {
      Serial.println(digitalRead(D3));
      Serial.println(digitalRead(D4));
     
     if(digitalRead(D3)==0)
     {
       x++;
     }
      if(digitalRead(D4)==0)
     {
       x--;
     } 

    }
    สวัสดีคุณ...ผู้เยี่ยมชม  กด ❤ ถูกใจโพสท์นี้ หรือยัง...
    ต้องการสมัครสมาชิก VIP สมัครได้ที่นี่...   หรือทาง Line ID: k.sonchai

    ออนไลน์ Auto Man

    • Administrator
    • หัวหน้าศูนย์ซ่อมสร้าง
    • *****
    • เจ้าของกระทู้
    • Joined: ก.ย. 2558
    • กระทู้: 37377
    • สมาชิกลำดับที่ : 1
    • เพศ: ชาย
    • มือผู้ให้ย่อมสูงกว่ามือผู้รับ
      • เว็บชุมชนคนรักช่างยนต์
      • อีเมล์
    สวัสดีคุณ...ผู้เยี่ยมชม  กด ❤ ถูกใจโพสท์นี้ หรือยัง...
    ต้องการสมัครสมาชิก VIP สมัครได้ที่นี่...   หรือทาง Line ID: k.sonchai

    ออนไลน์ Auto Man

    • Administrator
    • หัวหน้าศูนย์ซ่อมสร้าง
    • *****
    • เจ้าของกระทู้
    • Joined: ก.ย. 2558
    • กระทู้: 37377
    • สมาชิกลำดับที่ : 1
    • เพศ: ชาย
    • มือผู้ให้ย่อมสูงกว่ามือผู้รับ
      • เว็บชุมชนคนรักช่างยนต์
      • อีเมล์
    Arduino ESP8266 (NodeMcU)
    « ตอบกลับ #9 เมื่อ: 21 มิถุนายน 2561, 11:51:03 »
  • ขึ้นบน
  • ลงล่าง
  • การทดลองนี้ ต้องต่อ DHT11 และจอ OLED ด้วย

     กำหนดให้ D5 รับ DHT11

    เวอร์ชั่นก่อนหน้านั้น

    โค๊ด: [Select]
    // Example testing sketch for various DHT humidity/temperature sensors
    // Written by ladyada, public domain

    #include "DHT.h"

    #define DHTPIN D6         // what pin we're connected to dht's data pin
    #define DHTPIN_VDD 16     // what pin we're connected to dht's vcc pin
    #define DHTPIN_GND 12     // what pin we're connected to dht's gnd pin

    // Uncomment whatever type you're using!
    #define DHTTYPE DHT11   // DHT 11
    //#define DHTTYPE DHT22   // DHT 22  (AM2302)
    //#define DHTTYPE DHT21   // DHT 21 (AM2301)

    // Connect pin 1 (on the left) of the sensor to +5V
    // NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
    // to 3.3V instead of 5V!
    // Connect pin 2 of the sensor to whatever your DHTPIN is
    // Connect pin 4 (on the right) of the sensor to GROUND
    // Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

    // Initialize DHT sensor for normal 16mhz Arduino
    //DHT dht(DHTPIN, DHTTYPE);
    // NOTE: For working with a faster chip, like an Arduino Due or Teensy, you
    // might need to increase the threshold for cycle counts considered a 1 or 0.
    // You can do this by passing a 3rd parameter for this threshold.  It's a bit
    // of fiddling to find the right value, but in general the faster the CPU the
    // higher the value.  The default for a 16mhz AVR is a value of 6.  For an
    // Arduino Due that runs at 84mhz a value of 30 works.
    // Example to initialize DHT sensor for Arduino Due:
    DHT dht(DHTPIN, DHTTYPE, 30);

    void setup() {
       // power to dht
      pinMode(DHTPIN_VDD, OUTPUT);
      pinMode(DHTPIN_GND, OUTPUT); 
      digitalWrite(DHTPIN_VDD, HIGH);
      delay(100);                       // waiting for dht start up.
     
      Serial.begin(9600);
      Serial.println("DHTxx test!");

      dht.begin();
    }

    void loop() {
      // Wait a few seconds between measurements.
      delay(2000);

      // Reading temperature or humidity takes about 250 milliseconds!
      // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
      float h = dht.readHumidity();
      // Read temperature as Celsius
      float t = dht.readTemperature();
      // Read temperature as Fahrenheit
      float f = dht.readTemperature(true);

      // Check if any reads failed and exit early (to try again).
      if (isnan(h) || isnan(t) || isnan(f)) {
        Serial.println("Failed to read from DHT sensor!");
        return;
      }

      // Compute heat index
      // Must send in temp in Fahrenheit!
      float hi = dht.computeHeatIndex(f, h);

      Serial.print("Humidity: ");
      Serial.print(h);
      Serial.print(" %\t");
      Serial.print("Temperature: ");
      Serial.print(t);
      Serial.print(" *C ");
      Serial.print(f);
      Serial.print(" *F\t");
      Serial.print("Heat index: ");
      Serial.print(hi);
      Serial.println(" *F");
    }
    « แก้ไขครั้งสุดท้าย: 21 มิถุนายน 2561, 12:06:59 โดย Auto Man »
    สวัสดีคุณ...ผู้เยี่ยมชม  กด ❤ ถูกใจโพสท์นี้ หรือยัง...
    ต้องการสมัครสมาชิก VIP สมัครได้ที่นี่...   หรือทาง Line ID: k.sonchai

    ออนไลน์ Auto Man

    • Administrator
    • หัวหน้าศูนย์ซ่อมสร้าง
    • *****
    • เจ้าของกระทู้
    • Joined: ก.ย. 2558
    • กระทู้: 37377
    • สมาชิกลำดับที่ : 1
    • เพศ: ชาย
    • มือผู้ให้ย่อมสูงกว่ามือผู้รับ
      • เว็บชุมชนคนรักช่างยนต์
      • อีเมล์
    Arduino ESP8266 (NodeMcU)
    « ตอบกลับ #10 เมื่อ: 21 มิถุนายน 2561, 12:12:55 »
  • ขึ้นบน
  • ลงล่าง
  • ไปดาวน์เวอร์ชั่นเป็น 1.2.2

     ระวังขา D6 จะไม่นับเรียงกันไปจาก D0  ต้องดูตำแหน่งให้ชัดเจน

    โค๊ด: [Select]
    // Example testing sketch for various DHT humidity/temperature sensors
    // Written by ladyada, public domain

    #include "DHT.h"

    #define DHTPIN D6     // what pin we're connected to

    // Uncomment whatever type you're using!
    #define DHTTYPE DHT11   // DHT 11
    //#define DHTTYPE DHT22   // DHT 22  (AM2302)
    //#define DHTTYPE DHT21   // DHT 21 (AM2301)

    // Connect pin 1 (on the left) of the sensor to +5V
    // NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
    // to 3.3V instead of 5V!
    // Connect pin 2 of the sensor to whatever your DHTPIN is
    // Connect pin 4 (on the right) of the sensor to GROUND
    // Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

    // Initialize DHT sensor.
    // Note that older versions of this library took an optional third parameter to
    // tweak the timings for faster processors.  This parameter is no longer needed
    // as the current DHT reading algorithm adjusts itself to work on faster procs.
    DHT dht(DHTPIN, DHTTYPE);

    void setup() {
      Serial.begin(9600);
      Serial.println("DHTxx test!");

      dht.begin();
    }

    void loop() {
      // Wait a few seconds between measurements.
      delay(2000);

      // Reading temperature or humidity takes about 250 milliseconds!
      // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
      float h = dht.readHumidity();
      // Read temperature as Celsius (the default)
      float t = dht.readTemperature();
      // Read temperature as Fahrenheit (isFahrenheit = true)
      float f = dht.readTemperature(true);

      // Check if any reads failed and exit early (to try again).
      if (isnan(h) || isnan(t) || isnan(f)) {
        Serial.println("Failed to read from DHT sensor!");
        return;
      }

      // Compute heat index in Fahrenheit (the default)
      float hif = dht.computeHeatIndex(f, h);
      // Compute heat index in Celsius (isFahreheit = false)
      float hic = dht.computeHeatIndex(t, h, false);

      Serial.print("Humidity: ");
      Serial.print(h);
      Serial.print(" %\t");
      Serial.print("Temperature: ");
      Serial.print(t);
      Serial.print(" *C ");
      Serial.print(f);
      Serial.print(" *F\t");
      Serial.print("Heat index: ");
      Serial.print(hic);
      Serial.print(" *C ");
      Serial.print(hif);
      Serial.println(" *F");
    }
    สวัสดีคุณ...ผู้เยี่ยมชม  กด ❤ ถูกใจโพสท์นี้ หรือยัง...
    ต้องการสมัครสมาชิก VIP สมัครได้ที่นี่...   หรือทาง Line ID: k.sonchai

    ออนไลน์ Auto Man

    • Administrator
    • หัวหน้าศูนย์ซ่อมสร้าง
    • *****
    • เจ้าของกระทู้
    • Joined: ก.ย. 2558
    • กระทู้: 37377
    • สมาชิกลำดับที่ : 1
    • เพศ: ชาย
    • มือผู้ให้ย่อมสูงกว่ามือผู้รับ
      • เว็บชุมชนคนรักช่างยนต์
      • อีเมล์
    Arduino ESP8266 (NodeMcU)
    « ตอบกลับ #11 เมื่อ: 21 มิถุนายน 2561, 12:14:23 »
  • ขึ้นบน
  • ลงล่าง
  •    ถ้าเสียบขาถูกจะได้ดังภาพ


    ถ้าเสียบขาผิด จะบอกว่า Fail Sensor
    สวัสดีคุณ...ผู้เยี่ยมชม  กด ❤ ถูกใจโพสท์นี้ หรือยัง...
    ต้องการสมัครสมาชิก VIP สมัครได้ที่นี่...   หรือทาง Line ID: k.sonchai

    ออนไลน์ Auto Man

    • Administrator
    • หัวหน้าศูนย์ซ่อมสร้าง
    • *****
    • เจ้าของกระทู้
    • Joined: ก.ย. 2558
    • กระทู้: 37377
    • สมาชิกลำดับที่ : 1
    • เพศ: ชาย
    • มือผู้ให้ย่อมสูงกว่ามือผู้รับ
      • เว็บชุมชนคนรักช่างยนต์
      • อีเมล์
    Arduino ESP8266 (NodeMcU)
    « ตอบกลับ #12 เมื่อ: 21 มิถุนายน 2561, 12:18:09 »
  • ขึ้นบน
  • ลงล่าง
  • float f = dht.readTemperature(true);
    อ่านค่าอุณหภูมิ เก็บไว้ที่ตัวแปร F

    โค๊ด: [Select]
    // Example testing sketch for various DHT humidity/temperature sensors
    // Written by ladyada, public domain

    #include "DHT.h"

    #define DHTPIN D6         // what pin we're connected to dht's data pin
    #define DHTPIN_VDD 16     // what pin we're connected to dht's vcc pin
    #define DHTPIN_GND 12     // what pin we're connected to dht's gnd pin

    // Uncomment whatever type you're using!
    #define DHTTYPE DHT11   // DHT 11
    //#define DHTTYPE DHT22   // DHT 22  (AM2302)
    //#define DHTTYPE DHT21   // DHT 21 (AM2301)

    // Connect pin 1 (on the left) of the sensor to +5V
    // NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
    // to 3.3V instead of 5V!
    // Connect pin 2 of the sensor to whatever your DHTPIN is
    // Connect pin 4 (on the right) of the sensor to GROUND
    // Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

    // Initialize DHT sensor for normal 16mhz Arduino
    //DHT dht(DHTPIN, DHTTYPE);
    DHT dht(DHTPIN, DHTTYPE);

    void setup() {
      Serial.begin(9600);
      Serial.println("DHTxx test!");

      dht.begin();
    }

    void loop() {
      // Wait a few seconds between measurements.
      delay(2000);

      // Reading temperature or humidity takes about 250 milliseconds!
      // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
      float h = dht.readHumidity();
      // Read temperature as Celsius
      float t = dht.readTemperature();
      // Read temperature as Fahrenheit
      float f = dht.readTemperature(true);

      // Check if any reads failed and exit early (to try again).
      if (isnan(h) || isnan(t) || isnan(f)) {
        Serial.println("Failed to read from DHT sensor!");
        return;
      }

      Serial.print("Humidity: ");
      Serial.print(h);
      Serial.print(" %\t");
      Serial.print("Temperature: ");
      Serial.print(t);
      Serial.print(" *C ");
     
    }
    « แก้ไขครั้งสุดท้าย: 21 มิถุนายน 2561, 13:11:08 โดย Auto Man »
    สวัสดีคุณ...ผู้เยี่ยมชม  กด ❤ ถูกใจโพสท์นี้ หรือยัง...
    ต้องการสมัครสมาชิก VIP สมัครได้ที่นี่...   หรือทาง Line ID: k.sonchai

    ออนไลน์ Auto Man

    • Administrator
    • หัวหน้าศูนย์ซ่อมสร้าง
    • *****
    • เจ้าของกระทู้
    • Joined: ก.ย. 2558
    • กระทู้: 37377
    • สมาชิกลำดับที่ : 1
    • เพศ: ชาย
    • มือผู้ให้ย่อมสูงกว่ามือผู้รับ
      • เว็บชุมชนคนรักช่างยนต์
      • อีเมล์
    Arduino ESP8266 (NodeMcU)
    « ตอบกลับ #13 เมื่อ: 21 มิถุนายน 2561, 13:10:25 »
  • ขึ้นบน
  • ลงล่าง
  • สวัสดีคุณ...ผู้เยี่ยมชม  กด ❤ ถูกใจโพสท์นี้ หรือยัง...
    ต้องการสมัครสมาชิก VIP สมัครได้ที่นี่...   หรือทาง Line ID: k.sonchai

    ออนไลน์ Auto Man

    • Administrator
    • หัวหน้าศูนย์ซ่อมสร้าง
    • *****
    • เจ้าของกระทู้
    • Joined: ก.ย. 2558
    • กระทู้: 37377
    • สมาชิกลำดับที่ : 1
    • เพศ: ชาย
    • มือผู้ให้ย่อมสูงกว่ามือผู้รับ
      • เว็บชุมชนคนรักช่างยนต์
      • อีเมล์
    สวัสดีคุณ...ผู้เยี่ยมชม  กด ❤ ถูกใจโพสท์นี้ หรือยัง...
    ต้องการสมัครสมาชิก VIP สมัครได้ที่นี่...   หรือทาง Line ID: k.sonchai

    Arduino ESP8266 (NodeMcU)
    « ตอบกลับ #14 เมื่อ: 21 มิถุนายน 2561, 13:19:10 »