สารบัญ:

DIY I2C จอแสดงผล LCD พร้อมอินพุต: 6 ขั้นตอน
DIY I2C จอแสดงผล LCD พร้อมอินพุต: 6 ขั้นตอน

วีดีโอ: DIY I2C จอแสดงผล LCD พร้อมอินพุต: 6 ขั้นตอน

วีดีโอ: DIY I2C จอแสดงผล LCD พร้อมอินพุต: 6 ขั้นตอน
วีดีโอ: #38 สอน Arduino Tutorial : Arduino แสดงข้อความออกจอ LCD แบบ I2C 2024, พฤศจิกายน
Anonim
DIY I2C จอแสดงผล LCD พร้อมอินพุต
DIY I2C จอแสดงผล LCD พร้อมอินพุต

LCD ขนานทั่วไปที่ใช้กับ Arduino (16x2 หรือ 20x4) มี 16 พิน Arduino ต้องใช้พิน I/O เพียง 6 พิน แต่ถ้าคุณสามารถลดเหลือพิน I/O ได้ 2 พิน และยังคงมีพินเหล่านั้นสำหรับอุปกรณ์อื่นๆ

อินเทอร์เฟซ I2C อยู่บนพิน A4 และ A5 ของ Arduino UNO สิ่งเหล่านี้สามารถระบุตำแหน่งได้ และสามารถแชร์กับอุปกรณ์ I2C อื่นๆ ที่มีที่อยู่ต่างกันได้ ตอนนี้คุณสามารถซื้อ I2C LCD ได้ และคุณยังสามารถหา I2C LCD ที่มีที่อยู่ต่างกันได้ แต่โดยทั่วไปแล้วจะเป็น LCD สองบรรทัด และที่อยู่จะได้รับการแก้ไข ฉันจะแสดงวิธีสร้างอินเทอร์เฟซ I2C ของคุณเอง เลือกที่อยู่ใดที่อยู่หนึ่งจาก 8 ที่อยู่ และสามารถเพิ่มอินพุตหรือเอาต์พุตได้มากถึง 8 รายการ โดยใช้ชิปขยายพอร์ต MCP23017 16 ซึ่งเป็นชิปตัวเดียวกับที่ Adafruit ใช้ I2C LCD Keypad Shield ของพวกเขาและใช้ห้องสมุดเพื่อพูดคุยกับมัน คุณสามารถมีจอ LCD ได้มากถึง 16 จอ หรือพิน I/O ดิจิตอลสูงสุด 128 ตัว และรวมกันได้

MCP23017

จอ LCD 20x4 หรือ LCD 16x2

ขั้นตอนที่ 1: การเดินสายไฟ LCD

สายไฟ LCD
สายไฟ LCD

การเชื่อมต่อระหว่าง LCD แบบขนานของ Hitachi (2 หรือ 4 เส้น) และ MCP23017 จะแสดงในรูปภาพ

SDA (พิน 13 บน MCP23017) เชื่อมต่อกับ Arduino A4 และ SCL (พิน 12) เชื่อมต่อกับ Arduino A5 บางคนแนะนำตัวต้านทานแบบดึงขึ้น 4.7k (พิน 13 ถึง +5v และพิน 12 ถึง +5v) แต่โปรเจ็กต์นี้ใช้งานได้ดีหากไม่มีพวกมัน

สังเกตตัวต้านทาน 220 โอห์มบนการเชื่อมต่อ LCD k (แคโทด, gnd) นี้เป็นสิ่งที่ต้อง!

หากไม่มี คุณสามารถเป่าหมุดแบ็คไลท์ MCP23107 ได้ มี 3 พินที่คุณสามารถใช้สำหรับแบ็คไลท์ได้ พิน 1 เรียกว่า BLUE ในไลบรารีและ Sketch พิน 28 เรียกว่า GREEN และพิน 27 เรียกว่า RED หากคุณมี LCD ขาวดำ คุณสามารถใช้หมุดใดก็ได้จากสามหมุด และใช้คำบรรยายสีที่เกี่ยวข้อง หากคุณมีไฟแบ็คไลท์ RGB คุณสามารถผสมสีได้มากมาย ตรวจสอบได้ที่

หมุด 15, 16 และ 17 บน MCP23017 กำหนดที่อยู่ I2C เรามีทั้งหมด 3 รายการ เนื่องจากเป็นที่อยู่เริ่มต้นที่ห้องสมุด Adafruit ใช้ หากต้องการเพิ่มจอแสดงผลหลายจอหรือเลือกที่อยู่อื่น ไลบรารีจะต้องได้รับการแก้ไข ดังนั้นเราจะใช้ค่าเริ่มต้นในตอนนี้

Adafruit_MCP23017.h มีบรรทัดต่อไปนี้:

#define MCP23017_ADDRESS 0x20

พิน 17 = A2 พิน 16 = A1 และพิน 15 = A0

0 = พื้นดิน 1 = +5v

รูปแบบที่อยู่คือ 0100A2A1A0 ดังนั้นเนื่องจากเราต่อสายดินทั้ง 3 บรรทัด เราจึงใช้ไบนารี 0100000 หรือ 20 ในฐานสิบหก (0x20) 0100111 จะเป็น 27 ในฐานสิบหก (0x27)

ขั้นตอนที่ 2: การเดินสายปุ่มอินพุต

การเดินสายไฟปุ่มอินพุต
การเดินสายไฟปุ่มอินพุต

เรารวมปุ่มอินพุต 5 ปุ่มในโครงการนี้ เราจะเรียกพวกเขาว่า ซ้าย ขวา ขึ้น ลง และเลือก ปุ่มกดมาตรฐานเหมาะอย่างยิ่งสำหรับสิ่งนี้ แต่เซ็นเซอร์เปิด/ปิดแบบดิจิตอลจะทำงานได้

เชื่อมต่อปุ่มของคุณดังนี้:

ด้านซ้ายเชื่อมต่อระหว่าง Gnd และพิน 25 ของ MCP23017

เชื่อมต่อทางขวาระหว่าง Gnd และพิน 22

ขึ้นเชื่อมต่อระหว่าง Gnd และขา24

ลงเชื่อมต่อระหว่าง Gnd และพิน 23

เลือกการเชื่อมต่อระหว่าง Gnd และพิน 21

ขั้นตอนที่ 3: ร่าง LCD

LCD Sketch
LCD Sketch

ดาวน์โหลดและติดตั้งไลบรารี Adafruit เรียกใช้ตัวอย่าง "Hello World" และอินเทอร์เฟซ LCD นี้ใช้งานได้ เราใช้พิน 27 บน MCP23017 ดังนั้นให้ระบุสีแดงสำหรับแบ็คไลท์ขาวดำเท่านั้น

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

สำหรับโปรเจ็กต์อื่นๆ ที่ใช้ชิปนี้และโค้ดเพิ่มเติม โปรดดูที่:

arduinotronics.blogspot.com/2015/11/wifi-rechargeable-internet-clock.html

arduinotronics.blogspot.com/2015/10/add-up-to-128-inputsoutputs-or-mix-to.html

ขั้นตอนที่ 4: มันทำงานอย่างไร

Image
Image

นี่คือโครงการที่เราสร้างขึ้นโดยใช้เวอร์ชัน Adafruit ของโครงการนี้ เวอร์ชัน DIY ใช้สายแบบเดียวกัน แต่คุณอาจมีเวอร์ชันขาวดำแทนไฟแบ็คไลท์ RGB

ขั้นตอนที่ 5: เอกสารข้อมูล

เอกสารข้อมูลฉบับสมบูรณ์สามารถดูได้จาก

แนะนำ: