8 (800) 350-30-16

Подключение дисплея с I2C интерфейсов

Дата: / Категория: Дисплеи / Автор: DOC_tr

В последнее время часто стали приходить вопросы о нерабочих / проблемах с подключением / каких-то косяках (нужное подчеркнуть) с I2C LCD1602 дисплеем.

Ну я и решил в этом разобраться - почему у людей это вызывает такую проблему. Давайте посмотрим.

Быстренько поискав по интернету схемы подключения и примеры скетчей я нашел что-то более менее подходящее, и когда все собрал, ни капли не удивился тому, что оно не заработало.

Подключение достаточно простое - в любом случае 4 провода вставить намного легче чем подключать все 16, и происходит по следующей схеме.

Рассмотрим пример - подключать все будем с помощью данной библиотеки и следующего скетча

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup()
{
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("ROBOM.ru");
lcd.setCursor(8, 1);
lcd.print("LCD 1602");
}
void loop()
{
lcd.setCursor(0, 1);
lcd.print(millis()/1000);
delay(1000);
}

Так как экран даже не инициализировался (при включении должен мигнуть) то тут дело либо в экране, либо в скетче. Проверив все дисплеи и отбросив мысль о том, что вся партия бракованная, я начал изучать скетч и код библиотеки.

Так как в данной библиотеке единственное что указывает на связь дисплея и Arduino это адрес - 0x27, будем искать правильный адрес. Для этого в библиотеке Wire есть метод beginTransmission. Как написано в официальной документации - начинает передачу на устройство I2C с указанного адреса.

И с помощью данного метода мы сможем достаточно просто реализовать сканер требуемого адреса. Ниже приведен скетч.

#include <Wire.h>

void setup(){
Wire.begin();
Serial.begin(9600);
Serial.println("\nI2C Сканер");
}

void loop(){
byte error, address;
bool nDevices;
Serial.println("Сканируем...");
nDevices = false;
for(address = 1; address < 127; address++ )
{
Wire.beginTransmission(address);
error = Wire.endTransmission();

if (error == 0)
{
Serial.print("I2C адpес 0x");
if (address<16)
Serial.print("0");
Serial.print(address,HEX);
Serial.println(" !");
nDevices = true;
break;
}
else if (error==4)
{
Serial.print("Неизвестная ошибка. Адрес 0x");
if (address<16)
Serial.print("0");
Serial.println(address,HEX);
}
}
if (!nDevices)
Serial.println("I2C не найден\n");
else
Serial.println("успешно\n");
delay(5000);
}

В процессе сканирования мы увидим следующую картину

И как видим - адрес нашего устройства далеко не 0x27, хотя все русскоязычные мануалы твердят о том что он установлен по умолчанию, и использовать нужно только его.

Внесем небольшие изменения в наш скетч (Измененный кусок выделен)

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F, 16, 2);
void setup()
{
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("ROBOM.ru");
lcd.setCursor(8, 1);
lcd.print("LCD 1602");
}
void loop()
{
lcd.setCursor(0, 1);
lcd.print(millis()/1000);
delay(1000);
}

Ничего не произошло, но дисплей, хотя бы, начал инициализироваться при загрузке скетча.

После недолгих разбирательств выяснилось, что регулирование контраста экрана происходит не через код, а через подстроечный резистор на плате. Вооружившись крестовой отверткой я его подкрутил и увидел на дисплее следующее.

Ну на этом наверное все. Если у вас возникают проблемы с ним, то сканер и отвертка вам в помощь ;)

UPD. Информация от нашего читателя

Во первых - видимо у всех дисплеев разный адрес, потому что у некоторых работает с адресом 0x27. В любом случае перед использованием лучше узнать с помощью сканера требуемый адрес.

Во вторых - если у вас дисплей никак не хочет включаться, то найдите в библиотеке из данной статьи следующие строчки (17 - 20)

inline size_t LiquidCrystal_I2C::write(uint8_t value) {
send(value, Rs);
return 0;
}

И замените здесь

return 0;

на

return 1;

Теги: #LCD1602, #I2C

Ваша оценка:

Рейтинг: 8.7 (Оценок: 9)

Комментарии (110):

wooMub
2021-01-14 05:03
https://free-fortnite-skins-2021.8b.io/??????????? ??????? ? I2C ??????????? :: ROBOM.ru1-m  

Informative Tips on Finding A good Desktop Computer For A great Deal

When buying a computer, you may enter the gathering and look rows and rows of desktop machines. This can depart you feeling vertigo as you attempt to decipher which is your best bet. on the other hand of facing this dilemma, use the tips under to craft a plan which helps you acquire a good deal.

When searching for a desktop computer be determined to shop around. following the growing popularity of laptops, tablets, and mobile devices, desktops have fallen out of favor. As such, sales are struggling. Use this to your advantage and look for the best deals out there as soon as purchasing a other desktop computer.

If you once playing games online and desire to buy a gaming computer, you need to recall some things. create determined the computer has a video card that's good, a memory of a minimum of 4 GB, and a truth display that's high. There are as well as keyboards that are constructed to maximize your experience.

As you look for the right desktop computer for your needs, pay close attention to your designed type of Internet connection as with ease as whether or not a potential desktop model has a modem. If you are not adept to be close to to broadband due to your location, you will dependence a modem. Otherwise, you can purchase a computer that does not have one.

If you want to save child maintenance upon your desktop computer, see into buying a refurbished model. These computers are ones that have been supreme at the factory and are often offered at a steep discount. These are usually offered by the computer brands on their own websites, hence say you will a look in the past you buy a extra computer.

If you want to extend the enthusiasm of your potential desktop computer, create positive you pick one that is upgradeable. There are more than a few desktops these days that seal access to the inner workings of the machine. That means no completion to upgrade. Check that you've got access prior to buying.

If you dependence a more powerful computer, look in areas listed as "gaming" or "entertainment" computers. These will have more RAM and faster processors which can handle these tasks. If you buy a computer listed as an "everyday" machine, you'll locate that it just doesn't stir up to your needs.

Try online comparison shopping behind you infatuation a desktop computer. Using comparison sites that conduct yourself what a sure model offers across compound brands can assist you you announce where to buy. It can along with keep you a lot of money. distinct sites may offer useful additions and clear shipping.

The computer world keeps changing, and a desktop computer is now cheaper than a lot of laptops. You can acquire a great computer for under 500 dollars. buy it from a trusted deposit to ensure that full hold is offered.

When buying a used computer, be distinct to agree to it apart to check every of its components. look at the ports, the feat and the boards inside to see if whatever obvious is wrong. Don't know what to see for? Check out Google Images past you go to the seller.

Find out if the desktop computer you desire has included programs. You compulsion to know what they are. You obsession to know if it has a word processor or spreadsheet program that you will use. This is important to many for their work. Also, locate out if the software included are full versions or demos. The demos expire after 30 or 90 days, which require you to buy the full versions yourself.

KW:
How To Get Free Skins In FORTNITE PC 2021
Free Fortnite Skins iOS Android 2021
Free Fortnite Skins 2021
Sexy Fortnite Skins 2021
How To Get Free Fortnite Skins 2021
Free FORTNITE Skins PC 2021
Jahesvop
2021-01-13 16:38
cialis for the aged
cialis 20mg canada posts per day
<a href="https://cialisboss.com/#">cialis before and after
</a> - cialis 5mg canada posts per day
https://cialisboss.com/# - cialis generic availability
buyy generic cialis
pharmacious
2021-01-02 01:32
what is chloroquine
<a href="https://chloroquineorigin.com/">chloroquine for malaria</a>
best erectile medicine
<a href="https://erectiledysfunctionsxag.com/">solving erectile dysfunction without meds</a>
does hydroxychloroquine have side effects
<a href="https://hydroxychloroquinex.com/">latest news on hydroxychloroquine</a>
erectile coffee
<a href="https://plaquenilx.com/">hydroxychloroquine sulfate plaquenil</a>
tadalafil tablet
<a href="https://tadalisxs.com/">tadalafil generic</a>
azithromycin for cellulitis
<a href="https://zithromaxes.com/">zithromax azithromycin</a>
pharmacious
2021-01-01 18:33
side effects of chloroquine
<a href=https://chloroquineorigin.com/>hydroxychloroquine plaquenil</a>
erectile function after urethralplasty
<a href=https://erectiledysfunctionsxag.com/>erectile bands</a>
hydroxychloroquine malaria
<a href=https://hydroxychloroquinex.com/>hcos</a>
erectile hypertension
<a href=https://plaquenilx.com/>hydroxychloroquine plaquenil</a>
tadalaf
<a href=https://tadalisxs.com/>generic tadalafil</a>
zithromax oral
<a href=https://zithromaxes.com/>zithromay</a>
pharmacious
2020-12-31 23:47
chloroquinne
<a href=https://chloroquineorigin.com/>buy chloroquine phosphate tablets</a>
cialis without erectile dysfunction
<a href=https://erectiledysfunctionsxag.com/>fast acting erectile pills</a>
hydrachloroquine
<a href=https://hydroxychloroquinex.com/>hydroxychloroquine sulfate oral</a>
do erectile pumps work
<a href=https://plaquenilx.com/>plaquenil blood thinner</a>
tadalafil 20 mg
<a href=https://tadalisxs.com/>tadalafil 40 mg daily</a>
azithrom
<a href=https://zithromaxes.com/>zithromax over the counter</a>
pharmacious
2020-12-31 16:45
chloroquine tablet
<a href=https://chloroquineorigin.com/>chloroquine online</a>
top erectile dysfunction pills
<a href=https://erectiledysfunctionsxag.com/>erectile doctor memphis tn</a>
hydroxichlorquine
<a href=https://hydroxychloroquinex.com/>side effects for plaquenil</a>
erectile tissue in men
<a href=https://plaquenilx.com/>plaquenil over the counter</a>
vidalista tadalafil
<a href=https://tadalisxs.com/>buy tadalafil us</a>
zithromax pills
<a href=https://zithromaxes.com/>zithromax pill</a>
RonaldUnunk
2020-12-28 02:57
<a href=https://megaremont.pro/minsk-restavratsiya-vann>Цветная эмаль для ванн в Минске</a>
wallyDen
2020-11-24 12:08
i am so satisfacted.my english is poor, sorry :). thx for approving my user greetings wally
wooMub
2020-11-18 14:38
hi, i am woo from Sweden and i want to explain any thing about "pandemic". Please ask me :)
wallyDen
2020-11-17 18:26
i am so satisfacted. greetings wally

Комментарий:

Copyright © RobOM.ru 2021 г. Все права защищены