ใช้งาน Node MCU กับ TFT LCD - ETT · ขั้นตอนที่ 1...

6
-------------บทความสำาหรับเว็บ ETT (www.etteam.com)------------- ใช้งาน Node MCU กับ TFT LCD ผศ.จารุต บุศราทิจ คณะเทคโนโลยีสารสนเทศ มหาวิทยาลัยราชภัฏเพชรบุรี เป้าหมาย เขียนโปรแกรมตัวอย่างสำาหรับ NodeMCU เพื่อแสดงผลที่ TFT LCD วัตถุประสงค์ 1. ติดตั้งบอร์ด NodeMCU ให้ Arduino IDE รู้จัก 2. ติดตั้งไลบรารี TFT LCD กับ Arduino IDE 3. สั่งแสดงผลที่ TFT LCD จากบอร์ด NodeMCU อุปกรณ์ 1. NodeMCU LUA WiFi [ http://www.etteam.com/prod2015/2015-11/nodemcu%20lua%20wifi.html ] 2. TFT 128160-1.8 [ http://www.etteam.com/prod2014/TFT128160-1.8/TFT128160-1.8.html ] ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- หน้าที่ 1

Transcript of ใช้งาน Node MCU กับ TFT LCD - ETT · ขั้นตอนที่ 1...

Page 1: ใช้งาน Node MCU กับ TFT LCD - ETT · ขั้นตอนที่ 1 ตั้งค่า URLs ของ ESP8266 1. เข้าที่เมนู File เลือก

-------------บทความสำาหรบเวบ ETT (www.etteam.com)-------------

ใชงาน Node MCU กบ TFT LCDผศ.จารต บศราทจ

คณะเทคโนโลยสารสนเทศ มหาวทยาลยราชภฏเพชรบร

เปาหมายเขยนโปรแกรมตวอยางสำาหรบ NodeMCU เพอแสดงผลท TFT LCD

วตถประสงค1. ตดตงบอรด NodeMCU ให Arduino IDE รจก2. ตดตงไลบราร TFT LCD กบ Arduino IDE3. สงแสดงผลท TFT LCD จากบอรด NodeMCU

อปกรณ1. NodeMCU LUA WiFi [ http://www.etteam.com/prod2015/2015-11/nodemcu%20lua%20wifi.html ]2. TFT 128160-1.8 [ http://www.etteam.com/prod2014/TFT128160-1.8/TFT128160-1.8.html ]

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------หนาท 1

Page 2: ใช้งาน Node MCU กับ TFT LCD - ETT · ขั้นตอนที่ 1 ตั้งค่า URLs ของ ESP8266 1. เข้าที่เมนู File เลือก

-------------บทความสำาหรบเวบ ETT (www.etteam.com)-------------

ตดตงบอรด NodeMCUขนตอนการตดตงให Arduino IDE รจก มขนตอนดงน

ขนตอนท 1 ตงคา URLs ของ ESP82661. เขาทเมน File เลอก Preferences หรอกดแปน Ctrl+comma2. เลอกแทบ Settings ในชอง Additional Boards Manager URLs: ใสคาเปนดงน

http://arduino.esp8266.com/stable/package_esp8266com_index.json3. คลกทปม OK

ขนตอนท 2 ตดตงชอมลของบอรด1. เขาทเมน Tools แลวเลอก Boards Manager… จากเมน Board2. ใสคำาคนเปน ESP82663. คลกเลอกทรายการทคนหาได ฟลงจากนนคลกปม Install เพอทำาการดาวนโหลดและตดตง4. คลกทปม Close เพอออกจากหนาตาง Boards Manager

ขนตอนท 3 เลอกบอรด1. เขาทเมน Tools แลวเลอกบอรด NodeMCU 1.0 (ESP-12E Module)2. เลอกหมายเลขพอรตสอสารอนกรมใหถกตอง

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------หนาท 2

Page 3: ใช้งาน Node MCU กับ TFT LCD - ETT · ขั้นตอนที่ 1 ตั้งค่า URLs ของ ESP8266 1. เข้าที่เมนู File เลือก

-------------บทความสำาหรบเวบ ETT (www.etteam.com)-------------

ขนตอนท 4 ทดสอบการทำางาน1. เลอกตวอยาง Blink จากเมน File > Examples > ESP8266 > Blink2. คลกคอมไพล3. คลกอพโหลด4. ถาการดำาเนนการถกตองจะทำาใหหลอดแอลอดบนบอรด NodeMCU กระพรบ

123456789101112131415

void setup() { pinMode(LED_BUILTIN, OUTPUT); // Initialize the LED_BUILTIN pin as an output}

// the loop function runs over and over again forevervoid loop() { digitalWrite(LED_BUILTIN, LOW); // Turn the LED on (Note that LOW is the // voltage level // but actually the LED is on; this is because // it is acive low on the ESP-01) delay(1000); // Wait for a second digitalWrite(LED_BUILTIN, HIGH); // Turn the LED off by making the voltage HIGH delay(2000); // Wait for two seconds (to demonstrate the // active low LED)}

ตดตงไลบราร TFT LCD

การตดตงไลบรารของ TFT LCD มขนตอนดงน

ขนตอนท 1 เขา Library Manager1. เลอกเมน Sketch2. เขารายการ Include Library3. เลอกเมน Management Libraries …

ขนตอนท 2 ตดตงไลบราร TFT/GFX1. ใสคำาคน Adafruit ST77352. คลกเลอกรายการ Adafruit ST7735 Library หลงจากนนคลกตดตง (Install)3. รอให Arduino IDE ดาวนโหลดและตดตงไลบราร4. ใสคำาคน Adafruit GFX หลงจากนนคลกเลอกรายการ Adafruit GFX Library และทำาการตดตง5. รอให Arduino IDE ดาวนโหลดและตดตงไลบราร6. คลกปม Close เพอปดหนาตาง Library Manager

หมายเหต เนองจากมการปรบเปลยนรนของไลบรารอาจจะสงผลกบโคดทเขยน ดงนน ผเขยนจงคดลอกไฟล H/CPP ทตองใชเอาไวทเดยวกบโปรแกรม

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------หนาท 3

Page 4: ใช้งาน Node MCU กับ TFT LCD - ETT · ขั้นตอนที่ 1 ตั้งค่า URLs ของ ESP8266 1. เข้าที่เมนู File เลือก

-------------บทความสำาหรบเวบ ETT (www.etteam.com)-------------

โปรแกรมตวอยางการจดงางขาของ NodeMCU เปนดงน

(ref: http://www.ayarafun.com/wp-content/uploads/2015/04/pinout-1024x678.png )

การใชงาน TFT LCD ตองสงงานผานมาตรฐานการสอสารแบบ SPI (Serial Peripheral Interface) โดยเชอมตอขาดงน

NodeMCU TFT LCD

ขา หนาท ขาท หนาท

GPIO15 D8 <---------------------> 3 CS

RST RST <---------------------> 4 RESET

GPIO05 D1 <---------------------> 5 A0 (D/C)

GPIO13 D7 <---------------------> 6 SDA (MOSI)

GPIO14 D5 <---------------------> 7 SCK

1 3.3VDC

2 GND

8 ตอกบ 3.3VDC(R10K)

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------หนาท 4

Page 5: ใช้งาน Node MCU กับ TFT LCD - ETT · ขั้นตอนที่ 1 ตั้งค่า URLs ของ ESP8266 1. เข้าที่เมนู File เลือก

-------------บทความสำาหรบเวบ ETT (www.etteam.com)-------------

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960

#include <ESP8266WiFi.h>#include <SPI.h>#include "Adafruit_GFX.h" // Core graphics library#include "Adafruit_ST7735.h" // Hardware-specific library

#define TFT_CS 15#define TFT_RST (-1) #define TFT_DC 5

#define ROTATION_OPTION 1 // 0=แนวตง,1=แนวนอน,2=แนวตงกลบหว, 3=แนวนอนกลบหว

Adafruit_ST7735 tft = Adafruit_ST7735( TFT_CS, TFT_DC, TFT_RST );

int w, h;

void setup() { WiFi.disconnect(); WiFi.mode( WIFI_OFF ); delay(100); tft.initR( INITR_BLACKTAB ); tft.setRotation( ROTATION_OPTION ); w = tft.width(); h = tft.height(); tft.fillScreen( ST7735_BLACK ); tft.drawRect( 0,0, w, h, ST7735_GREEN );}

char msg[] = "I'm ETT!!!";

void loop() { tft.fillScreen( ST7735_WHITE ); tft.setTextColor( ST7735_BLACK ); tft.setTextSize(1); tft.setCursor(10,10); tft.println( msg ); delay(1000); tft.fillScreen( ST7735_CYAN ); tft.setTextColor( ST7735_BLACK ); tft.setTextSize(1); tft.setCursor(10,10); tft.println( msg ); delay(1000);

tft.fillScreen( ST7735_GREEN ); tft.setTextColor( ST7735_BLACK ); tft.setTextSize(1); tft.setCursor(10,10); tft.println( msg ); delay(1000);

tft.fillScreen( ST7735_BLACK ); tft.setTextColor( ST7735_WHITE ); tft.setTextSize(1); tft.setCursor(10,10); tft.println( msg ); delay(1000);}

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------หนาท 5

Page 6: ใช้งาน Node MCU กับ TFT LCD - ETT · ขั้นตอนที่ 1 ตั้งค่า URLs ของ ESP8266 1. เข้าที่เมนู File เลือก

-------------บทความสำาหรบเวบ ETT (www.etteam.com)-------------

แหลงอางอง1. https://www.arduino.cc/en/Reference/TFTLibrary 2. http://www.ayarafun.com/2015/04/arduino-ide-for-esp8266/ 3. http://cpre.kmutnb.ac.th/esl/learning/index.php?article=esp8266_demo_part-3 4. http://www.etteam.com

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------หนาท 6