Подключение I2C дисплея к ардуино. Русификация текста.

  Рет қаралды 19,768

Ардуино для начинающих

Ардуино для начинающих

Күн бұрын

Пікірлер: 40
@arduino2000
@arduino2000 2 жыл бұрын
Ссылки на продавцов где есть модули применяемые в примерах. Arduino NANO - alii.pub/699fxy модуль I2C для ЖК-дисплеев 1602 и 2004 - alii.pub/699yqt ЖК-дисплей 1602 и 2004 - alii.pub/699yzr
@ЮрийГеоргиевичЩелканов
@ЮрийГеоргиевичЩелканов Жыл бұрын
Странно, что никто не написал про адрес I2C, ну что ж, напишу, может кому пригодится (хотя в даташите на микруху модуля всё есть). Перемычки для выбора адреса (A0, A1, A2) одной стороной идут на ноги микросхемы и подтянуты резисторами к Vcc, а другой стороной на землю, соответственно, когда перемычки не замкнуты на ногах микросхемы висят логические единицы, а если их замкнуть, то появятся нули. Теперь про сами адреса. Когда ни одной перемычки нет сканер показывает адрес 0х27 (0х означает, что число после этого указано в HEX формате) и если его перевести в двоичную систему, то получим B00100111 (B означает двоичную систему), как можно заметить, в конце стоят три единицы, они собственно и соответствуют нашим перемычкам. когда автор замкнул перемычку A0, получилось число 0x26(B00100110), перемычку A1 - 0x25(B00100101) ну и перемычку A2 - 0x23(B00100011). Автор вводит нас и себя в заблуждение, утверждая что адресов можно настроить только 4, так как в действительности можно ставить не одну перемычку, а 2 или 3, соответственно адресов будет 8, от 0x20(B00100000) - все перемычки замкнуты, до 0x27(B00100111) - все перемычки разомкнуты
@Gromo_Z
@Gromo_Z 3 жыл бұрын
Стараюсь всегда такие экраны по i2c подключать.Спасибо за видео
@АндрейГерасименко-б1ф
@АндрейГерасименко-б1ф 3 жыл бұрын
Как всегда-полезно,познавательно,поучительно...,
@Strenoga
@Strenoga 6 ай бұрын
Отлично👍😁
@sergey-380
@sergey-380 3 жыл бұрын
супер
@pavelbbb
@pavelbbb Ай бұрын
С этими экранами ваще конечно отдельная история, заказал кириллический экран, но без сторонних библиотек не обойтись. В с++ строка это массив типа char, а чар это 255 символов, 255 это 1 байт. Если в IDE utf, то кириллица это как две буквы. Дисплей соответственно тоже однобайтовые последовательности печатает, поэтому нужно переконвертировать из utf в 1251. Вроде бы ок, прекрасно, но дальше мы не можем просто плюсануть определенный сдвиг к 192...255, символы вроде как зашиты по порядку, но между ними есть пропуски, иногда 1, иногда сразу 3 буквы не из кириллической, а из латиницы, т.е. приходится мапить каждый символ в строке 66 ветками switch, это примерно удваивает размер скетча по сравнению с оригинальной библиотекой. Это я анализировал и пытался улучшить библиотеку от RobotClass, единственное, что можно сделать - в верхний регистр повышать и ё делать е
@kosmos8460
@kosmos8460 3 жыл бұрын
Однозначно 👍 а можете сделать вольтамперметр на сегментных индикаторах
@arduino2000
@arduino2000 3 жыл бұрын
На сегментах не знаю, а вот на OLED Дисплее в планах есть. Я как раз недавно его получил
@Garik_Vorota
@Garik_Vorota Жыл бұрын
Наверно эта библиотека много места занимает так как загружает все символы, как заглавные так и прописные. Думаю для оптимизации памяти все же свое писать.
@reimanflex5403
@reimanflex5403 Жыл бұрын
Dht11 и lcd 1602 #include // Добавляем необходимые библиотеки #include #include "DHT.h" #define DHTPIN A0 // к какому пину будет подключен сигнальный выход датчика //выбор используемого датчика #define DHTTYPE DHT11 // DHT 11 //#define DHTTYPE DHT22 // DHT 22 (AM2302) //#define DHTTYPE DHT21 // DHT 21 (AM2301) //инициализация датчика DHT dht(DHTPIN, DHTTYPE); byte degree[8] = // кодируем символ градуса { B00111, B00101, B00111, B00000, B00000, B00000, B00000, }; LiquidCrystal_I2C lcd(0x27,16,2); // Задаем адрес и размерность дисплея void setup() { lcd.init(); // Инициализация lcd lcd.backlight(); // Включаем подсветку lcd.createChar(1, degree); // Создаем символ под номером 1 Serial.begin(9600); dht.begin(); } void loop() { // Добавляем паузы в несколько секунд между измерениями delay(2000); // Reading temperature or humidity takes about 250 milliseconds! // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor) float h = dht.readHumidity(); // Read temperature as Celsius float t = dht.readTemperature(); // Read temperature as Fahrenheit float f = dht.readTemperature(true); // Выводим показания влажности и температуры lcd.setCursor(0, 0); // Устанавливаем курсор в начало 1 строки lcd.print("Hum = % "); // Выводим текст lcd.setCursor(7, 0); // Устанавливаем курсор на 7 символ lcd.print(h, 1); // Выводим на экран значение влажности lcd.setCursor(0, 1); // Устанавливаем курсор в начало 2 строки lcd.print("Temp = \1C "); // Выводим текст, \1 - значок градуса lcd.setCursor(7, 1); // Устанавливаем курсор на 7 символ lcd.print(t,1); // Выводим значение температуры }
@Rebleg
@Rebleg Ай бұрын
лучший просто!
@Егорик777-ъ3щ
@Егорик777-ъ3щ 21 күн бұрын
А можно как-то зделать таймер обратного отсчёта, токо не на ардуино нана а на той что в видео?
@Trikster567
@Trikster567 3 жыл бұрын
Вот этот адаптер i2c он годится для использования с lcd дисплеем 162А- D?
@arduino2000
@arduino2000 3 жыл бұрын
Не знаю, надо смотреть даташит. Если у него 16 выходов и они расположена как на моём дисплее и в том же порядке, то можно.
@Trikster567
@Trikster567 3 жыл бұрын
@@arduino2000 1-GND 2-VDD 3-VO 4-RS 5-R/W 6-E 7-DB0 8-DB1-.........14-DB7 Расположены в два ряда : нечетные один ряд с 1, 3, 5 , 7, 9, 11, 13 четные второй ряд 2, 4, 6, 8, 10 , 12 , 14 Всего 14 выходов . Нет двух выходов которые называются подсветка
@security000
@security000 3 жыл бұрын
Обычно подходит для 1802
@nanami3510
@nanami3510 2 жыл бұрын
Здравствуйте а вы знаете как поменять язык в ардуино?
@иванбелорусский-и8п
@иванбелорусский-и8п 10 ай бұрын
к меня русские символы выводятся на экран но не сохраняются в пзу памяти а сохраняется в озу памяти. после перезагрузки устройства все обнуляется. как прописать русские буквы в таблице знакогенератора и прошить их в пзу память дисплея?
@LaSKaLasuridze
@LaSKaLasuridze 3 жыл бұрын
RFID rc552 можно добавить?
@arduino2000
@arduino2000 3 жыл бұрын
На канале полно видео про Rfid с выводом на дисплей
@vzo6951
@vzo6951 2 жыл бұрын
эта библиотека работает даже если в lcd нет русских символов ????
@arduino2000
@arduino2000 2 жыл бұрын
да. Но ОДНОВРЕМЕННО на экран может выводить не больше 8 не латинских символов.
@jalokin84
@jalokin84 3 жыл бұрын
Вроде бы как 0х24 это адрес датчика температуры дс18 вроде
@jalokin84
@jalokin84 3 жыл бұрын
@Ural Men точно! Забыл уже всё, надо подтянуть
@КириллЧернышев-ъ2й
@КириллЧернышев-ъ2й 3 жыл бұрын
Добрый вечер! Скажите пожалуйста, почему вы подключили экран к выводам А5 и А4, а не к SDA и SCL?
@arduino2000
@arduino2000 3 жыл бұрын
А разве это не одно и тоже? Это шина l2c. Только A4 - SDA, A5-SCL
@КириллЧернышев-ъ2й
@КириллЧернышев-ъ2й 3 жыл бұрын
@@arduino2000 понял вас, спасибо! Не знал о таком приколе
@arduino2000
@arduino2000 3 жыл бұрын
А в чем прикол то? Это азы Ардуино.
@ИльяПолетаев-ч2р
@ИльяПолетаев-ч2р 5 ай бұрын
Пишите в print заглавными буквами, тогда косяков не будет
@ban5877
@ban5877 2 жыл бұрын
Почему ардуинка не может найти I2C]
@Slaviusrus
@Slaviusrus 3 жыл бұрын
Не 4 варианта адресов I2C, а 7 адресов! Можно замыкать по 2 перемычки, а можно и все 3 перемкнуть! Тогда и порядок адресов будет по порядку!!
@arduino2000
@arduino2000 3 жыл бұрын
Спасибо. Не знал
@Slaviusrus
@Slaviusrus 3 жыл бұрын
@Ural Men 000, 100, 010, 001, 110, 011, 101, 111... точно, 8 вариантов)
@Slaviusrus
@Slaviusrus 3 жыл бұрын
@Ural Men а я забыл посчитать вариант "101"... потому и подумал, что 7 вариантов)
@иванбелорусский-и8п
@иванбелорусский-и8п 10 ай бұрын
есть непрошиваемые контроллеры. надо и об этом говорить а то народ мучается с прошивкой а толку нет и не будет
@staskyrychenko8319
@staskyrychenko8319 6 ай бұрын
Какая же это русификация? Это просто костыли. Русификация этих дисплеев невозможна если этого не сделал производитель
@arduino2000
@arduino2000 6 ай бұрын
но это работает.
@staskyrychenko8319
@staskyrychenko8319 6 ай бұрын
@@arduino2000 да, работает :)
@reimanflex5403
@reimanflex5403 Жыл бұрын
I2c сканер скетч #include void setup() { Wire.begin(); Serial.begin(9600); while (!Serial); // Leonardo: wait for serial monitor Serial.println(" I2C Сканер"); } void loop() { byte error, address; int nDevices; Serial.println("Сканирование..."); nDevices = 0; for(address = 1; address < 127; address++ ) { Wire.beginTransmission(address); error = Wire.endTransmission(); if (error == 0) { Serial.print("I2C устройство найдено по адресу 0x"); if (address
Игры на Ардуино с дисплеем LCD 1602. Ардуино проекты.
4:00
Ардуино для начинающих
Рет қаралды 16 М.
LCD1602 - это очень просто!
22:19
Гневисть
Рет қаралды 149 М.
We Attempted The Impossible 😱
00:54
Topper Guild
Рет қаралды 56 МЛН
To Brawl AND BEYOND!
00:51
Brawl Stars
Рет қаралды 17 МЛН
Фишки Arduino, о которых ты не знал!
13:37
Заметки Ардуинщика
Рет қаралды 117 М.
Оптимизация кода Ардуино и ускорение работы Ардуино проекты.
15:18
How to connect the display from a mobile phone to Arduino
13:58
Home Made
Рет қаралды 1,3 МЛН
Arduino and the display 1602 in Russian
7:26
Home Made
Рет қаралды 82 М.
Сдвиговый регистр 74hc165 ардуино. Входы ардуино
13:30
Ардуино для начинающих
Рет қаралды 6 М.
Подключение дисплея 1602 lcd i2c. 1602 ардуино дисплей
15:20
Ардуино для начинающих
Рет қаралды 71 М.
We Attempted The Impossible 😱
00:54
Topper Guild
Рет қаралды 56 МЛН