สารบัญ:

1602 LCD Contrast Control จาก Arduino: 5 ขั้นตอน
1602 LCD Contrast Control จาก Arduino: 5 ขั้นตอน

วีดีโอ: 1602 LCD Contrast Control จาก Arduino: 5 ขั้นตอน

วีดีโอ: 1602 LCD Contrast Control จาก Arduino: 5 ขั้นตอน
วีดีโอ: ECON TV EP.2 - เขียนโปรแกรม Arduino แสดงผลบนจอ LCD 16x2 2024, พฤศจิกายน
Anonim
Image
Image
กรณีใช้งานทั่วไป
กรณีใช้งานทั่วไป

ขณะทำงานในโครงการใหม่ ฉันพบปัญหาที่ฉันต้องการควบคุมแสงพื้นหลังและความคมชัดของจอแสดงผล LCD 1602 ผ่าน Arduino แต่จอแสดงผลนั้นกะพริบจริงๆ

ขั้นตอนที่ 1: กรณีการใช้งานทั่วไป

กรณีใช้งานทั่วไป
กรณีใช้งานทั่วไป

ในกรณีการใช้งานทั่วไป คอนทราสต์ของจอแสดงผลจะถูกปรับผ่านตัวต้านทานแบบปรับได้ตามเอกสารข้อมูล ในกรณีเช่นนี้ เราสามารถปรับแรงดันไฟฟ้าที่เห็นบนพิน V0 ผ่านตัวต้านทานได้ และปรับความคมชัดตามนั้น ด้วย Arduino สิ่งที่ดีที่สุดที่เราสามารถส่งออกได้คือสัญญาณ PWM ที่มีวัฏจักรที่แตกต่างกัน แต่น่าเสียดายที่โมดูลไม่พอใจที่จะแสดงผล

ขั้นตอนที่ 2: รหัสที่ใช้ในตัวอย่าง

รหัสที่ใช้ในตัวอย่าง
รหัสที่ใช้ในตัวอย่าง
รหัสที่ใช้ในตัวอย่าง
รหัสที่ใช้ในตัวอย่าง

ก่อนที่จะเข้าสู่แผนผังเราจะแก้ไขปัญหานี้ได้อย่างไร ให้ฉันอธิบายโค้ดที่ฉันใช้อยู่

สิ่งแรกที่เราต้องทำคือการรวมไลบรารี่ Liquid Crystal เพื่อให้เราสามารถเชื่อมต่อกับจอแสดงผลได้ ต่อไป เราตั้งค่า LCD ด้วยหมุดที่เราเชื่อมต่อจอแสดงผลของเรา และนอกจากนี้ เรากำหนดพินที่เราเชื่อมต่อแบ็คไลท์และพินคอนทราสต์ของเราด้วย พินควบคุมคอนทราสต์บนจอแสดงผลคือ V0 และเชื่อมต่อกับพิน 6 บน Arduino และพินควบคุมแบ็คไลท์ถูกทำเครื่องหมายเป็น A และเนื่องจากโดยพื้นฐานแล้วนี่คือ LED จึงเชื่อมต่อผ่านตัวต้านทาน 220 โอห์มเพื่อพิน 10 บน Arduino.

ในฟังก์ชันการตั้งค่า เราตั้งค่าความสว่างบนจอแสดงผลเป็นค่าสูงสุดก่อน จากนั้นเราจะเริ่มสื่อสารกับ LCD เพื่อให้แน่ใจว่าทำงานได้อย่างถูกต้อง เราแสดงข้อความ "สวัสดีชาวโลก" และเรารอประมาณครึ่งวินาทีเพื่อให้เราสามารถตรวจสอบว่าผลลัพธ์นั้นใช้ได้

บ่อยครั้ง ขึ้นอยู่กับสถานะของพิน V0 คุณอาจประสบปัญหาไม่มีอะไรแสดงแม้ว่าความคาดหวังจะแตกต่างกัน เหตุผลก็คือค่าพินคอนทราสต์ หากตั้งค่าคอนทราสต์สูงเกินไป จอแสดงผลจะมองไม่เห็น เราจึงต้องลดความคมชัดลง

ในส่วนลูปของโค้ด เราจะล้างเนื้อหาของ LCD ก่อน และเนื่องจากเราจะเปลี่ยนความคมชัดโดยทางโปรแกรม เราจึงแสดงข้อความ และในลูป เราจะอัปเดตเอาต์พุตของพินและแสดงค่าปัจจุบันไปยังจอแสดงผลในแถวที่สอง

ขั้นตอนที่ 3: ใช้ Low Pass RC Filter

ใช้ตัวกรอง RC ความถี่ต่ำ
ใช้ตัวกรอง RC ความถี่ต่ำ
ใช้ตัวกรอง RC ความถี่ต่ำ
ใช้ตัวกรอง RC ความถี่ต่ำ
ใช้ตัวกรอง RC ความถี่ต่ำ
ใช้ตัวกรอง RC ความถี่ต่ำ

อย่างที่คุณเห็น ดูเหมือนว่าจะใช้งานได้ แต่จอแสดงผลกะพริบทั้งหมด เหตุผลก็คือจอแสดงผลคาดหวังแรงดันไฟฟ้าคงที่ แต่กลับได้รับสัญญาณ PWM จาก Arduino ในการแก้ไขปัญหานี้ เราได้เพิ่มตัวกรอง RC ความถี่ต่ำผ่านที่ง่ายมาก เพื่อให้สามารถกรองแรงดันเอาต์พุตได้ และเราจะได้เอาต์พุตที่ค่อนข้างคงที่

ตัวกรองความถี่ต่ำประกอบด้วยตัวต้านทาน 1 kOhm ที่ด้านหนึ่งเชื่อมต่อกับพิน 6 บน Arduino แล้วต่อ V0 บนจอแสดงผล ตัวเก็บประจุ 10 uF เชื่อมต่อกับด้านลบกับกราวด์และขั้วบวกเชื่อมต่อกับพิน V0 ตัวต้านทานชาร์จตัวเก็บประจุด้วยพัลส์ PWM และขึ้นอยู่กับรอบการทำงานที่ชาร์จด้วยแรงดันไฟฟ้าที่ต่างกัน

ขั้นตอนที่ 4: ควบคุมแสงด้านหลังโดยทางโปรแกรม

ควบคุมไฟด้านหลังโดยทางโปรแกรม
ควบคุมไฟด้านหลังโดยทางโปรแกรม

คล้ายกับที่เราตั้งค่าคอนทราสต์ เราสามารถทำเช่นเดียวกันกับพินแบ็คไลท์ แต่ไม่จำเป็นต้องเพิ่มฟิลเตอร์กรองความถี่ต่ำ เนื่องจากไฟ LED แบ็คไลท์ไม่สามารถมองเห็นได้ในขณะที่เปิดและปิดอย่างรวดเร็ว

ขั้นตอนที่ 5: สนุก

สนุก!
สนุก!

ฉันหวังว่าเคล็ดลับง่ายๆ นี้จะช่วยคุณในโครงการต่อไป หากคุณชอบคำแนะนำนี้โปรดติดตามฉันและสมัครรับข้อมูลจากช่อง YouTube ของฉัน

ลิ้มรสรหัสบน YouTube!

ไชโย!

แนะนำ: