หน้าจอ LCD: ทุกสิ่งที่คุณจำเป็นต้องรู้

หน้าจอ LCD

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

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

แผง LCD คืออะไร?

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

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

นอกจากนี้หากคุณสังเกตเห็น เมื่อคุณแตะหนึ่งในหน้าจอเหล่านี้ ภาพเสียรูปทรงและมีคราบดำชนิดหนึ่งปรากฏขึ้นเมื่อกดนั่นเป็นเพราะคุณออกแรงกดคริสตัลเหลวและไม่แนะนำให้ทำเช่นนั้น ... คุณอาจได้สีของหน้าจอที่มีคุณภาพต่ำลงการกระจายแสงที่ไม่สม่ำเสมอ หรือแม้แต่พิกเซลที่ตายแล้ว (จุดดำหรือพื้นที่บนหน้าจอที่ไม่หายไป)

หน้าจอ LCD สำหรับ Arduino และ Raspberry Pi

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

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

เช่น คุณสามารถซื้อได้จาก Adafruit ใน Amazonซึ่งเป็นหนึ่งในคีย์บอร์ดที่ได้รับความนิยมมากที่สุดและมีความเป็นไปได้ในการแสดงอักขระได้สูงสุด 16 ตัวในแต่ละบรรทัดสองบรรทัด และยังมี 20 × 4 หรืออะไรที่สูงกว่านั้นและสีหลายนิ้วเพื่อแสดงภาพที่ซับซ้อนมากขึ้น.

สำหรับหน้าจอ LCD ของ Adafruit 16 × 2 คุณสามารถดูเอกสารข้อมูลนี้...

สำหรับ arduino อาจจะง่ายกว่าแบบที่ดีกว่า หน้าจอ LCD 16x2 ไม่มีแป้นพิมพ์. หากคุณดูที่บอร์ดนี้จะมีหมุด 16 ตัวที่ด้านหลัง หากคุณนำกระดานมาพลิกคว่ำและดูหมุดจากซ้ายไปขวาแสดงว่าคุณมีหมุด:

  • Pin 16: GND สำหรับแบ็คไลท์
  • Pin 15: Vcc สำหรับแบ็คไลท์
  • พิน 7-14: 8 บิต (8 พินถัดไป) เพื่อส่งข้อมูลที่จะแสดงบนหน้าจอ
  • Pin 6: อ่านและเขียนการซิงค์
  • Pin 5. R / W (เขียนและอ่านข้อมูลและคำสั่ง)
  • Pin 4: RS (ตัวเลือกระหว่างคำสั่งและข้อมูล)
  • พิน 3: การควบคุมคอนทราสต์
  • Pin 2: Vcc ของ 5v สำหรับกำลังไฟ
  • Pin 1: GND (0v) สำหรับกำลังไฟ

โปรดจำไว้ว่าเมื่อคุณวางไว้ในตำแหน่งที่ถูกต้องหมุดจะกลับด้าน ...

บูรณาการกับ Arduino

แผนภาพการเชื่อมต่อ LCD 16x2 ถึง Arduino Uno

ไปยัง เชื่อมต่อกับ arduino ไม่ซับซ้อนเกินไปคุณต้องพิจารณารวมตัวต้านทาน 220 โอห์มเพื่อควบคุมแรงดันไฟฟ้าขาเข้าสำหรับกำลังไฟหน้าจอและโพเทนชิออมิเตอร์เพื่อปรับความคมชัดของหน้าจอ จากนั้นเชื่อมต่อแต่ละพินเข้ากับบอร์ด Arduino อย่างเหมาะสมเท่านี้ก็เสร็จเรียบร้อย คุณสามารถดูภาพของ Fritzing ...

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

การเขียนโปรแกรมด้วย Arduino IDE

สำหรับการเขียนโปรแกรม คุณต้องคำนึงถึงลักษณะเฉพาะบางอย่าง โปรดทราบว่าคุณไม่เพียง แต่ต้องรู้วิธีการส่งข้อมูลเท่านั้น แต่ยังต้องย้ายข้อมูลวางไว้บนหน้าจอเป็นต้น และคุณควรใช้ไลบรารีที่เรียกว่า LiquidCrystal.hตราบเท่าที่หน้าจอ LCD ของคุณมีชิปเซ็ต Hitachi HD44780 ที่เข้ากันได้ คุณมีตัวอย่างโค้ดที่นี่:

#include <LiquidCrystal.h>

// Definimos las constantes
#define COLS 16 // Aqui va el num de columnas del LCD, 16 en nuestro caso
#define ROWS 2 // Aqui las filas x2
#define VELOCIDAD 200 // Velocidad a la que se movera el texto

// Indicamos los pines de la interfaz donde hayas conectado el LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

// Para el texto que se muestra
String texto_fila = "Ejemplo LCD";

void setup() {
  // Configura el monitor serie
  Serial.begin(9600);

  // Configurde filas y columnas
  lcd.begin(COLS, ROWS);
}

void loop() {

  // Tamaño del texto a mostrar
  int tam_texto=texto_fila.length();

  // Indicamos que la entrada de texto se hace por la izquierda
  for(int i=tam_texto; i>0 ; i--)
  {
    String texto = texto_fila.substring(i-1);

    // Limpia la pantalla para poder mostrar informacion diferente
    lcd.clear();

    //Situar el cursor en el lugar adecuado, en este caso al inicio
    lcd.setCursor(0, 0);

    // Escribimos el texto "Ejemplo LCD"
    lcd.print(texto);

    // Esperara la cantidad de milisegundos especificada, en este caso 200
    delay(VELOCIDAD);
  }

  // Desplazar el texto a la izquierda en primera fila
  for(int i=1; i<=16;i++) { 
    lcd.clear();
    lcd.setCursor(i, 0); 
    lcd.print(texto_fila); 
    delay(VELOCIDAD); } 
  // Desplazar el texto a izquierda en la segunda fila 
    for(int i=16;i>=1;i--)
  {
    lcd.clear();
    lcd.setCursor(i, 1);
    lcd.print(texto_fila);
    delay(VELOCIDAD);
  }
  for(int i=1; i<=tam_texto ; i++)
  {
    String texto = texto_fila.substring(i-1);
    lcd.clear();
    lcd.setCursor(0, 1);
    lcd.print(texto);
    delay(VELOCIDAD);
  }
}

ข้อมูลมากกว่านี้ - คู่มือการเขียนโปรแกรม Arduino (PDF ฟรี)


เป็นคนแรกที่จะแสดงความคิดเห็น

แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา