Съдържание:

Използвайте 16x2 LCD с I2C: 4 стъпки
Използвайте 16x2 LCD с I2C: 4 стъпки

Видео: Използвайте 16x2 LCD с I2C: 4 стъпки

Видео: Използвайте 16x2 LCD с I2C: 4 стъпки
Видео: How to use LCD LCD1602 with I2C module for Arduino - Robojax 2024, Ноември
Anonim
Използвайте 16x2 LCD с I2C
Използвайте 16x2 LCD с I2C
Използвайте 16x2 LCD с I2C
Използвайте 16x2 LCD с I2C
Използвайте 16x2 LCD с I2C
Използвайте 16x2 LCD с I2C

В един от предишните ми Instructable ви показах как да свържете и интерфейс на LCD към Arduino Uno и да покажете стойности на него. Но както беше отбелязано, имаше много връзки и ако проектът започна да става много объркан поради твърде много кабели.

В тази инструкция ще ви покажа как да свържете LCD към I2C, който ще има само 4 пина за управление и използване на LCD. Така че нека започнем.

Стъпка 1: Необходими компоненти

Необходими компоненти
Необходими компоненти
Необходими компоненти
Необходими компоненти
Необходими компоненти
Необходими компоненти

За този проект ще ви трябва:

  • Arduino Uno
  • 16x2 LCD
  • I2C за 16x2 LCD
  • Свързващи проводници

С всичко това, нека да влезем в частта за връзки.

Стъпка 2: Връзки

Връзки
Връзки
Връзки
Връзки
Връзки
Връзки
Връзки
Връзки

Вижте снимките и направете връзките. Това е съвсем просто, просто трябва да включите I2C в портовете на LCD и да го запоите на място. След това свържете SCL щифта към A4 щифт на Arduino и SDA щифта към A5 пина на Arduino.

Не запоявам I2C, тъй като вече съм запоил щифтове за заглавки на LCD. Но бих предложил запояване на I2C на LCD

Стъпка 3: Код

В IDE на Arduino има LCD I2C главна библиотека. Но има малък проблем с кода в него. Всички примери в тази библиотека приемат адреса по подразбиране на I2C като 0x27. Така че първо трябва да разберем какъв е адресът на нашия I2C. Можем да направим това, като използваме кода на скенера I2C. След като имаме I2C адреса, можем да заменим тази стойност в примерния код и да започнем да я използваме.

Код на скенера I2C:

#включва

void setup () {Wire.begin (); Serial.begin (9600); while (! Сериен); // изчакайте сериен монитор Serial.println ("\ nI2C скенер"); } void loop () {байт грешка, адрес; int nУстройства; Serial.println ("Сканиране …"); nУстройства = 0; for (адрес = 1; адрес <127; адрес ++) {// i2c_scanner използва връщаната стойност на // Write.endTransmisstion, за да види дали // устройство е потвърдило адреса. Wire.beginTransmission (адрес); грешка = Wire.endTransmission (); if (грешка == 0) {Serial.print ("I2C устройство е намерено на адрес 0x"); if (адрес <16) Serial.print ("0"); Serial.print (адрес, HEX); Serial.println ("!"); nУстройства ++; } else if (error == 4) {Serial.print ("Неизвестна грешка на адрес 0x"); if (адрес <16) Serial.print ("0"); Serial.println (адрес, HEX); }} if (nDevices == 0) Serial.println ("Няма намерени I2C устройства / n"); else Serial.println ("направено / n"); забавяне (5000); // изчакайте 5 секунди за следващо сканиране}

Примерен код (За показване на символи, въведени в Serial Monitor):

#включи #включи

LiquidCrystal_I2C LCD (0x3F, 20, 4); // задайте LCD адреса на 0x27 за 16 символен и 2 -редов дисплей

void setup ()

{lcd.init (); // инициализираме lcd lcd.backlight (); Serial.begin (9600); }

void loop ()

{// когато знаците пристигнат през серийния порт … if (Serial.available ()) {// изчакайте малко, докато цялото съобщение пристигне забавяне (100); // изчистване на екрана lcd.clear (); // чете всички налични знаци, докато (Serial.available ()> 0) {// показва всеки символ на LCD lcd.write (Serial.read ()); }}}

Стъпка 4: Изходът

Изходът
Изходът
Изходът
Изходът

След като сте качили кода, сте готови за работа. За тази инструкция взех примера със серийния код за печат. Така че сега, след като качите кода, отворете серийния монитор и въведете дума и кликнете върху „изпрати“. Сега трябва да видите тази стойност да се показва на LCD.

Препоръчано: