ฉันมีจอแสดงผลแอลซีดีมาตรฐาน 16x2 (ผมเชื่อว่ามันเป็น Hitachi HD44780 เข้ากันได้ - ดูข้อมูลสรุปและข้อกำหนดด้านล่าง) ติดยาเสพติดไปยัง Arduino Uno ใช้ 4 ข้อมูลหมุดตามที่อธิบายไว้ที่นี่แต่ผมได้เพิ่ม 2x 220ohm ต่อต้านในแบบคู่ขนาน (เช่น ตัวต้านทาน 110ohm) ที่ขา 16 (กราวด์แบ็คไลท์) และแทนที่ Pot ด้วยตัวต้านทานแบบสแตติกเพื่อสร้าง 4V บน Vo
ในระยะสั้น RW มีสายเข้ากับพื้นดินและ RS, เปิดใช้งานและ Data4-7 เชื่อมต่อกับหมุด Arduino ในขณะที่ข้อมูล 0-3 ลอยอยู่
ฉันมีสิ่งอื่น ๆ (เซ็นเซอร์ทรานซิสเตอร์ที่มี SSR optoisolated และรีเลย์ไฟเมนปุ่มบางปุ่ม) เชื่อมต่อกับหมุดต่าง ๆ บน Arduino รหัสที่ฉันใช้เขียนข้อความไปยังจอแสดงผลหลายครั้งต่อวินาทีและโดยปกติแล้วหน้าจอจะทำงานได้อย่างสมบูรณ์แบบ
อย่างไรก็ตามเมื่อรีเลย์ปิด (ใช้เวลาประมาณ 10 มิลลิแอมป์และถูกควบคุมโดยทรานซิสเตอร์ซึ่งจะถูกควบคุมจากขา Arduino หนึ่ง) บางครั้งจอ LCD จะอ่านไม่ออก มันจะยังคงสับสนอยู่โดยปกติจนกว่ารีเลย์จะปิดต่อไป แต่บางครั้งเมื่อรีเลย์เปิดขึ้นหรือหลังจากวงจรเปิด / ปิดอีกสองสามรอบเพื่อรีเซ็ต garbling เริ่มและหยุดในเวลาเดียวกันเสมอเมื่อรีเลย์เปิดหรือปิด
โดย "garbled" ฉันหมายถึงทุกครั้งที่ฉันเขียนมันหลังจากที่มันกลายเป็นอ่านไม่ออกแทนที่จะเขียนตัวอักษรภาษาอังกฤษฉันจะได้รับสตริงของตัวละครที่ฉันมักจะไม่สามารถระบุในแผ่นข้อมูล (แม้ว่าฉันจะทำได้) สตริงของอักขระที่อ่านไม่ออกนี้มีแนวโน้มที่จะเลื่อนไปทางซ้ายตามหน้าจอขณะที่ฉันเขียนข้อความใหม่ไปที่ LCD
ฉันมั่นใจว่าไม่ใช่ Arduino เองที่สับสนเนื่องจากฉันเขียนข้อความเดียวกันไปยังจอภาพ Serial ในเวลาเดียวกันและมันไม่อ่านไม่ออก
ฉันได้ทดลองใช้สาย RW pin ไปยังเอาต์พุต Arduino และ Data0-3 ลงกราวด์ แต่สิ่งนี้ไม่ช่วย ฉันใช้พลังงานทั้งอุปกรณ์ด้วยแบตเตอรี่ 9V หรือ USB และมันก็ไม่ได้ช่วยอะไร ฉันเปลี่ยนแบตเตอรี่ ... ไม่มีการเปลี่ยนแปลง
สิ่งเดียวที่ดูเหมือนว่าจะใช้งานได้คือไม่มีการเสียบปลั๊กโหลดเข้ากับรีเลย์ แต่นั่นก็เอาชนะวัตถุประสงค์ :-)
ฉันไม่มีเครื่องวิเคราะห์สัญญาณหรืออะไรที่ซับซ้อนกว่ามัลติมิเตอร์แล็ปท็อปและอาร์ดิโน ... ใครบ้างที่มีคำแนะนำในการช่วยฉันแก้ไขข้อบกพร่องนี้
แผ่นข้อมูลสรุป LCD: http://oomlout.com/LCDD/LCDD-SUMM-BC1602A.pdf
ข้อมูลจำเพาะของ LCD: http://oomlout.com/LCDD/LCDD-DATA-BC1602A.pdf
ตัวอย่างของข้อความที่อ่านไม่ออก: