นโยบายการจัดการความรู้ มหาวิทยาลัยสงขลานครินทร์ 1.ให้ใช้เครื่องมือการจัดการความรู้ผลักดัน คุณภาพคน และกระบวนทำงาน 2.ส่งเสริมการแลกเปลี่ยนประสบการณ์การทำงาน จากหน้างาน 3.ส่งเสริมให้มีเวทีเรียนรู้ร่วมกัน
อ่าน: 969
ความเห็น: 0

มาเล่น ESP8266 DHT22 และจอ OLED กัน

ESP8266

มาเล่น ESP8266 DHT22 และจอ OLED กัน

 

สำหรับโค้ดก็ประมาณนี้

 

  // Example testing sketch for various DHT humidity/temperature sensors
  // Written by ladyada, public domain
  #include "ESP8266WiFi.h"
  #include "DHT.h"
   
  // OLED Library
  #include <Wire.h>
  #include <Adafruit_GFX.h>
  #include <ESP_Adafruit_SSD1306.h>
   
  #define OLED_RESET 4
  Adafruit_SSD1306 display(OLED_RESET);
   
  #define DHTPIN 16 // 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 for normal 16mhz Arduino
  DHT dht(DHTPIN, DHTTYPE,15);
  // 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() {
  Serial.begin(9600);
  Serial.println("DHTxx test!");
   
  // dht begin
  dht.begin();
   
  // set display
  display.begin(SSD1306_SWITCHCAPVCC, 0x78>>1);
  display.display();
  delay(2000);
  display.clearDisplay();
   
  }
   
  void showTemp(float temp,float hud) {
  // text display tests
  display.setTextSize(2);
  display.setTextColor(WHITE);
  display.setCursor(0,0);
  display.print("T=");
  display.print(temp);
  display.println("C");
  display.print("H=");
  display.print(hud);
  display.println("%");
  display.display();
  display.clearDisplay();
  }
   
  void loop() {
  // Wait a few seconds between measurements.
  delay(1000);
   
  // 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();
   
  // Check if any reads failed and exit early (to try again).
  if (isnan(h) || isnan(t)) {
  Serial.println("Failed to read from DHT sensor!");
  return;
  }
   
  // show in serial monitor
  Serial.print("Humidity: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperature: ");
  Serial.print(t);
  Serial.print(" *C \n");
   
  // show temp
  showTemp(t,h);
  }
หมวดหมู่บันทึก: เรื่องทั่วไป
สัญญาอนุญาต: ซีซี: แสดงที่มา-ไม่ใช้เพื่อการค้า-อนุญาตแบบเดียวกัน Cc-by-nc-sa
สร้าง: 18 พฤศจิกายน 2559 22:40 แก้ไข: 18 พฤศจิกายน 2559 22:40 [ แจ้งไม่เหมาะสม ]
ดอกไม้
สมาชิกที่ให้กำลังใจ: Ico24 pompom.
สมาชิกที่ให้กำลังใจ
 
Facebook
Twitter
Google

บันทึกอื่นๆ

ความเห็น

ไม่มีความเห็น

ร่วมแสดงความเห็นในหน้านี้

ชื่อ:
อีเมล:
IP แอดเดรส: 3.83.192.109
ข้อความ:  
เรียกเครื่องมือจัดการข้อความ
   
ยกเลิก หรือ