- วัสดุที่จำเป็น
- แนะนำสั้น ๆ เกี่ยวกับจอแสดงผล LCD แบบ Dot matrix 16 × 2
- ADC ใน TIVA Launchpad
- แผนภาพวงจรและการเชื่อมต่อ
- การเขียนโปรแกรม TIVA TM4C Launchpad สำหรับ LCD โดยใช้ Energia IDE
- จอ LCD 16x2 พร้อม TIVA Launchpad
ในบทช่วยสอนก่อนหน้านี้เราเริ่มต้นด้วยการเรียนรู้เกี่ยวกับ TIVA TM4C Launchpad และวิธีควบคุมพินอินพุตและเอาต์พุตดิจิทัลโดยใช้ Energia IDE ตอนนี้ในบทช่วยสอนนี้เราจะเรียนรู้เกี่ยวกับการเชื่อมต่อของจอ LCD 16 × 2 Dot matrix กับบอร์ดนี้เพื่อแสดงข้อมูลที่เป็นประโยชน์และข้อมูลเซ็นเซอร์
จอ LCD 16x2 เป็นสิ่งที่พวกเราส่วนใหญ่จะเจอผ่าน PCO สาธารณะหรือใช้ในโครงการอิเล็กทรอนิกส์อื่น ๆ 16x2 LCD เป็นโมดูลการแสดงผลต้นทุนต่ำซึ่งสะดวกมากสำหรับแอปพลิเคชั่นอิเล็กทรอนิกส์ใด ๆ ในการแสดงข้อมูลหรือข้อมูลการแก้ไขจุดบกพร่องอื่น ๆ ดังนั้นที่นี่เรามีการเชื่อมต่อจอแสดงผล LCD 16x2 กับ TIVA C Series TM4C123G LaunchPad ที่นี่เราจะแสดงค่า ADC และระดับแรงดันไฟฟ้าบนจอ LCD โพเทนชิออมิเตอร์ถูกแนบมาเพื่อเปลี่ยนค่า ADC เรียนรู้เพิ่มเติมเกี่ยวกับจอ LCD 16x2 และหมุดที่นี่
วัสดุที่จำเป็น
- TIVA TM4C LaunchPad จาก Texas Instruments
- จอ LCD 16 × 2 Dot matrix
- การเชื่อมต่อสายไฟ
แนะนำสั้น ๆ เกี่ยวกับจอแสดงผล LCD แบบ Dot matrix 16 × 2
อย่างที่บอกไปก่อนหน้านี้ Energia IDE มีไลบรารีที่สวยงามซึ่งทำให้การเชื่อมต่อกับชิ้นเค้กดังนั้นจึงไม่จำเป็นต้องรู้อะไรเกี่ยวกับโมดูลการแสดงผล แต่มันจะไม่น่าสนใจที่จะแสดงสิ่งที่เราใช้ !!
ชื่อ 16 × 2 หมายความว่าจอแสดงผลมี 16 คอลัมน์และ 2 แถวซึ่งรวมกัน (16 * 2) เป็น 32 ช่อง กล่องเดียวจะมีลักษณะดังนี้ในภาพด้านล่าง
กล่องเดียวมี 40 พิกเซล (จุด) โดยมีลำดับเมทริกซ์เป็น 5 แถวและ 8 คอลัมน์โดย 40 พิกเซลเหล่านี้รวมกันเป็นหนึ่งอักขระ ในทำนองเดียวกันสามารถแสดงอักขระ 32 ตัวโดยใช้กล่องทั้งหมด ตอนนี้ให้ดูที่ pinouts
LCD มีทั้งหมด 16 พินดังที่แสดงไว้ด้านบนสามารถแบ่งออกเป็นสี่กลุ่มดังนี้
พินต้นทาง (1, 2 และ 3): พินเหล่านี้ให้แหล่งพลังงานและระดับคอนทราสต์สำหรับจอแสดงผล
พินควบคุม (4, 5 และ 6):พินเหล่านี้ตั้งค่า / ควบคุมรีจิสเตอร์ใน IC เชื่อมต่อ LCD (สามารถดูข้อมูลเพิ่มเติมได้ในลิงค์ด้านล่าง)
หมุดข้อมูล / คำสั่ง (7 ถึง 14):หมุดเหล่านี้ให้ข้อมูลของข้อมูลที่ควรแสดงบนจอ LCD
หมุด LED (15 และ 16):หมุดเหล่านี้ใช้เพื่อเรืองแสงด้านหลังของ LCD หากจำเป็น (อุปกรณ์เสริม)
จาก 16 พินทั้งหมดนี้จำเป็นต้องใช้เพียง 10 พินเพื่อการทำงานที่เหมาะสมของ LCD หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับจอแสดงผล LCD เหล่านี้ให้ข้ามไปที่บทความ LCD
ตรวจสอบการเชื่อมต่อของจอ LCD 16x2 กับไมโครคอนโทรลเลอร์อื่น ๆ อีกมากมาย
- การเชื่อมต่อ LCD 16x2 กับไมโครคอนโทรลเลอร์ Atmega16 AVR ในโหมด 4 บิต
- การเชื่อมต่อ LCD กับไมโครคอนโทรลเลอร์ PIC โดยใช้ MPLABX และ XC8
- การเชื่อมต่อ LCD 16x2 กับ STM32F103C8T6
- การเชื่อมต่อ LCD กับ MSP430G2 LaunchPad
- การเชื่อมต่อ LCD กับไมโครคอนโทรลเลอร์ 8051
- การเชื่อมต่อ LCD 16x2 กับ Arduino
- 16x2 LCD เชื่อมต่อกับ Raspberry Pi โดยใช้ Python
ADC ใน TIVA Launchpad
โพเทนชิออมิเตอร์ให้เอาต์พุตแบบอะนาล็อกดังนั้นจึงไม่สามารถเชื่อมต่อกับพินดิจิทัลของ Launchpad ได้ ดังนั้นหมุดอะนาล็อกหรือ ADC ของ MCU จึงถูกใช้เพื่อเชื่อมต่อเซ็นเซอร์ใด ๆ ที่มีเอาต์พุตเป็นแบบอะนาล็อก TIVA TM4C มีช่อง ADC 2 ช่องพร้อมเอาต์พุต 12 บิตซึ่งหมายความว่าค่าอะนาล็อกจากเซ็นเซอร์หรือโพเทนชิออมิเตอร์สามารถแมปได้ระหว่าง 0 ถึง 2 ^ 12 (4096) เพื่อแปลงเป็นค่าดิจิทัล หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการแปลงอนาล็อกเป็นดิจิตอลในไมโครคอนโทรลเลอร์ให้ไปที่ลิงค์
มีพินอินพุตอะนาล็อก 12 พิน (A0-A11) ใน TIVA Launchpadดังแสดงในภาพด้านล่าง
แผนภาพวงจรและการเชื่อมต่อ
แผนภาพวงจรที่สมบูรณ์เพื่อ เชื่อมต่อกับจอ LCD 16 × 2 Dot matrix พร้อม TIVA Launchpad TM4C ดังแสดงด้านล่าง
ข้อ จำกัด ที่สำคัญอย่างหนึ่งในขณะที่เชื่อมต่อ LCD เหล่านี้คือแรงดันไฟฟ้าในการทำงาน จอแสดงผล LCD มีแรงดันไฟฟ้า + 5V ในขณะที่ TM4C ทำงานด้วย 3.6Vเท่านั้น โชคดีสำหรับเราที่พินข้อมูลของ IC อินเตอร์เฟส LCD (HD44780U) มีแรงดันไฟฟ้าที่ใช้งานได้กว้าง 2.7V ถึง 5.5V ดังนั้นเราจึงต้องกังวลเกี่ยวกับ Vdd (พิน 2) ของ LCD ในขณะที่พินข้อมูลสามารถทำงานได้แม้กับ 3.6V
โดยค่าเริ่มต้นบอร์ด TIVA จะไม่มีขา + 5V ดังนั้นควรใช้แหล่งจ่ายไฟภายนอกเพื่อให้LCDทำงานได้ ใช้แหล่งจ่ายไฟจากบอร์ด Arduino หรือใช้ตัวควบคุมแรงดันไฟฟ้า 7805 ตรวจสอบให้แน่ใจว่าได้เชื่อมต่อกราวด์ของแหล่งจ่ายไฟกับกราวด์ของบอร์ด TIVA
ด้านล่างนี้คือตารางแสดงการเชื่อมต่อระหว่าง LCD และ TIVA Launchpad
ชื่อพิน LCD | TIVA Launchpad |
Vss | พื้น |
Vdd | + แหล่งจ่ายไฟ 5V |
อาร์เอส | Pin PC_6 ของ TIVA |
R / W | พื้น |
เปิดใช้งาน | Pin PB_7 ของ TIVA |
D4 | ตรึง PA_2 ของ TIVA |
D5 | Pin PA_3 ของ TIVA |
D6 | Pin PA_4 ของ TIVA |
D7 | Pin PB_6 ของ TIVA |
หากต้องการแสดงค่าโพเทนชิออมิเตอร์บน LCD ให้เชื่อมต่อเอาท์พุท Pot กับขาอะนาล็อก (PE2) ใด ๆ
การเขียนโปรแกรม TIVA TM4C Launchpad สำหรับ LCD โดยใช้ Energia IDE
ก่อนดำเนินการตามคำอธิบายให้จดบันทึกหมุดที่ใช้ในโครงการนี้ ดูแผนภาพวงจรและแผนภาพพินเอาต์ TIVA ที่ระบุไว้ด้านบน โค้ดที่สมบูรณ์พร้อมวิดีโอที่ใช้งานได้แนบท้ายบทช่วยสอนนี้
โดยค่าเริ่มต้น Energia IDE จะมาพร้อมกับ Library สำหรับ 16x2 LCD (LiquidCrystal) หากไม่มีให้ดาวน์โหลดจากลิงก์ github นี้และวางลงในโฟลเดอร์ libraries ของ Energia IDE
จากนั้นเริ่มโปรแกรมโดยรวมไลบรารีสำหรับ LCD และกำหนดพินสำหรับมัน
# รวม
ขั้นตอนต่อไปคือการ พูดถึงพินที่เชื่อมต่อ กับLCDตามที่เราได้ตั้งชื่อไว้แล้วโดยใช้ #define ตอนนี้เราสามารถพูดถึงชื่อของพิน LCD ได้ ตรวจสอบให้แน่ใจว่าปฏิบัติตามคำสั่งเดียวกัน
LiquidCrystal LCD (RS, EN, D4, D5, D6, D7);
มีจอ LCD หลายประเภทที่มีขนาดและลักษณะแตกต่างกันไปดังนั้นใน ฟังก์ชัน void setup () ให้ระบุประเภทของ LCD ที่คุณใช้ในโปรเจ็กต์ก่อน ที่นี่เราใช้จอ LCD 16x2
lcd.begin (16, 2);
หากต้องการพิมพ์บางอย่างบน LCD ให้พูดถึงสองสิ่งในโปรแกรม หนึ่งคือตำแหน่งของข้อความที่สามารถกล่าวถึงได้โดยใช้บรรทัด lcd.setCursor () และอื่น ๆ คือเนื้อหาที่จะพิมพ์ซึ่งสามารถกล่าวถึงโดย lcd.print () ที่นี่เรามีการตั้งค่าเคอร์เซอร์ไป 1 เซนต์ แถวและ 1 เซนต์ คอลัมน์
lcd.setCursor (0,0);
ในทำนองเดียวกันเราสามารถทำได้เช่นกัน
lcd.setCursor (0, 1); // เพื่อตั้งค่าเคอร์เซอร์เป็นคอลัมน์ที่ 1 แถวที่ 2
เช่นเดียวกับการลบไวท์บอร์ดหลังจากเขียนลงไปแล้ว ควรลบ LCD เมื่อมีสิ่งที่เขียนลงไป ซึ่งสามารถทำได้โดยใช้บรรทัดด้านล่าง
lcd.clear ();
ในฟังก์ชัน void loop () ให้ใช้ค่า pot โดยใช้ฟังก์ชัน analogRead () และเก็บค่านี้ไว้ในตัวแปรอื่นจากนั้นแสดงค่านี้
sensorValue = analogRead (sensorPin); lcd.setCursor (0, 0); lcd.print ("ค่า ADC:"); lcd.setCursor (10, 0); lcd.print (sensorValue);
ตอนนี้ให้แปลงค่า ADC นี้เป็นแรงดันไฟฟ้าเพียงแค่คูณด้วย 3.3 เนื่องจากเป็นแรงดันไฟฟ้าสูงสุดที่หมุดบอร์ด TIVA ยอมรับได้ จากนั้นหารค่าคูณด้วย 4096
lcd.setCursor (0, 1); lcd.print ("แรงดันไฟฟ้า:"); แรงดันไฟฟ้า = (sensorValue * 3.3) / 4096; lcd.setCursor (10, 1); lcd.print (แรงดันไฟฟ้า);
โปรแกรมที่สมบูรณ์สามารถพบได้ในตอนท้าย
จอ LCD 16x2 พร้อม TIVA Launchpad
เมื่อฮาร์ดแวร์และรหัสพร้อมแล้วให้เชื่อมต่อบอร์ด TIVA เข้ากับคอมพิวเตอร์และอัปโหลดรหัสลงในบอร์ด ทำตามบทช่วยสอนก่อนหน้านี้เพื่อเรียนรู้วิธีการอัปโหลดโค้ดใน TIVA Launchpad
เมื่ออัปโหลดโค้ดแล้วคุณจะเห็นหน้าจอแสดงสิ่งต่อไปนี้
ตอนนี้เพียงแค่หมุนโพเทนชิออมิเตอร์เพื่อเปลี่ยนค่า ADC และคุณจะเห็นว่าค่าแรงดันไฟฟ้าที่สอดคล้องกันจะแตกต่างกันไปดังที่แสดงในภาพด้านล่าง
คุณสามารถดู โค้ดทั้งหมดและวิดีโอโดยละเอียดได้ด้านล่าง ลองเปลี่ยนข้อความที่แสดงบนจอ LCD