สารบัญ:
วีดีโอ: Scroll Single LCD Line: 4 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
ไลบรารีคริสตัลเหลวมีฟังก์ชันที่มีประโยชน์สองอย่าง scrollDisplayLeft() และ scrollDisplayRight() ฟังก์ชันเหล่านี้จะเลื่อนหน้าจอทั้งหมด นั่นคือเลื่อนทั้งสองบรรทัดบน LCD 1602 และทั้งสี่บรรทัดบน LCD 2004 สิ่งที่เรามักต้องการคือความสามารถในการเลื่อนหน้าจอเพียงบรรทัดเดียว แทนที่จะเลื่อนหน้าจอทั้งหมด
คำแนะนำนี้มีฟังก์ชันเพิ่มเติมสองฟังก์ชัน ได้แก่ scrollInFromRight (บรรทัดเพื่อแสดงข้อความ สตริงที่จะเลื่อน) และ scrollInFromLeft (บรรทัดเพื่อแสดงข้อความ สตริงที่จะเลื่อน) ฟังก์ชั่นทั้งสองนี้ที่เลื่อนเส้นเข้าสู่หน้าจอ LCD รวมกับสองฟังก์ชั่น, scrollLineRight (บรรทัดเพื่อแสดงข้อความ, สตริงที่จะเลื่อน) และ scrollLineLeft (บรรทัดเพื่อแสดงข้อความ, สตริงที่จะเลื่อน) จาก Instructable ก่อนหน้าของฉันซึ่งนำเสนอ ฟังก์ชันเพื่อเลื่อนเส้นออกจากหน้าจอ ช่วยให้เราควบคุมวิธีการนำเสนอหรือนำข้อความออกจากหน้าจอ LCD ได้อย่างมีประสิทธิภาพหลายวิธี
ขั้นตอนที่ 1: สิ่งที่จำเป็น
- จอแสดงผล LCD แบบสแตนด์อโลน 1602 หรือ 2004 หรือแผงป้องกัน LCD
-- ดูหมายเหตุด้านล่างเกี่ยวกับการใช้จอ LCD ปี 2004
- Arduino UNO R3 หรือโคลน
- สาย USB เพื่อเชื่อมต่อ Arduino กับคอมพิวเตอร์
- ครึ่งขนาด 400 คะแนนเสมอ, เขียงหั่นขนม
- Arduino IDE
- แพลตฟอร์มทดลอง (ไม่บังคับ แต่มีประโยชน์)
รายการที่จำเป็นคือหน้าจอ LCD ทั้งรุ่น 1602 หรือ 2004 [หากใช้ปี 2004 จะใช้งานได้โดยไม่มีปัญหาในการเลื่อนจากด้านขวาโดยเปลี่ยนฟังก์ชัน lcd.begin() เพื่อแสดงว่าคุณกำลังใช้ขนาด 20 ตัวอักษร x 4 บรรทัด แสดง. [หากต้องการเลื่อนเข้ามาจากด้านซ้ายโดยใช้จอแสดงผล 2004 จำเป็นต้องเขียนโค้ดใหม่ของฟังก์ชัน crolInFromLeft()] นอกจากจอ LCD คุณจะต้องใช้ Arduino UNO หรือโคลน, Arduino IDE และสาย USB เพื่อเชื่อมต่อ Arduino กับคอมพิวเตอร์
สามารถใช้แผงป้องกัน LCD แทนจอ LCD แบบสแตนด์อโลนที่แสดงไว้ที่นี่ หากเป็นกรณีนี้ จะต้องเปลี่ยนการกำหนดพินสำหรับ LCD ในแบบร่างด้านล่าง
- สำหรับจอ LCD 1602 อิสระ ฉันใช้การกำหนดพินต่อไปนี้ในสเก็ตช์ของฉัน:
// LiquidCrystal (rs, เปิดใช้งาน, d4, d5, d6, d7)
LiquidCrystal LCD (12, 11, 5, 4, 3, 2);
และรวมไลบรารี Liquid Crystal LiquidCrystal.h
- สำหรับแผงป้องกัน LCD ฉันใช้การกำหนดพินต่อไปนี้ในแบบสเก็ตช์ของฉัน และยังรวมไลบรารี Liquid Crystal LiquidCrystal.h ด้วย
// LiquidCrystal (rs, เปิดใช้งาน, d4, d5, d6, d7)
LiquidCrystal LCD (8, 13, 9, 4, 5, 6, 7);
ทั้งสองเส้นทางจะเรียกใช้โค้ดที่นี่ เช่น ตัวป้องกัน LCD หรือ LCD แบบสแตนด์อโลน มีการใช้จอ LCD แบบสแตนด์อโลน 1602 ในคำแนะนำนี้ แต่ตามที่ระบุไว้สามารถใช้โล่ 1602 ได้เช่นกันหากคำนึงถึงการกำหนดพินที่แตกต่างกัน
ฉันใช้ “แพลตฟอร์มทดลอง” เพื่อเชื่อมต่อ Arduino UNO กับจุดผูก 400 จุด เขียงหั่นขนมครึ่งขนาด (ดูคำแนะนำของฉันก่อนหน้านี้ "แพลตฟอร์มทดลองสำหรับ Arduino UNO R3 วิธีเตรียมตัวสำหรับการใช้งาน ") อย่างไรก็ตาม ไม่จำเป็นต้องใช้แพลตฟอร์มทดลอง แม้ว่าสำหรับฉัน มันทำให้การเชื่อมต่อ LCD กับ UNO ทำได้ง่ายและรวดเร็วขึ้นมาก
การกำหนดที่ฉันใช้สำหรับเชื่อมต่อ LCD กับ UNO สามารถดูได้ที่ด้านบน
ขั้นตอนที่ 2: เชื่อมต่อ
LCD เสียบเข้ากับเขียงหั่นขนมแล้วต่อสายเชื่อมต่อจากเขียงหั่นขนมกับพินที่เหมาะสมบน Arduino (ดูขั้นตอนที่ 2 หากคุณมีคำถามเกี่ยวกับการเชื่อมต่อที่ฉันใช้)
ฉันชอบจอ LCD แบบสแตนด์อโลนสำหรับโปรเจ็กต์นี้มากกว่าโล่เพราะมันน่าพอใจสำหรับฉันมากกว่า และทำให้ฉันดูได้อย่างง่ายดายว่าพินใดบ้างที่สามารถใช้ได้ นอกจากนี้ยังช่วยให้ฉันใช้โพเทนชิออมิเตอร์ที่มีลูกบิด แทนที่จะเป็นโพเทนชิออมิเตอร์ของโล่ซึ่งต้องปรับด้วยไขควง
จอ LCD แบบสแตนด์อโลนต้องใช้โพเทนชิออมิเตอร์ 10k โอห์มแยกต่างหาก ดังที่กล่าวไว้ข้างต้น ฉันใช้อันที่มีลูกบิดซึ่งมีที่ปัดน้ำฝนเชื่อมต่อกับพิน LCD ที่สาม (นับจากด้านขวาโดยให้หมุด LCD หันเข้าหาคุณ) โพเทนชิออมิเตอร์ใช้เพื่อควบคุมความคมชัดของ LCD การเชื่อมต่อจะเหมือนกันสำหรับ 1602 และ 2004 อย่างไรก็ตาม คำสั่ง lcd.begin(16, 2) จำเป็นต้องเปลี่ยนในภาพร่างเป็น lcd.begin(20, 4) เพื่อแสดงว่า LCD ของเราเปลี่ยนจาก 16 อักขระสองบรรทัดแสดงเป็น 20 อักขระสี่บรรทัดหนึ่ง
ดูรูปที่แนบมาแสดงการเชื่อมต่อที่ฉันใช้ รวมถึงแพลตฟอร์มทดลองและโพเทนชิออมิเตอร์ 10k
ขั้นตอนที่ 3: ร่าง
เพียงป้อนภาพร่างที่แนบมาลงใน Arduino IDE โปรดจำไว้ว่าไซต์ที่สอนได้มักจะลบเครื่องหมายและข้อความที่มากกว่าและน้อยกว่าทั้งหมดออก ดังนั้น ตรวจสอบให้แน่ใจและใส่ข้อความ #include LiquidCrystal.h และใส่คำว่า LiquidCrystal.h ไว้ในเครื่องหมายที่มากกว่าและน้อยกว่า
// สเก็ตช์เพื่อเลื่อนตัวอักษรลงบนหน้าจอ LCD
#include //ดูหมายเหตุในข้อความเกี่ยวกับสิ่งที่จำเป็นที่นี่ เช่น LiquidCrystal.h ที่อยู่ภายใน
// มากกว่าและน้อยกว่าสัญลักษณ์
// เว็บไซต์นี้มักจะลบมากกว่าและน้อยกว่าสัญลักษณ์และข้อความระหว่างพวกเขา
// LiquidCrystal (rs, เปิดใช้งาน, d4, d5, d6, d7)
LiquidCrystal LCD (12, 11, 5, 4, 3, 2);
// ประกาศ LCD เป็น LiquidCrystal Object
int ผม = 0;
int j = 0;
int k = 0;
int delayTime2 = 350; // หน่วงเวลาระหว่างกะ
เป็นโมฆะ scrollInFromRight (บรรทัด int, char str1 ) {
// เขียนโดย R. Jordan Kreindler มิถุนายน 2016
ผม = strlen(str1);
สำหรับ (j = 16; j >= 0; j--) {
lcd.setCursor(0, เส้น);
สำหรับ (k = 0; k <= 15; k++) {
lcd.print(" "); // เคลียร์บรรทัด
}
lcd.setCursor(j, เส้น);
lcd.print(str1);
ล่าช้า (delayTime2);
}
}
ถือเป็นโมฆะ scrollInFromLeft (บรรทัด int ถ่าน str1 ) {
// เขียนโดย R. Jordan Kreindler มิถุนายน 2016
ผม = 40 - strlen(str1);
เส้น = เส้น - 1;
สำหรับ (j = i; j <= i + 16; j++) {
สำหรับ (k = 0; k <= 15; k++) {
lcd.print(" "); // เคลียร์บรรทัด
}
lcd.setCursor(j, เส้น);
lcd.print(str1);
ล่าช้า (delayTime2);
}
}
การตั้งค่าเป็นโมฆะ () {
Serial.begin(9600);
Serial.println("กำลังเริ่มการทดสอบ …");
lcd.begin(16, 2);
lcd.clear();
lcd.print("ทดสอบเท่านั้น");
}
วงเป็นโมฆะ () {
lcd.clear();
scrollInFromRight(0, "Line1 จากขวา");
scrollInFromRight(1, "Line2 จากขวา");
lcd.clear();
scrollInFromLeft(0, "Line1 จากซ้าย");
scrollInFromLeft(1, "Line2 จากซ้าย");
lcd.clear();
scrollInFromRight(0, "Line1 จากขวา");
scrollInFromLeft(1, "Line2 จากซ้าย");
lcd.clear();
}
สองฟังก์ชัน: scrollInFromRight (บรรทัดเพื่อแสดงข้อความ สตริงที่จะเลื่อน) และ scrollInFromLeft (บรรทัดเพื่อแสดงข้อความ สตริงที่จะเลื่อน) สามารถย้ายไปยังภาพร่างของคุณเพื่อควบคุมเส้นที่เลื่อนไปบนหน้าจอ LCD ฟังก์ชันเหล่านี้เป็นวิธีที่สวยงามในการย้ายข้อความใหม่ไปยังหน้าจอ
เมื่อรวมกับฟังก์ชันทั้งสองในภาพร่างที่มีอยู่ในคำสั่ง " เลื่อนหน้าจอ LCD หนึ่งบรรทัดไปทางซ้ายหรือขวา วิธีการ " ฟังก์ชันทั้งสี่นี้มอบวิธีการเลื่อนข้อความเข้าและออกจากจอ LCD ที่สวยงาม ฟังก์ชันเหล่านี้ช่วยให้คุณสามารถเลื่อนข้อความทีละบรรทัด และไม่ต้องการให้เลื่อนหน้าจอทั้งหมดเช่นเดียวกับฟังก์ชัน scrollDisplayLeft() และ scrollDisplayRight()
ความสามารถในการเลื่อนนี้ช่วยให้เราสามารถนำเสนอบรรทัดได้นานขึ้นซึ่งปกติแล้วจะสามารถแสดงได้ นั่นคือ สำหรับจอแสดงผล 1602 เราไม่ได้จำกัดอักขระเพียง 16 ตัวต่อบรรทัด (แม้ว่าจะแสดงเพียง 16 ตัวในแต่ละครั้ง) และสำหรับปี 2547 เราจะไม่จำกัดอักขระ 20 ตัวต่อบรรทัด
คุณอาจต้องการปรับเวลาแสดงผลระหว่างการเลื่อนเพื่อให้ตรงกับความต้องการของคุณ
ขั้นตอนที่ 4: หลังจากนั้น
นั่นคือทั้งหมดที่มีให้ ฟังก์ชั่นเหล่านี้และทั้งสองจาก Instructable ก่อนหน้าของฉันสามารถเพิ่มลงในภาพร่างใด ๆ ที่คุณมีที่ใช้ LCD และแสดงข้อความ ดังที่กล่าวไว้ ความสามารถในการใช้บรรทัดที่ยาวขึ้นเป็นข้อดีที่ชัดเจนซึ่งเป็นไปได้โดยการใช้การเลื่อน
หากคุณต้องการติดต่อฉันหากมีคำถามหรือข้อมูลเพิ่มเติม หรือต้องการเพิ่มพูนความรู้ในด้านที่นำเสนอ สามารถติดต่อฉันได้ที่ [email protected] (โปรดแทนที่ 'i' ตัวที่สองด้วย 'e' เพื่อติดต่อฉัน
แนะนำ:
วิธีควบคุมหลอดไฟโดยใช้ Arduino UNO และ Single Channel 5V Solid State Relay Module: 3 ขั้นตอน
วิธีควบคุมหลอดไฟโดยใช้ Arduino UNO และโมดูลโซลิดสเตตรีเลย์ 5V แบบช่องสัญญาณเดี่ยว: คำอธิบาย:เมื่อเปรียบเทียบกับรีเลย์ทางกลแบบเดิม Solid State Relay (SSR) มีข้อดีหลายประการ: มีอายุการใช้งานยาวนานขึ้นด้วยการเปิด/ปิดที่สูงกว่ามาก ปิดความเร็วและไม่มีเสียงรบกวน นอกจากนี้ยังมีความทนทานต่อแรงสั่นสะเทือนและกลไกที่ดีกว่า
6283 IC Single Channel Audio Amplifier Board การเดินสายไฟ: 8 ขั้นตอน
6283 IC Single Channel Audio Amplifier Board Wiring: Hii friend, วันนี้ฉันจะบอกคุณว่าเราจะเชื่อมต่อสายไฟของลำโพง, สายเคเบิล aux, แหล่งจ่ายไฟและโพเทนชิออมิเตอร์ระดับเสียงใน 6283 IC บอร์ดเครื่องขยายเสียงช่องเดียวได้อย่างไร บอร์ดเครื่องขยายเสียงนี้จะให้ 30W กำลังขับ มาเลย
Raspberry Pi Slack Scroll Bot!: 10 ขั้นตอน
Raspberry Pi Slack Scroll Bot!: โครงการนี้รวม Raspberry Pi กับชุด Pimoroni Scroll Bot (แก้ไขด้วยปุ่ม), Slack และ IFTT สำหรับการแจ้งเตือนด้วยภาพและเสียงเมื่อวิดีโอ youtube ถูกโพสต์ไปยังการสมัครรับข้อมูล! การปรับเปลี่ยนปุ่มในชุดเป็นตัวเลือกเสริม เนื่องจาก
ARMTRONIX WIFI SINGLE Dimmer Board V0.2: 3 ขั้นตอน (พร้อมรูปภาพ)
ARMTRONIX WIFI SINGLE Dimmer Board V0.2: Armtronix Wifi dimmer เป็นบอร์ด IOT ที่ออกแบบมาสำหรับระบบอัตโนมัติในบ้าน คุณสมบัติของบอร์ดคือ: การควบคุมแบบไร้สาย ฟอร์มแฟคเตอร์ขนาดเล็ก บนบอร์ดจ่ายไฟ AC เป็น DC 1y 230VAC ถึง 5V DC DC virtual switch ขนาดของบอร์ดคือ 61.50
Desktop Scroll Wheel และ Volume Control!: 8 ขั้นตอน (พร้อมรูปภาพ)
Desktop Scroll Wheel และ Volume Control!: สร้างโปรเจ็กต์สุดสัปดาห์ของนิตยสาร 3/4/09 พื้นหลังบางส่วนเมื่อเร็วๆ นี้ ฉันได้อ่านบล็อกต่างๆ มากมาย ในแต่ละวัน ฉันจะอ่านโพสต์ล่าสุดเกี่ยวกับ engadget, lifehacker, hackaday, BBG และบล็อก MAKE: ปัญหาสำหรับฉันเกิดขึ้นเมื่อฉันรู้ว่าโอ