lnwshop logo
  • ตอบกระทู้
  • ตั้งกระทู้ใหม่
QUOTE 

การใช้งานจอ LCD 16*2 แสดงชื่อ ตัวเลข สัญญาลักษณ์ For NOD MCU ESP8266 (ลง library ก่อนนะครับ)

เจ้าของร้าน
เจ้าของร้าน
9 เดือนที่ผ่านมา

#include <Wire.h>  // เรียกใช้งาน library Wire.h เพื่อรองรับการเชื่อมต่อแบบ I2C

#include <LiquidCrystal_PCF8574.h> // เรียกใช้งาน library LiquidCrystal_PCF8574.h เพื่อติดต่อ LCD 16x2 ในรูปแบบ I2C

 

LiquidCrystal_PCF8574 lcd(0x27);  // เรียกใช้ฟังค์ชั่นเริ่มต้น สำหรับการใช้งาน library LiquidCrystal_PCF8574.h ค่าเริ่มต้น ของ address ในที่นี่ = 0x27

int show;  // กำหนดตัว แปร show

 

void setup()

{

  Wire.begin(12, 14); // เรียกใช้ฟังค์ชั่น Wire.begin(SDA, SCL); เพื่อกำหนด ขา SDA และ SCL ใหม่ ** ค่าเริ่มต้นของ library จะเท่ากับ SCL = ขา5 SDA = ขา4

  lcd.begin(16, 2); // เริ่มต้นใช้งาน library ของ LiquidCrystal_PCF8574.h หลังจากที่ กำหนดค่าเรียบร้อยแล้ว โดย ใช้งานในแบบ จอ 16x2

  show = 0; // กำหนดตัวแปร show มีค่า เท่ากับ 0

}

 

void loop()

{

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

  { // ถ้าตัวแปร show มีค่าเท่ากับศูนย์ ก็ จะทำงานในเงื่อนไขนี้

    lcd.setBacklight(255); // ฟังค์ชั่นการเปิดไฟแบล็คไลท์ ของจอ lcd

    lcd.home(); // ฟังค์ชั่น กำหนดให้เคอร์เซอร์ ไปอยู่จุดเริ่มต้น ** ด้านบนสุดทางซ้าย

    lcd.clear(); // ฟังค์ชั่น เคลียร์หน้าจอทั้งหมด

    lcd.print("Hello LCD"); // ฟังค์ชั่น แสดงผล ข้อความ Hello LCD บนจอ lcd โดยอักษรตัวแรกจะเริ่มต้นแสดงที่ด้านบนสุดทางซ้าย

    delay(1000); // หน่วงเวลาการแสดงผล 1 วินาที

 

    lcd.setBacklight(0); // ฟังค์ชั่นการปิดไฟแบล็คไลท์ ของจอ lcd

    delay(400); // หน่วงเวลาการแสดงผล 0.4 วินาที

    lcd.setBacklight(255);  // ฟังค์ชั่นการเปิดไฟแบล็คไลท์ ของจอ lcd

  }

  else if (show == 1)  // โครงสร้าของประโยคเงื่อนไขแบบ else if หรือ ประโยคเงื่อนไขแบบทางเลือก โดยเรียกใช้ตัวแปร show ที่กำหนดค่าไว้ข้างบน มาใช้แทนค่าผลลัพธ์ในการตัดสินใจ ซึ่งถ้าเป็นจริง ก็จะทำงานในภายใต้เงื่อนไปของ else if และถ้าเป็นเท็จ ก็จะไปทำงานในเงื่อนไขต่อไปทันที ซึ่งอยู่ในรูปแบบ if....else if....else if....เป็นต้น

  {

    lcd.clear(); // เคลียร์หน้าจอทั้งหมด

    lcd.print("Cursor On"); // แสดง ข้อความ Cursor On บนจอ lcd โดยอักษรตัวแรกจะเริ่มต้นแสดงที่ด้านบนสุดทางซ้าย

    lcd.cursor(); // ฟังค์ชั่น แสดง เคอร์เซอร์ ของ lcd

  }

  else if (show == 2) // ประโยคเงื่อนไข ถ้า show มีค่าเท่ากับ 2 ก็จะทำงานในบรรทัดนี้ ถ้าไม่ใช้ ก็จะไปทำงานในเงื่อนไขต่อไป

  {

    lcd.clear();  // เคลียร์หน้าจอทั้งหมด

    lcd.print("Cursor Blink");  // แสดง ข้อความ Cursor Blink บนจอ lcd โดยอักษรตัวแรกจะเริ่มต้นแสดงที่ด้านบนสุดทางซ้าย

    lcd.blink();  // ฟังค์ชั่น แสดง การกระพริบเคอร์เซอร์ ของ lcd

  }

  else if (show == 3) // ประโยคเงื่อนไข ถ้า show มีค่าเท่ากับ 3 ก็จะทำงานในบรรทัดนี้ ถ้าไม่ใช้ ก็จะไปทำงานในเงื่อนไขต่อไป

  {

    lcd.clear();  // เคลียร์หน้าจอทั้งหมด

    lcd.print("Cursor OFF");  // แสดง ข้อความ Cursor OFF บนจอ lcd โดยอักษรตัวแรกจะเริ่มต้นแสดงที่ด้านบนสุดทางซ้าย

    lcd.noBlink();  // ฟังค์ชั่น ปิดการกระพริบเคอร์เซอร์ ของ lcd

    lcd.noCursor();  // ฟังค์ชั่นซ่อนเคอร์เซอร์ ของ lcd

  }

  else if (show == 4)  // ประโยคเงื่อนไข ถ้า show มีค่าเท่ากับ 4 ก็จะทำงานในบรรทัดนี้ ถ้าไม่ใช้ ก็จะไปทำงานในเงื่อนไขต่อไป

  {

    lcd.clear(); // เคลียร์หน้าจอทั้งหมด

    lcd.print("Display Off");  // แสดง ข้อความ Display Off บนจอ lcd โดยอักษรตัวแรกจะเริ่มต้นแสดงที่ด้านบนสุดทางซ้าย

    lcd.noDisplay(); // ฟังค์ชั่น ปิดหน้าจอ ของ lcd

  }

  else if (show == 5) // ประโยคเงื่อนไข ถ้า show มีค่าเท่ากับ 5 ก็จะทำงานในบรรทัดนี้ ถ้าไม่ใช้ ก็จะไปทำงานในเงื่อนไขต่อไป

  {

    lcd.clear();  // เคลียร์หน้าจอทั้งหมด

    lcd.print("Display On");  // แสดง ข้อความ Display On บนจอ lcd โดยอักษรตัวแรกจะเริ่มต้นแสดงที่ด้านบนสุดทางซ้าย

    lcd.display(); // ฟังค์ชั่น เปิดหน้าจอ ของ lcd

  }

  else if (show == 7)  // ประโยคเงื่อนไข ถ้า show มีค่าเท่ากับ 7 ก็จะทำงานในบรรทัดนี้ ถ้าไม่ใช้ ก็จะไปทำงานในเงื่อนไขต่อไป

  {

    lcd.clear(); // เคลียร์หน้าจอทั้งหมด

    lcd.setCursor(0, 0); // ฟังค์ชั่นกำหนดให้ เคอร์เซอร์ ไปอยู่ที่ ตำแหน่ง 0 บรรทัดที่ 0 ** lcd 16x2 มี 2 บรรทัด คือ บรรทัด 0 (ด้านบนสุด) และ บรรทัด 1 นั้นก็คือด้านล่าง และในแต่ละบรรทัดก็จะมี 16 ตำแหน่ง นั้นก็คือ 0 - 15 โดยเริ่มที่ทางซ้ายสุดเสมอ

    lcd.print("*** first line.");  // แสดง ข้อความ *** first line. บนจอ lcd โดยอักษรตัวแรกจะเริ่มที่ ตำแหน่ง 0 บรรทัด 0

    lcd.setCursor(0, 1);  // ฟังค์ชั่นกำหนดให้ เคอร์เซอร์ ไปอยู่ที่ ตำแหน่ง 0 บรรทัดที่ 1

    lcd.print("*** second line.");  // แสดง ข้อความ *** second line. บนจอ lcd โดยอักษรตัวแรกจะเริ่มที่ ตำแหน่ง 0 บรรทัด 2

  }

  else if (show == 8) // ประโยคเงื่อนไข ถ้า show มีค่าเท่ากับ 8 ก็จะทำงานในบรรทัดนี้ ถ้าไม่ใช้ ก็จะไปทำงานในเงื่อนไขต่อไป

  {

    lcd.scrollDisplayLeft(); // ฟังค์ชั่นเลื่อนหน้าจอไปทางซ้าย ** หน้าจอก็จะยังแสดงข้อความในเงื่อนไขที่ 7 อยู่เพราะไม่ได้สั่งเคลียร์หน้าจอ

  }

  else if (show == 9)  // ประโยคเงื่อนไข ถ้า show มีค่าเท่ากับ 9 ก็จะทำงานในบรรทัดนี้ ถ้าไม่ใช้ ก็จะไปทำงานในเงื่อนไขต่อไป

  {

    lcd.scrollDisplayLeft();  // ฟังค์ชั่นเลื่อนหน้าจอไปทางซ้าย ** หน้าจอก็จะยังแสดงข้อความในเงื่อนไขที่ 7 อยู่เพราะไม่ได้สั่งเคลียร์หน้าจอ

  }

  else if (show == 10) // ประโยคเงื่อนไข ถ้า show มีค่าเท่ากับ 10 ก็จะทำงานในบรรทัดนี้ ถ้าไม่ใช้ ก็จะไปทำงานในเงื่อนไขต่อไป

  {

    lcd.scrollDisplayLeft();  // ฟังค์ชั่นเลื่อนหน้าจอไปทางซ้าย ** หน้าจอก็จะยังแสดงข้อความในเงื่อนไขที่ 7 อยู่เพราะไม่ได้สั่งเคลียร์หน้าจอ

  } // เป็นการเลื่อนหน้าจอ ไปทางซ้าย 3 ตำแหน่ง โดยข้อความทั้งหมดก็จะเลื่อนไปทางซ้ายทีล่ะตำแหน่ง

  else if (show == 11) // ประโยคเงื่อนไข ถ้า show มีค่าเท่ากับ 11 ก็จะทำงานในบรรทัดนี้ ถ้าไม่ใช้ ก็จะไปทำงานในเงื่อนไขต่อไป

  {

    lcd.scrollDisplayRight();  // ฟังค์ชั่นเลื่อนหน้าจอไปทางขวา ** หน้าจอก็จะยังแสดงข้อความในเงื่อนไขที่ 7 อยู่เพราะไม่ได้สั่งเคลียร์หน้าจอ

  } 

 

  delay(2000); // หน่วงเวลา 2 วินาที

  show = (show + 1) % 12; // กำหนดให้ ตัวแปร show มีค่าเท่ากับ ตัวแปร show + 1 แล้วนำมาหารด้วย 12 ซึ่งการหารนี้จะเป็นการหารแบบคิดเศษ 

1
แสดงความคิดเห็นที่ 0-0 จากทั้งหมด 0 ความคิดเห็น
ข้อความ
ชื่อผู้โพส
ข้อมูลสำหรับการติดต่อกลับ (ไม่เปิดเผย เห็นเฉพาะเจ้าของร้าน)
อีเมล
เบอร์มือถือ
  • ตอบกระทู้

<



    ติดต่อเรา สะดวก    รวดเร็ว ไว้ใจได้

 091-109-7711


  ติดต่อเราผ่านช่องทาง LINE

  ID : king5k

MEMBER

เข้าสู่ระบบด้วย
เข้าสู่ระบบ
สมัครสมาชิก

ยังไม่มีบัญชีเทพ สร้างบัญชีใหม่ ไม่เกิน 5 นาที
สมัครสมาชิก (ฟรี)

STATISTICS

หน้าที่เข้าชม6,158 ครั้ง
ผู้ชมทั้งหมด3,017 ครั้ง
เปิดร้าน21 ก.ย. 2559
ร้านค้าอัพเดท16 พ.ค. 2561
ตะกร้าของฉัน (0)
มีสินค้าทั้งหมด 0 ชนิด 0 ชิ้น
0 บาทราคาสินค้าทั้งหมด
(ยังไม่รวมค่าจัดส่ง)
สั่งซื้อสินค้า
ตะกร้า
( 0 )
รายการสั่งซื้อของฉัน
เข้าสู่ระบบด้วย
เข้าสู่ระบบ
สมัครสมาชิก

ยังไม่มีบัญชีเทพ สร้างบัญชีใหม่ ไม่เกิน 5 นาที
สมัครสมาชิก (ฟรี)
รายการสั่งซื้อของฉัน
ข้อมูลร้านค้านี้
ร้านPiapples
Piapples
วิสัยทัศน์ของเราคือ สร้างชุดฝึกสำหรับการโปรแกรมคอมพิวเตอร์ มอบให้ระบบการศึกษาทั่วประเทศ ยินดีให้คำปรึกษา R&D งานระบบไมโครคอนโทรลเลอร์ งานโปรเจค งานออกแบบดีไซด์
เบอร์โทร : 0911097711
อีเมล : kittisak.krua@gmail.com
ส่งข้อความติดต่อร้าน
เกี่ยวกับร้านค้านี้
สินค้าที่ดูล่าสุด
ดูสินค้าทั้งหมดในร้าน
สินค้าที่ดูล่าสุด
บันทึกเป็นร้านโปรด
Join (สมัครสมาชิกร้าน)
แชร์หน้านี้
แชร์หน้านี้

TOP เลื่อนขึ้นบนสุด
Go to Top
พูดคุย-สอบถาม คลิก