คู่มือการใช้งาน esp8266 เบื้องต้น

Page 1


2 คู่มือการใช้งาน ESP8266 เบื้องต้น

ESP 8266 Datasheet

3

ดาวน์โหลดและลงโปรแกรม Arduino IDE

4

Workshop Built-in LED

10

LED

11

Relay

12

Ultrasonic

13

DTH11

15

Light

16

Switch

17

I2C LCD Display

19

Wifi

23

Access Point

25

Web Server

26

Cloud

28


3

!

ESP 8266 Datasheet


4

! ติดตั้ง Arduino IDE เวอร์ชั้น 1.6.4 หรือ ใหม่กว่า โดย Download ตัวติดตั้งได้จาก http:// www.arduino.cc/en/main/software

! - เมื่อทำการติดตั้ง Arduino IDE เรียบร้อยแล้ว ให้เปิด Arduino IDE ขึ้นมา
 - ไปที่ Menu File >> Preferences


5

- ใส่ URL >> ลงใน Addition Board Manager URLs: ดังนี้
 http://arduino.esp8266.com/stable/package_esp8266com_index.json !

(สามารถดูข้อมูลเพิ่มเติมหากมีการเปลี่ยนแปลงได้จาก https://github.com/esp8266/Arduino)


6

!

- แล้วกด OK
 - จากนั้นไปที่ Menu Tools >> Boar:”xxxxxx” >> Board Manager…

! - เลือก Type เป็น Contributed ไปที่ ESP8266 และกด Install


7

!

!

รอจนติดตั้งเสร็จ


8

เมื่อติดตั้ง ESP8266 เสร็จเรียบร้อยแล้ว ให้ปิดโปรแกรม Arduino IDE ก่อน แล้วจึงเปิดขึ้นมาใหม่
 - เมื่อเปิดโปรแกรม Arduino IDE ขึ้นมาใหม่ ให้ลองไปที่ Menu Tools >> Board:”xxxxxx” จะพบ ว่า มี Menu สำหรับเลือกใช้งาน ESP8266 กับ Arduino IDE ขึ้นมาให้เลือกใช้งานแล้วครับ !


9

- จะสังเกตเห็นว่าใน หมวดของ ESP8266 จะมีบอร์ดให้เลือกใช้งานอยู่ด้วยกัน 3 บอร์ด ได้แก่ 
 - Generic ESP8266 Module >> บอร์ด ESP8266 ทั้งไปไม่เจาะจง หรือ บอร์ดที่สร้างขึ้นเอง
 - Olimex MOD-WIFI-ESP8266 >> บอร์ด ESP8366 ที่บริษัท Olimex เป็นผู้สร้าง
 - NodeMCU (ESP8266 ESP12) >> บอร์ด ESP8266 ที่เป็นบอร์ด NodeMCU ที่เราจะใช้งานนั่นเอง
 - หากท่านใช้งานบอร์ดต่างๆ ที่มีอยู่ตาม Menu เหล่านี้ ท่านสามารถเลือกบอร์ดที่ใช้และใช้งาน Arduino IDE กับบอร์ดได้เลย !


10

Workshop Built-in LED ตัว NodeMCU จะมี LED ฝังมาในบอร์ดเราเรียกว่า Built-in LED มา ให้ 1 ดวง

ทดลอง upload ดู


11

LED ทำการต่อสาย LED ไปยัง PIN D4 ของ NodeMCU ผ่าน R ซึ่งจะตรงกับ GPIO2 ใน Datasheet


12

และ Upload code เปลี่ยน BUILTIN_LED เป็น 2 ดังนี้ void setup() { pinMode(2, OUTPUT); } void loop() { digitalWrite(2, LOW); delay(1000); digitalWrite(2, HIGH); delay(2000); } เมื่อ upload เสร็จ LED จะกระพริบ


13

Relay

เดินสายจาก D4 (GPIO2) ไป ยัง PIN IN1 ของ Relay เดินสาย 3V3 เข้า VCC และ GND เข้า GND และใช้ code เปิดปิด LED เหมือน workshop ก่อน โดยมี Relay คั่นระหว่าง NodeMCU และ LED void setup() { pinMode(2, OUTPUT); } void loop() { digitalWrite(2, LOW); delay(1000); digitalWrite(2, HIGH); delay(2000); } ทดลอง upload ดูพบว่า Relay จะทำงานตามคำสั่ง DigitalWrite สามารถเปลี่ยน ส่วนแบตเตอร์ที่ และ LED เป็นส่วนของไฟกระแสสลับ หรือ มอเตอร์ ตามแต่การ ประยุกต์ใช้งาน

Ultrasonic Ultrasonic Sensor HC-SR04 มาทดลองต่อกับ NodeMCU Dev Kit เราจะจ่ายไฟเข้า USB Port แล้ว ใช้ Vin และ GND จ่ายไฟให้ตัว Ultrasonic Sensor ดังรูป


14

! ในส่วนของ code #define TRIGGER_PIN #define ECHO_PIN

5 4

void setup() { Serial.begin (9600); pinMode(TRIGGER_PIN, OUTPUT); pinMode(ECHO_PIN, INPUT); pinMode(BUILTIN_LED, OUTPUT); } void loop() { long duration, distance; digitalWrite(TRIGGER_PIN, LOW); // Added this line delayMicroseconds(2); // Added this line digitalWrite(TRIGGER_PIN, HIGH); delayMicroseconds(10); // Added this line digitalWrite(TRIGGER_PIN, LOW); duration = pulseIn(ECHO_PIN, HIGH); distance = (duration/2) / 29.1; Serial.print(distance); Serial.println(" cm"); delay(1000); }


15


16

DTH11 ติดตั้ง DHT11 (sensor วัดอุณหภูมิและความชื้น) โดยต่อสายาตามภาพ(เข้า Pin D4 )

? ทำการเพิ่ม library ของ DHT11

? นำ code ใน example มาทำการแก้ไข


?




17


18

LIGHT SENSOR LDR sensor

? ขาซ้าย ใช้ Analog A0 , R ต่อ 3V3 ขาขวา เข้า GND เขียน code อ่าน analog pin ดังนี้

void setup() { // put your setup code here, to run once: Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: int sensorvalue = analogRead(A0); Serial.println(sensorvalue); delay(1000); } เปิด Serial Monitor เพื่อดูค่าที่ได้


19

Switch Button

ขาซ้าย ใช้ Analog D4 , R ต่อ 3V3 ขาขวา เข้า GND เขียน code อ่าน Digital pin ดังนี้

void setup() { // put your setup code here, to run once: Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: int sensorvalue = digitalRead(2);//D4 Serial.println(sensorvalue); delay(1000); } เปิด Serial Monitor เพื่อดูค่าที่ได้ จะได้ค่า 0 1 ตามที่กดสวิทซ์


20

I2C LED Display

? การเดินสาย VCC-3V3 GND-GND SCL-D1 SDA-D2 ESP8266 สามารถเชื่อมต่อกับจอ OLED แบบ หลังจากนั้นทำการติดตั้ง library Adafruit_SSD1306 และ Adafruit_GFX ซึ่งเดิมใช้งานร่วมกับ Arduino ให้สามารถใช้งานกับ ESP8266 ได้


21


22

นำ Example มาแก้ไข

แก้ไข ในส่วน Include ให้ไปดึง #include <ESP_Adafruit_SSD1306.h> และ ปิด SPI.h เสีย และแก้ไขโปรแกรมเล็กน้อยตามภาพ


23

ปิด SPI.h

Include Library ESP adafruit ใหม่เข้าไป

แก้ function เอา PROGMEM ออก

แก้ display Begin เป็น 0x78>>1


24

Wifi ค้นหา WIFI โดยใช้ WiFIscan

Upload และเปิด Serial Monitor


25

ปรับ ค่าความถี่เป็น 115200 baud จะปรากฎชื่อ Access point ที่อยู่โดยรอบทั้งหมด


26

Access Point ไปที่ example ตามภาพ

สามารถเปลี่ยนชื่อ และข้อความ ได้ ประยุกต์ใช้ในการอ่านค่าและแสดงผลผ่าน browser โดยไม่ต้องมี router

Username /password

เข้า ip 192.168.4.1 ผ่าน browser

ข้อความที่จะแสดงบน web browser


27

Web Server ทำการ เดินสาย LED แบบ Work shop ที่ 2


28 แก้ไข ssid กับ password เป็น account ของ router ที่ออกเน็ทได้

Ssid และ password ของ router

ทำการเปิด serial monitor จะได้ ip address มา 1 ชุด ใช้ โทรศัพท์ หรือ PC เปิด browser แล้ว ตาม ip ที่ได้มา ใส่ http://(ipที่ได้)/gpio/0 http:// (ipที่ได้/gpio/1

เป็นการปิด LED เป็นการเปิด LED


29

Cloud การส่งค่าไปยัง internet ทำได้โดยใช้ Client

สมัครการใช้งานบริการ Cloud ฟรีที่ thinkspeak.com


30

สร้าง channel ใหม่ขึ้นมา

หลังจากสร้าง channel เสร็จไปที่ tab Data Import/Export เราจะใช้ code ส่งค่าแบบ GET ไปใส่ใน NodeMCU


31 Arduino IDE เปิด Example ดังภาพ

เปลี่ยน ssid password และ host เป็น thinkspeak

Ssid , password

Host thinkSpeak


32

URL

แก้ code ในส่วนของ URL ที่จะ GET ค่าส่งไป ในกรณีนี้ลองส่งค่า 22 ไป(หรือาจจะลองส่งหลายๆค่าดู)

ข้อมูลสามารถแสดงผลเป็นกราฟในเวบ ThinkSpeak ได้


33

บรรณาณุกรม http://thaiopensource.org/ http://www.ayarafun.com/2015/04/arduino-ide-for-esp8266/ http://www.thaieasyelec.com/article-wiki/embedded-electronics-application/gettingstarted-with-esp8266-nodemcu.html https://cmmakerclub.com/ https://www.arduino.cc https://www.facebook.com/groups/arduino.thai/ https://www.facebook.com/groups/esp8266thailand/ https://www.facebook.com/groups/194518927547066/ https://www.facebook.com/siamiotmaker/


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.