กระโดดไปยัง:
บทเรียน ESP32 1/55 - แนะนำชุดเรียนรู้ IoT ESP32 ของ SunFounder ซอฟต์แวร์และ Arduino IDE บทช่วยสอน ESP32 2/55 - ESP32 คืออะไร, บอร์ดขยายกล้อง, แกะกล่องชุด IoT ESP32 ของ SunFounder ESP32 บทเรียนที่ 3/55 - โครงการตัวต้านทาน, LED, Breadboard: สวัสดี LED - ชุดเรียนรู้ IoT ESP32 บทเรียน ESP32 4/55 - ชนิดข้อมูล การกำหนดตัวแปร Int, bool, char, Serial Monitor - ชุด IoT ESP32 บทเรียน ESP32 5/55 - การหรี่แสง LED, ควบคุมความสว่างของ LED - ชุดเรียนรู้ IoT ESP32 บทช่วยสอน ESP32 6/55 - การใช้โปรเจกต์ RGB LED 2.3 - ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทเรียน ESP32 7/55 - การใช้ Array กับการเขียนโปรแกรม ESP32 Arduino - ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 Tutorial 8/55 -Walking Light 74HC595 Shift register -SunFounder's ESP32 IoT Learning kit บทเรียน ESP32 9/55 - การใช้ปุ่มกดเพื่อสลับเปิด-ปิด LED, กดเปิด, กดปิด - ชุด IoT ESP32 ของ SunFounder ESP32 บทเรียนที่ 10/55 - ตัวนับดิจิทัลโดยใช้จอแสดงผลเซเว่นเซกเมนต์ 74HC595 - ชุดเรียนรู้ IoT สำหรับ ESP32 บทเรียน ESP32 11/55 - การใช้ LCD1602 LCD2004 กับ ESP32 - ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทเรียน ESP32 12/55 - โปรเจกต์แถบ RGB WS2812 4 ร่วมกับชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 13/55 - Arduino ส่งเสียงบี๊บด้วย Active Buzzer | ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทเรียน ESP32 14/55 - การเล่นโน้ตเพลงที่กำหนดเองโดยใช้ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 15/55 - การควบคุมความเร็วมอเตอร์ DC ด้วย ESP32 L293D | ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทเรียน ESP32 16/55 - ปั๊มน้ำขนาดเล็กโดยใช้ ESP32 และ L293D | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียนที่ 17/55 - การควบคุมเซอร์โวมอเตอร์โดยใช้ ESP32 และโพเทนชิโอมิเตอร์ - ชุดการเรียนรู้ IoT สำหรับ ESP32 บทเรียน ESP32 18/55 - การตรวจจับการเอียงโดยใช้ ESP32 | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 19/55 - การตรวจจับสิ่งกีดขวางโดยใช้เซนเซอร์อินฟราเรด | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 20/55 - โมดูลติดตามเส้น | ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทเรียน ESP32 21/55 - การตรวจจับมนุษย์ด้วยเซนเซอร์ตรวจจับการเคลื่อนไหว PIR | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 22/55 - รับรู้แสงโดยใช้ LED Arduino | ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทเรียน ESP32 23/55 - การอ่านแรงดันไฟฟ้าของโพเทนชิโอมิเตอร์โดยใช้ ESP32 | ชุด IoT ESP32 ของ SunFounder ESP32 บทเรียน 24/55 - การวัดความชื้นในดินเพื่อการชลประทาน | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 25/55 - การวัดอุณหภูมิโดยใช้ NTC และ LCD | ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทช่วยสอน ESP32 26/55 - การใช้จอยสติ๊กกับ Arduino ลงมือปฏิบัติ | ชุด IoT ESP32 ของ SunFounder บทเรียน ESP32 27/55 - การวัดระยะทางด้วยเซนเซอร์อัลตราโซนิก | ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทเรียน ESP32 28/55 - เซนเซอร์วัดอุณหภูมิ DHT11 พร้อมจอ LCD | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทช่วยสอน 29/55 - การอ่านการกดปุ่มรีโมทอินฟราเรดด้วย ESP32| ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 30/55 - ควบคุมเซอร์โวผ่านเว็บโดยใช้ MQTT ผ่านบริการ Adafruit IO | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 31/55 - โปรเจกต์แถบ LED พร้อมการหลบหลีกสิ่งกีดขวาง | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 32/55 - คำเตือนระยะการถอยรถด้วย LCD และออด | ชุดเรียนรู้ IoT ของ SunFounder บทเรียน ESP32 33/55 - ลูกเต๋าดิจิทัลโดยใช้ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทช่วยสอน 34/55 - การไล่เฉดสีด้วย RGB LED และปุ่มหมุน | ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทช่วยสอน ESP32 35/55 - เครื่องตรวจวัดพืช ดิน อุณหภูมิ และแสง | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 36/55 - เกมทายตัวเลข | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 37/55 - การใช้แอปบลูทูธกับ ESP32 BLE | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 38/55 - การควบคุม RGB LED จากโทรศัพท์มือถือของคุณ | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 39/55 - การใช้ ESP32 เป็นเครื่องเล่นเพลงบลูทูธ | ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทเรียน ESP32 40/55 - การอ่านและเขียนลงการ์ด Micro SD | ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทเรียน ESP32 41/55 - เครื่องเล่น MP3 โดยใช้การ์ด Micro SD | ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทเรียน ESP32 42/55 - ถ่ายภาพด้วยกล้องแล้วบันทึกลง Micro SD CAM-1 | ชุด ESP32 ของ SunFounder ESP32 บทเรียน 43/55 - สถานีตรวจอากาศอินเทอร์เน็ต IoT | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทช่วยสอน 44/55 - ESP32 กล้องเว็บเซิร์ฟเวอร์สตรีมวิดีโอผ่าน Wifi CAM-2 | ชุด ESP32 ของ SunFounder บทช่วยสอน ESP32 45/55 - เซิร์ฟเวอร์สตรีมมิงแบบกำหนดเองพร้อมการควบคุม LED CAM-3 l ชุดเรียนรู้ ESP32 ของ SunFounder บทช่วยสอน ESP32 46/55 - การตรวจวัดอุณหภูมิระยะไกลโดยใช้ HiveMQ MQTT | ชุด ESP32 ของ SunFounder บทเรียน ESP32 47/55 - WS2812 CheerLights โดยใช้ MQTT ผ่านอินเทอร์เน็ต | ชุด IoT ESP32 ของ SunFounder บทช่วยสอน ESP32 48/55 - การตรวจวัดอุณหภูมิระยะไกลและการควบคุม LED ด้วย MQTT | ชุด IoT ESP32 ของ SunFounder บทช่วยสอน ESP32 49/55 - ควบคุมมอเตอร์ DC ผ่านอินเทอร์เน็ตโดยใช้ Adafruit IoT | ชุด ESP32 ของ SunFounder ESP32 บทเรียน 50/55 - ควบคุม RGB LED จากที่ใดก็ได้ในโลก | ชุด ESP32 ของ SunFounder ESP32 Tutorial 51/55 - Temperature and Humidity over WiFi with DHT | SunFounder's ESP32 IoT Learning Kit บทช่วยสอน ESP32 52/55 - การซิงค์ระดับโลกของ WS2812 CheerLights ผ่าน MQTT พร้อมจอ LCD | ชุด IoT ESP32 ของ SunFounder บทเรียน ESP32 53/55 - สร้างนาฬิกาอินเทอร์เน็ตบนจอ LCD | ชุดเรียนรู้ IoT ESP32 ของ SunFounder บทช่วยสอน ESP32 54/55 - ตั้งค่าสีแถบ LED WS2812 ผ่าน Wifi | ชุดเรียนรู้ IoT ESP32 ของ SunFounder ESP32 บทเรียน 55/55 - วิธีวัดแรงดันไฟฟ้ากระแสตรง 12V, 24V หรือ 100V | ชุดเรียนรู้ IoT ESP32 ของ SunFounder
บทเรียน ESP32 11/55 - การใช้ LCD1602 LCD2004 กับ ESP32 - ชุดเรียนรู้ IoT ESP32 ของ SunFounder
ในบทช่วยสอนนี้ เราจะสำรวจวิธีการใช้ LCD1602 และ LCD2004 ร่วมกับไมโครคอนโทรลเลอร์ ESP32 จอ LCD เหล่านี้ช่วยให้เราสามารถแสดงข้อความและข้อมูลอื่นๆ ได้อย่างมีประสิทธิภาพ ช่วยเพิ่มการแสดงผลทางภาพให้กับโปรเจกต์ของเรา เราจะครอบคลุมถึงวิธีการปรับความคมชัดเพื่อให้อ่านง่ายอีกด้วย
ESP32 ซึ่งเป็นส่วนหนึ่งของชุดเรียนรู้ IoT ESP32 ของ SunFounder มีความสามารถ Wi-Fi และ Bluetooth ในตัว ทำให้เป็นเครื่องมือที่ทรงพลังสำหรับแอปพลิเคชัน IoT ต่างๆ โดยการเชื่อมต่อ LCD เข้ากับ ESP32 เราสามารถแสดงข้อความหรือข้อมูลเอาต์พุตจากโค้ดของเราได้อย่างง่ายดาย ทำให้โปรเจกต์ของเราโต้ตอบได้มากขึ้นและใช้งานง่ายขึ้น (ในวิดีโอที่ 00:30)
อธิบายฮาร์ดแวร์
ส่วนประกอบหลักที่เราจะใช้ ได้แก่ ไมโครคอนโทรลเลอร์ ESP32 และโมดูลจอแสดงผล LCD1602 หรือ LCD2004 ESP32 จะทำหน้าที่เป็นสมองของโปรเจกต์ของเรา ประมวลผลอินพุตและควบคุมเอาต์พุต รวมถึงจอ LCD
โมดูล LCD สื่อสารผ่าน I2C ซึ่งช่วยลดความซับซ้อนของการเดินสายโดยใช้พินข้อมูลเพียงสองพิน (SDA และ SCL) สำหรับการสื่อสาร พร้อมกับการเชื่อมต่อไฟและกราวด์ การตั้งค่านี้ช่วยลดความซับซ้อนของการเชื่อมต่อหลายพินลงอย่างมาก ทำให้วงจรสะอาดและจัดการได้ง่ายขึ้น
รายละเอียดจาก Datasheet
ผู้ผลิต
SunFounder
หมายเลขชิ้นส่วน
LCD1602
แรงดันไฟฟ้าลอจิก/IO
5 V
แรงดันไฟฟ้าจ่าย
5 V
ขนาดจอแสดงผล
16 x 2 ตัวอักษร
ไฟแบ็คไลท์
มี
อินเทอร์เฟซ
I2C
ขนาด
80 x 36 มม.
หมายเหตุ / รุ่นต่างๆ
มักใช้กับที่อยู่ I2C 0x27
ตรวจสอบให้แน่ใจว่าใช้แรงดันไฟฟ้าที่ถูกต้อง (5 V) เพื่อป้องกันความเสียหาย
ใช้สายไฟสั้นเพื่อลดการรบกวนบนสาย I2C
ปรับโพเทนชิโอมิเตอร์เพื่อความคมชัดในการมองเห็นที่เหมาะสมที่สุด
ตรวจสอบที่อยู่ I2C หากจอแสดงผลไม่เริ่มทำงาน (ที่อยู่ทั่วไป: 0x27, 0x3F)
ล้างจอแสดงผลก่อนอัปเดตข้อความเพื่อหลีกเลี่ยงการซ้อนทับกัน
คำแนะนำการเดินสายไฟ
แผนผังการเดินสายไฟ ESP32-11_LCD
ESP32-11_LCD-wiring
ในการเดินสายไฟ LCD1602 เข้ากับ ESP32 ขั้นแรกให้เชื่อมต่อพินกราวด์ของ LCD เข้ากับพินกราวด์บน ESP32 จากนั้นเชื่อมต่อพิน VCC ของ LCD เข้ากับเอาต์พุต 5V ของ ESP32 สำหรับการสื่อสาร I2C ให้เชื่อมต่อพิน SDA ของ LCD เข้ากับพิน 21 บน ESP32 และเชื่อมต่อพิน SCL ของ LCD เข้ากับพิน 22 บน ESP32 ตรวจสอบให้แน่ใจว่าการเชื่อมต่อแน่นหนาเพื่อหลีกเลี่ยงปัญหาการสื่อสาร
สิ่งสำคัญที่ควรทราบคือ แม้ว่า ESP32 จะทำงานที่ระดับลอจิก 3.3V แต่ LCD1602 ต้องใช้ 5V เพื่อการทำงานที่ถูกต้อง ดังนั้น ตรวจสอบให้แน่ใจว่าคุณใช้แหล่งจ่ายแรงดันไฟฟ้าที่ถูกต้องเพื่อหลีกเลี่ยงความเสียหายต่อ LCD หากคุณใช้ขนาด LCD ที่แตกต่างกัน ให้ปรับการเดินสายไฟตามที่อยู่ I2C และข้อกำหนดเฉพาะ
ตัวอย่างโค้ดและคำอธิบาย
ในโค้ด เราเริ่มต้นด้วยการรวมไลบรารีที่จำเป็นสำหรับการสื่อสาร I2C และ LCD เราสร้างอินสแตนซ์ของ LCD โดยใช้ที่อยู่ I2C 0x27 และระบุว่ามี 16 คอลัมน์และ 2 แถว
#include
#include
LiquidCrystal_I2C lcd(0x27,16,2); // กำหนดที่อยู่ LCD เป็น 0x27 สำหรับจอแสดงผล 16 ตัวอักษรและ 2 บรรทัด
การตั้งค่านี้ช่วยให้เราควบคุม LCD ได้อย่างง่ายดาย ในฟังก์ชัน setup() เราจะเริ่มต้น LCD และเปิดไฟแบ็คไลท์ จากนั้นพิมพ์ข้อความต้อนรับ
void setup()
{
lcd.init(); // เริ่มต้นการทำงานของ LCD
lcd.backlight(); // เปิดไฟแบ็คไลท์ของ LCD
lcd.print("Hello, world!"); // พิมพ์ข้อความลงบน LCD
delay(3000);
}
ในฟังก์ชัน loop() เราจะอัปเดตจอแสดงผลอย่างต่อเนื่องโดยการล้างหน้าจอ ตั้งตำแหน่งเคอร์เซอร์ และพิมพ์ค่าตัวนับปัจจุบัน ซึ่งแสดงให้เห็นว่า LCD สามารถแสดงข้อมูลที่เปลี่ยนแปลงได้แบบไดนามิก
void loop()
{
lcd.clear();
lcd.setCursor(0, 0); // ตั้งตำแหน่งเคอร์เซอร์ไปที่แถวแรกและคอลัมน์แรก (0, 0)
lcd.print("COUNT: ");
lcd.print(count); // พิมพ์ค่าปัจจุบันของตัวแปร count
delay(1000);
count++; // เพิ่มค่าตัวนับขึ้น 1
}
โค้ดเต็มจะโหลดด้านล่างบทความนี้ ซึ่งคุณสามารถดูการใช้งานที่สมบูรณ์และฟังก์ชันเพิ่มเติมใดๆ ที่เพิ่มสำหรับโปรเจกต์ของคุณ
การสาธิต / สิ่งที่คาดหวัง
เมื่อเชื่อมต่อทุกอย่างเรียบร้อยและอัปโหลดโค้ดแล้ว LCD ควรแสดง "Hello, world!" เป็นเวลา 3 วินาทีก่อนที่จะเริ่มตัวนับที่เพิ่มขึ้นทุกวินาที คุณสามารถปรับความคมชัดโดยใช้โพเทนชิโอมิเตอร์เพื่อให้แน่ใจว่าข้อความอ่านง่าย (ในวิดีโอที่ 08:45)
หากคุณพบปัญหาใดๆ ให้ตรวจสอบการเชื่อมต่อสายไฟและตรวจสอบให้แน่ใจว่าใช้ที่อยู่ I2C ที่ถูกต้อง ข้อผิดพลาดทั่วไปคือการไม่จับคู่ที่อยู่ I2C ของ LCD กับที่ตั้งไว้ในโค้ด ซึ่งอาจทำให้จอแสดงผลทำงานไม่ถูกต้อง
ไทม์สแตมป์ในวิดีโอ
00:00 เริ่มต้น
1:47 แนะนำ LCD
3:26 หน้าคู่มือเอกสาร
5:06 วิธีเดินสายไฟ LCD กับ ESP32
9:07 การเลือกบอร์ด ESP32 และพอร์ต COMP ใน Arduino
8:51 การติดตั้งไลบรารี LCD
10:06 การหาที่อยู่ I2C สำหรับ LCD
14:00 อธิบายโค้ด Arduino
17:50 การสาธิต
20:54 การใช้ LCD2004 กับ ESP32
22:58 LCD1602 สีเขียวดีกว่าสีน้ำเงิน
ภาพ
ESP32_11-5-l2C.MOV_snapshot_00.02.763
SunFounder-ESP32-Lesson-11-LCD1602.mp4_snapshot_20.23.926
ESP32-11_LCD-wiring
ESP32-11_LCD-wiring-schematic
ESP32_11-5-l2C.MOV_snapshot_00.02.763
SunFounder-ESP32-Lesson-11-LCD1602.mp4_snapshot_20.23.926
ESP32-11_LCD-wiring-schematic
รหัส
810-ESP32 Tutorial 11/55- Arduino code for LCD using ESP32
ภาษา: C++
View code
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
//SDA->21,SCL->22
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
int count = 0;
void setup()
{
lcd.init();// initialize the lcd
lcd.backlight(); // Turns on the LCD backlight.
lcd.print("Hello, world!"); // Print a message to the LCD.
delay(3000);
}
void loop()
{
lcd.clear();
lcd.setCursor(0, 0); // Sets the cursor position to the first row and first column (0, 0).
lcd.print("COUNT: ");
lcd.print(count); // Prints the current value of the count variable.
delay(1000);
count++; // Increments the counter by 1.
}
แหล่งข้อมูลและเอกสารอ้างอิง
ไฟล์📁
ไม่มีไฟล์ที่พร้อมใช้งาน