2016/Sep/18

Workshop 3 . NodeMCU/ESP8266 + DH11+T16x2 LCD Display I2C

วัตถุประสงค์

เพื่อให้สามารถทำการเขียนชุดคำสั่งให้ NodeMCU สามารถทำการอ่านค่าอุณหภูมิ (Temperature) และ ความชื้น (Humidity) จาก DHT11 Sensor DHT11 sensor มาแสดงผลทางหน้าจอ 16x2 LCD Display I2C ได้

เครื่องมือที่ใช้

  1. NodeMCU/ESP8266 พร้อม สาย USB สำหรับ Upload ไฟล์
  2. ชุดโปรแกรม Arduino studio (ดาวน์โหลดได้จาก https://www.arduino.cc/en/Main/Software)
  3. DHT11 sensor (Digital Humidity and Temperature Sensor)
  4. ESP8266 – 16x2 LCD Display I2C

ลงมือซิครับรออะไรอยู่  ** ไม่ต้องคุยเรื่องการติดตั้งนะครับ หาอ่านได้ตาม Internet

  1. เปิดโปรแกรม Arduino ต่อสาย USB จากบอร์ด NodeMCU เข้ากับเครื่อง Notebook เลือกบอร์ด กำหนด Port ให้ถูกต้อง
  2. ต่อสายสัญญาณจาก DHT11 เข้ากับบอร์ด NodeMCU จาก Workshop 2
  3. ต่อสายสัญญาณจาก 16x2 LCD Display I2C

         
ขอบคุณภาพจาก http://www.14core.com/wiring-nodemcu-esp8266-12e-with-i2c-16x2-lcd-screen/

  1. ทำการเปิดไฟล์จากตัวอย่าง ที่ชื่อ HelloWorld
  2. เนื่องจากว่าตัวอย่างสามารถใช้กับ LCD ที่เป็น 4 แถวได้ แต่ของเราเป็น 2 แถว เราก็จะใส่ // (comment) ไว้ที่บรรทัดที่ 19-22 จากนั้น ทดลอง Run ดูครับ


  3. เมื่อลอง Run ได้แล้วเราก็มาทำการทดสอบเปลี่ยน ข้อความตามที่เราต้องการ โดยข้อความได้ 2 บรรทัด แต่ละบรรทัดได้ไม่เกิน 16 ตัวอักษร
    ความหมายของคำสั่ง setCursor(x,y);
                         x = ตำแหน่งตัวอักษรที่จะเริ่มต้นแสดงผล (0 คือ ตำแหน่งอักษรตัวแรกจากทางซ้าย)
                         y = ตำแหน่งแถวที่จะเริ่มต้นแสดงผล (0 คือแถวแรก ,  1 คือแถวที่สอง)

 


  1. ทดลองสั่ง Run ดู ได้ผลตามที่ต้องการ


  2. ต่อมาก็เป็นการรวมชุดคำสั่งของการอ่านค่า DHT11 เข้ากับชุดคำสั่งที่จะให้แสดงผลบนจอ LCD คำสั่งชุดแรกเป็นคำสั่งที่เกี่ยวข้องกับการเรียกใช้งาน Library และตัวแปรที่กำหนดค่าเกี่ยวกับจอ LCD

** หากต้องการเรียนรู้ แนะนำหลักสูตร Online ที่ https://www.facebook.com/ThaiEmbeddedSend to editor 

  1. ทำการ Copy ชุดคำสั่งที่ใช้ในการแสดงผลบนจอ LCD มา แล้วเปลี่ยนข้อความให้เป็นการแสดงผลจากค่าที่อ่านได้จาก DHT11 เมื่อปรับแต่งได้แล้วให้ทำการสั่ง Run ดู
  2. ผลที่ได้ ก็จะแสดงค่าที่อ่านได้บนจอ LCD

 

  1. มาทำการปรับแต่งให้ดูดีอีกนิด โดยการใช้อักขระพิเศษ Special character ((char)223) แทนองศา (Degree) ปรับแต่งข้อความให้หน้าจอออกมาตามที่ต้องการ
  1. ผลที่ได้จากการปรับแต่ง เป็นไปตามที่ต้องการ สามารถนำค่าอุณหภูมิและความชื้นมาแสดงบนหน้าจอ LCD ได้

 

จบ Workshop 3 แล้วครับ เบื่อได้ ท้อได้แต่อย่าถอย เหนื่อยๆ เบื่อๆ ก็พักแล้วกลับมาลุยกันใหม่

Comment

Comment:

Tweet


ศรีเดช ปัญจขันธ์
View full profile