แผ่นข้อมูล Arduino LCD KeyPad Shield (SKU: DFR0009)

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





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

Arduino LCD KeyPad Shield (SKU: DFR0009)

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

ด้วยโมดูลนี้ผู้ใช้สามารถใช้งานเมนูและเลือกรูปแบบต่างๆได้ตามเงื่อนไขการใช้งานและความต้องการ



โมดูล Arduino LCD KeyPad Shield (SKU: DFR0009) ได้รับการออกแบบด้วยตัวอักษรดิจิทัลสีขาว 1602 ตัวบนแผงจอแสดงผลคริสตัลเหลวที่มีแสงพื้นหลังสีฟ้าสดใส

มีปุ่มกด 5 ปุ่มซึ่งกำหนดค่าให้ส่งมอบฟังก์ชันพิเศษเช่นเลือกขึ้นขวาลงและซ้าย



โมดูลนี้มีความสามารถในการประหยัด IO (อินพุต / เอาต์พุต) แบบดิจิทัลผ่านตัวแปลงอนาล็อกเป็นดิจิตอลหรือช่อง ADC

คำสั่งกดคีย์ถูกระบุภายในผ่านเครือข่ายตัวแบ่งที่มีศักยภาพ 5 ขั้นตอน

โมดูล LCD Arduino LCD KeyPad Shield (SKU: DFR0009) ที่อธิบายได้กลายเป็นที่นิยมอย่างมากเนื่องจากใช้งานร่วมกับบอร์ด Arduino ได้ง่าย

จอแสดงผลประกอบด้วยสล็อต LCD 2 x 16 ช่องพร้อมสวิตช์ 6 ปุ่มเพื่อเปิด Pin # 4,5,6,7,8,9 และ 10 ทำงานร่วมกันเพื่อเชื่อมต่อกับบอร์ด Arduino

พินอะนาล็อก # 0 ถูกกำหนดให้สแกนคำสั่งปุ่มกด

โมดูลนี้มีตัวควบคุมการปรับคอนทราสต์ที่แนบมาและปุ่มตัวเลือกเปิด / ปิดไฟด้านหลัง

นอกจากนี้ระบบยังมีพินแบบอะนาล็อกที่ขยายได้สำหรับการอ่านและการนำเสนอเซ็นเซอร์อะนาล็อกที่ไม่ยุ่งยาก

รายละเอียดเพิ่มเติมแนบ ที่นี่

เอื้อเฟื้อภาพ: https://www.dfrobot.com/wiki/index.php?title=File:DSC0410.jpg

คุณสมบัติหลักที่รวมอยู่ใน Arduino LCD KeyPad Shield (SKU: DFR0009) ได้แก่ :

  • แรงดันไฟฟ้าที่ใช้งาน: 5V
  • 5 ปุ่ม Push-to-ON สำหรับสลับแผงเมนูแบบกำหนดเองสำหรับการเลือกที่ต้องการ
  • ปุ่ม RST เสนอการรีเซ็ตโปรแกรม arduino ที่เกี่ยวข้อง
  • รวมโพเทนชิออมิเตอร์สำหรับปรับแสงด้านหลัง
  • พิน I / O ที่ใช้ได้สามารถขยายได้
  • Analog Pinout ขยายได้โดยใช้การกำหนดค่า DFRobot มาตรฐานสำหรับส่วนขยายเซ็นเซอร์ที่ปรับปรุงแล้ว
  • ขนาดที่เหมาะสม: 80 x 58 มม

คำอธิบายห้องสมุด

คำอธิบายฟังก์ชัน

LiquidCrystal (rs, เปิดใช้งาน, d4, d5, d6, d7)

สร้างทางเลือกที่หลากหลายของ Liquid Crystal หน้าจอแสดงผลสามารถสั่งการได้โดยใช้ข้อมูล 4 หรือ 8 บรรทัด หากเป็นครั้งแรกหมายเลขพินสำหรับ d0 ถึง d3 อาจถูกกำจัดและรักษาเส้นที่เกี่ยวข้องโดยไม่ได้ใช้

อาจแนะนำให้เชื่อมต่อ RW pinout กับกราวด์แทนที่จะเชื่อมต่อกับพินบนบอร์ด Arduino ในกรณีเช่นนี้คุณอาจต้องการกำจัดออกจากพารามิเตอร์ของฟังก์ชันนี้

คุณอาจพิจารณาตัวอย่างต่อไปนี้เหมือนกัน:

LiquidCrystal lcd(8, 9, 4, 5, 6, 7)

lcd.begin (cols แถว)

ทริกเกอร์การเชื่อมต่อของหน้าจอ LCD และกำหนดไฟล์
ขนาด (ความกว้างและความสูง) สำหรับการอ่านการแสดงผล start () เรียกร้องให้เรียกก่อนที่จะมีพรอมต์ไลบรารี LCD อื่น ๆ ดังตัวอย่าง:

lcd.begin(16, 2)

lcd.setCursor (col แถว)

แก้ไขตำแหน่งที่อินพุตต่อไปนี้เขียนลงบน LCD อาจมองเห็นได้ตัวอย่างเช่น:

lcd.setCursor(0,0)

lcd.print (ข้อมูล)

พิมพ์ข้อความสำหรับจอ LCD ตัวอย่างเช่น:

lcd.print('hello, world!')

lcd.write (ข้อมูล)

เขียนอักขระสำหรับหน้าจอ LCD

ตัวอย่าง

ตัวอย่างต่อไปนี้จะตรวจสอบแผง LCD และปุ่มต่างๆ ทันทีที่ผู้ใช้กด
ปุ่มเหนือโล่ shield หน้าจอจะแสดงข้อความแจ้งที่เกี่ยวข้องทันที

รายละเอียดการเชื่อมต่อ: เพียงแค่เสียบ LCD Keypad เข้ากับบอร์ด Arduino เช่น UNO (หรือคอนโทรลเลอร์ที่คล้ายกัน)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95/ ************************************************* **************************** มาร์คแบรมเวลกรกฎาคม 2553 https://www.dfrobot.com/wiki/index.php?title = ไฟล์: DSC0410.jpg โปรแกรมนี้จะทดสอบแผง LCD และไฟล์
เมื่อคุณกดปุ่มบนโล่, หน้าจอจะแสดงปุ่มที่เกี่ยวข้อง การเชื่อมต่อ: เสียบปุ่มกด LCD เข้ากับ UNO (หรือ
ตัวควบคุมอื่น ๆ ) *********************************************** ****************************** / # รวม LiquidCrystal LCD (8, 9, 4, 5, 6,
7) // เลือกไฟล์
พินที่ใช้บนแผง LCD // กำหนดค่าที่แผงและปุ่มใช้ int lcd_key = 0 int adc_key_in = 0 #define btnRIGHT 0 #define btnUP 1 #define btnDOWN 2 #define btnLEFT 3 #define btnSELECT 4 #define btnNONE 5 int read_LCD_buttons () {
// อ่านปุ่ม adc_key_in =
analogRead (0) // อ่านค่าจากไฟล์
เซ็นเซอร์ // ปุ่มของฉันเมื่ออ่านเป็น
มีศูนย์กลางอยู่ที่หุบเขาเหล่านี้: 0, 144, 329, 504, 741 // เราเพิ่มประมาณ 50 ให้กับสิ่งเหล่านี้
ค่าและตรวจสอบว่าเราใกล้หรือไม่ // เราทำให้ตัวเลือกนี้เป็นตัวเลือกแรกสำหรับ
เหตุผลด้านความเร็วเนื่องจากจะเป็นผลลัพธ์ที่เป็นไปได้มากที่สุดหาก (adc_key_in> 1,000) ส่งคืน btnNONE // สำหรับ V1.1 เกณฑ์นี้ให้เราถ้า (adc_key_in<
50) ส่งคืน btnRIGHT ถ้า (adc_key_in<250)
ส่งคืน btnUP ถ้า (adc_key_in<450)
ส่งคืน btnDOWN ถ้า (adc_key_in<650)
ส่งคืน btnLEFT ถ้า (adc_key_in<850)
ส่งคืน btnSELECT // สำหรับ V1.0 แสดงความคิดเห็นเกณฑ์อื่น
และใช้รายการด้านล่าง: / * if (adc_key_in<
50) ส่งคืน btnRIGHT ถ้า (adc_key_in<
195) ส่งคืน btnUP ถ้า (adc_key_in<
380) ส่งคืน btnDOWN ถ้า (adc_key_in<
555) ส่งคืน btnLEFT ถ้า (adc_key_in<
790) ส่งคืน btnSELECT * / ส่งคืน btnNONE
// เมื่อทุกคนล้มเหลวให้ส่งคืนสิ่งนี้ } การตั้งค่าเป็นโมฆะ () {lcd.begin (16,
สอง)
// เริ่มไลบรารี lcd.setCursor (0,0)
// ตั้งค่าตำแหน่งเคอร์เซอร์ LCD lcd.print ('กด
ปุ่ม ') // พิมพ์ข้อความธรรมดาบน LCD} void loop () {lcd.setCursor (9,1)
// ย้ายเคอร์เซอร์ไปที่บรรทัดที่สอง '1' และ 9 ช่องว่างบน lcd.print (มิลลิวินาที () / 1000)
// แสดงวินาทีที่ผ่านไปนับตั้งแต่เปิดเครื่อง lcd.setCursor (0,1)
// ย้ายไปที่จุดเริ่มต้นของบรรทัดที่สอง lcd_key =
read_LCD_buttons () // อ่านสวิตช์ปุ่ม (lcd_key) {
// ขึ้นอยู่กับว่าปุ่มใดถูกผลักเราดำเนินการกรณีการดำเนินการ btnRIGHT: {
// กดปุ่ม 'RIGHT' และแสดงคำบนหน้าจอ lcd.print ('RIGHT
') break} case btnLEFT: {lcd.print (' LEFT
') // กดปุ่ม' LEFT 'และแสดงคำบน
screen break} case btnUP: {lcd.print ('UP
') // กดปุ่ม' UP 'และแสดงคำบน
screen break} case btnDOWN: {lcd.print ('DOWN
') // กดปุ่ม' DOWN 'และแสดงคำบน
ตัวแบ่งหน้าจอ} btnSELECT: {lcd.print ('SELECT')
// กดปุ่ม 'SELECT' และแสดงคำบนตัวแบ่งหน้าจอ} case btnNONE: {lcd.print ('NONE
') // ไม่มีการดำเนินการใด ๆ แสดงว่า' ไม่มี 'บน
พักหน้าจอ}}}



ก่อนหน้านี้: Arduino RGB Flowing Sequential Light Circuit ถัดไป: การสร้างนาฬิกาจับเวลาอัตโนมัติสำหรับนักวิ่งนักกีฬาและนักกีฬา