Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
-------------บทความสำาหรบเวบ 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
-------------บทความสำาหรบเวบ 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
-------------บทความสำาหรบเวบ 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
-------------บทความสำาหรบเวบ 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
-------------บทความสำาหรบเวบ 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
-------------บทความสำาหรบเวบ 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