สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ขณะทำงานในโครงการใหม่ ฉันพบปัญหาที่ฉันต้องการควบคุมแสงพื้นหลังและความคมชัดของจอแสดงผล 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
อย่างที่คุณเห็น ดูเหมือนว่าจะใช้งานได้ แต่จอแสดงผลกะพริบทั้งหมด เหตุผลก็คือจอแสดงผลคาดหวังแรงดันไฟฟ้าคงที่ แต่กลับได้รับสัญญาณ PWM จาก Arduino ในการแก้ไขปัญหานี้ เราได้เพิ่มตัวกรอง RC ความถี่ต่ำผ่านที่ง่ายมาก เพื่อให้สามารถกรองแรงดันเอาต์พุตได้ และเราจะได้เอาต์พุตที่ค่อนข้างคงที่
ตัวกรองความถี่ต่ำประกอบด้วยตัวต้านทาน 1 kOhm ที่ด้านหนึ่งเชื่อมต่อกับพิน 6 บน Arduino แล้วต่อ V0 บนจอแสดงผล ตัวเก็บประจุ 10 uF เชื่อมต่อกับด้านลบกับกราวด์และขั้วบวกเชื่อมต่อกับพิน V0 ตัวต้านทานชาร์จตัวเก็บประจุด้วยพัลส์ PWM และขึ้นอยู่กับรอบการทำงานที่ชาร์จด้วยแรงดันไฟฟ้าที่ต่างกัน
ขั้นตอนที่ 4: ควบคุมแสงด้านหลังโดยทางโปรแกรม
คล้ายกับที่เราตั้งค่าคอนทราสต์ เราสามารถทำเช่นเดียวกันกับพินแบ็คไลท์ แต่ไม่จำเป็นต้องเพิ่มฟิลเตอร์กรองความถี่ต่ำ เนื่องจากไฟ LED แบ็คไลท์ไม่สามารถมองเห็นได้ในขณะที่เปิดและปิดอย่างรวดเร็ว
ขั้นตอนที่ 5: สนุก
ฉันหวังว่าเคล็ดลับง่ายๆ นี้จะช่วยคุณในโครงการต่อไป หากคุณชอบคำแนะนำนี้โปรดติดตามฉันและสมัครรับข้อมูลจากช่อง YouTube ของฉัน
ลิ้มรสรหัสบน YouTube!
ไชโย!