<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[CANNY forum &mdash; Работа CANNY7 с жидкокристаллическим дисплеем I2C LCD2004]]></title>
	<link rel="self" href="https://forum.canny.ru/extern.php?action=feed&amp;tid=161&amp;type=atom" />
	<updated>2016-12-02T12:36:13Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.canny.ru/viewtopic.php?id=161</id>
		<entry>
			<title type="html"><![CDATA[Re: Работа CANNY7 с жидкокристаллическим дисплеем I2C LCD2004]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=5716#p5716" />
			<content type="html"><![CDATA[<p>Можно устанавливать нужную длину &quot;слова&quot;.<br />В исходном примере длина строки больше.<br />В последующих примерах применен подход с выводом данных в нужные координаты экрана: часть&nbsp; информации выводится 1 раз и отображается постоянно (подписи), а часть постоянно обновляется (данные). Если изменить этот подход и обновлять весь экран, то можно формировать строки целиком (подписи и данные) и выводить их построчно, указывая только одну координату (первого символа в строке). Диаграмма изменится и, возможно, немного упростится. Тогда в строку из 20 символов уместится 3 блока (3х(2 символа подписи + 3 символа данных + разделитель)).<br />Главное правильно сформировать данные для вывода.</p>]]></content>
			<author>
				<name><![CDATA[Денис, CANNY]]></name>
				<uri>https://forum.canny.ru/profile.php?id=3</uri>
			</author>
			<updated>2016-12-02T12:36:13Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=5716#p5716</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа CANNY7 с жидкокристаллическим дисплеем I2C LCD2004]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=5714#p5714" />
			<content type="html"><![CDATA[<p>Спасибо, то, что надо. <br />Еще вопрос. <br />Длинна (в данный момент 5 знаков) &quot;слова&quot; как-то регулируется? Если не нужно такое длинное сообщение, можно сделать, к примеру, два знака на подпись, три знака на данные? Тогда в строке по три поля вывода можно получить.<br />Спасибо</p>]]></content>
			<author>
				<name><![CDATA[alex_engine]]></name>
				<uri>https://forum.canny.ru/profile.php?id=289</uri>
			</author>
			<updated>2016-12-02T11:31:51Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=5714#p5714</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа CANNY7 с жидкокристаллическим дисплеем I2C LCD2004]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=5703#p5703" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>alex_engine пишет:</cite><blockquote><p>...Просто скопировать часть диаграммы и назначить адреса (с адресами разобрался вроде)&nbsp; не получается, важную роль играют сопутствующие элементы...</p></blockquote></div><p>Фактически все сводится именно к копированию частей диаграммы... с добавлением некоторых доп.условий. При этом основной алгоритм вывода на дисплей не меняется. Просто нужно ему подставлять для вывода нужные данные.<br />В ряде случаев проще организовать динамическое отображение данных (в один момент времени отображается одна часть данных с требуемыми пояснениями и т.п., в другой - другая, в третий - третья и т.д. и по кругу), чем пытаться все впихнуть на один экран.</p>]]></content>
			<author>
				<name><![CDATA[Денис, CANNY]]></name>
				<uri>https://forum.canny.ru/profile.php?id=3</uri>
			</author>
			<updated>2016-12-01T15:42:12Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=5703#p5703</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа CANNY7 с жидкокристаллическим дисплеем I2C LCD2004]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=5701#p5701" />
			<content type="html"><![CDATA[<p>Чуть изменил диаграмму из примера.<br />Теперь у меня две строки с меткой и данными дважды в строке. <br />Пытался самостоятельно также заполнить оставшиеся строки, чтобы иметь еще пару строк в таком же формате, да не хватает понимания <img src="https://forum.canny.ru/img/smilies/sad.png" width="15" height="15" alt="sad" /></p><p>Просто скопировать часть диаграммы и назначить адреса (с адресами разобрался вроде)&nbsp; не получается, важную роль играют сопутствующие элементы.<br />Подскажите, пожалуйста, как доработать, чтобы все работало.<br />Спасибо</p>]]></content>
			<author>
				<name><![CDATA[alex_engine]]></name>
				<uri>https://forum.canny.ru/profile.php?id=289</uri>
			</author>
			<updated>2016-12-01T12:01:03Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=5701#p5701</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа CANNY7 с жидкокристаллическим дисплеем I2C LCD2004]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=5682#p5682" />
			<content type="html"><![CDATA[<p>Одновременно на 1 (!!!) шину <strong><a href="https://ru.wikipedia.org/wiki/I%C2%B2C" rel="noopener noreferrer" target="_blank">I2C</a></strong> можно подключить более 100 устройств (классическая адресация включает 7-битное адресное пространство с 16 зарезервированными адресами, т.е. разработчикам доступно до 112 свободных адресов для подключения периферии на одну шину).<br />На 1 шину вполне можно подключить 2 дисплея, задав им различные адреса, с помощью специальных резисторов (см. сообщение 10 данной темы) и обращаться к ним изменяя адрес устройства в соответствующем регистре драйвера I2C.<br />Технически возможно подключить один CANNY7 к нескольким шинам I2C (до 5 шт), используя по 2 отдельных канала на каждую шину. При таком подходе нужно будет, при обращении к другой шине, деактивировать драйвер, изменить каналы контроллера, использующиеся для подключения к шине и снова активировать драйвер. Очевидно, что диаграмма несколько усложнится. Дисплеи имеют сою память и будут продолжать отображение полученных данных даже после отключения контроллера от шины, при условии сохранения питания на дисплее.<br />Мы сами не пробовали (просто не ставилось такой задачи) организовывать одновременное подключение нескольких дисплеев к CANNY7.</p>]]></content>
			<author>
				<name><![CDATA[Денис, CANNY]]></name>
				<uri>https://forum.canny.ru/profile.php?id=3</uri>
			</author>
			<updated>2016-11-25T15:54:14Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=5682#p5682</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа CANNY7 с жидкокристаллическим дисплеем I2C LCD2004]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=5681#p5681" />
			<content type="html"><![CDATA[<p>Снова здравствуйте<br />Можно ли подключить одновременно два разных экрана и управлять ими раздельно? Ведь аппаратно это возможно, свободных выходов хватает.</p>]]></content>
			<author>
				<name><![CDATA[alex_engine]]></name>
				<uri>https://forum.canny.ru/profile.php?id=289</uri>
			</author>
			<updated>2016-11-25T09:16:33Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=5681#p5681</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа CANNY7 с жидкокристаллическим дисплеем I2C LCD2004]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=5655#p5655" />
			<content type="html"><![CDATA[<p>1. counter - определяет последовательность отправляемых дисплею команд, т.о. и последовательность вывода символов - если они выводятся один за другим, то будут располагаться в соседних ячейках экрана. За расположение символов на экране отвечают специальные команды - установки адреса ячейки экрана дисплея (это то что на входе 0 коммутатора №17 - &quot;addrs&quot;).<br />В последнем примере счетчик counter сбрасывается после вывода пары символов на входе 11 коммутатора. В нем сеть от блока 13 названа &quot;output char&quot; и участвует в задании условия для обнуления счетчика (блоки №№92,93,2,5,6 последнего примера), после чего цикл вывода символов повторяется.<br />2. В принципе можно, но для этого понадобится помудрить с коммутаторами, или использовать подход из последнего примера, отдельно сформировать постоянную часть выводимую на дисплей (пояснения и подписи, z.B. Val1:,..., usw), а необходимые данные (data1,...) выводить в нужные координаты экрана, либо определиться сколько символов данных действительно требуется выводить в каждую строку, возможно это будет меньше 16 и тогда можно будет обойтись одним основным коммутатором (нужно смотреть конкретно). В любом случае универсальный вариант для таких дисплеев сделать довольно сложно. Оптимальный подход - это как в последнем примере. Главное правильно указать адрес ячейки экрана.<br />3. Вывод одного символа выполняется за 4 прохода: 2 тетрады (2 х 4 бита), по 2 раза на каждую (стробирование). Счетчик используется для отправки каждой посылки и увеличивает свое значение после каждой отправки. Т.о. всего на отправку 2 символов (1го 16-битного регистра - значения на входе коммутатора №17) требуется 8 циклов. Побитовое И в сочетании со сдвигом позволяют увеличивать значение индекса коммутатора на единицу 1 раз в восемь циклов отправки данных дисплею, обеспечивая переход к следующей паре символов.</p>]]></content>
			<author>
				<name><![CDATA[Денис, CANNY]]></name>
				<uri>https://forum.canny.ru/profile.php?id=3</uri>
			</author>
			<updated>2016-11-17T12:35:39Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=5655#p5655</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа CANNY7 с жидкокристаллическим дисплеем I2C LCD2004]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=5654#p5654" />
			<content type="html"><![CDATA[<p>И снова здравствуйте.<br />Пробую заполнить всю строку экрана 1602 символами. На диаграмме &quot;хелло ворд&quot;, поменял на входах коммутатора знаки на нужные мне, ясное дело, выводятся не все.<br />В связи с этим куча вопросов.<br /><a href="http://piccy.info/view3/10529190/23bff635e68492eefe83c67bdb3f882b/orig/" rel="noopener noreferrer" target="_blank"><span class="postimg"><img src="http://i.piccy.info/i9/5c370241a6996cba87eaccc84693ba97/1479368241/132277/1087899/lcd_800.jpg" alt="http://i.piccy.info/i9/5c370241a6996cba87eaccc84693ba97/1479368241/132277/1087899/lcd_800.jpg" /></span></a><a href="http://i.piccy.info/a3c/2016-11-17-07-37/i9-10529190/800x500-r" rel="noopener noreferrer" target="_blank"><span class="postimg"><img src="http://i.piccy.info/a3/2016-11-17-07-37/i9-10529190/800x500-r/i.gif" alt="http://i.piccy.info/a3/2016-11-17-07-37/i9-10529190/800x500-r/i.gif" /></span></a></p><p>1. counter - этот счетчик не влияет на вывод и расположение символов? Он организован точно также, как и на диаграмме 2004 из последнего примера.<br />2 Как можно доработать диаграмму &quot;хелло ворд&quot;, чтобы выводить все 16 символов в каждой строке?<br />3. побитовое И значений счетчика с числом 111000 и последующий сдвиг вправо на 3. Зачем это и почему нельзя сразу сделать побитовое И с 000111?</p><p>Спасибо</p><p>П.С получилось засветить две строки путем переделки второй диаграммы.</p>]]></content>
			<author>
				<name><![CDATA[alex_engine]]></name>
				<uri>https://forum.canny.ru/profile.php?id=289</uri>
			</author>
			<updated>2016-11-17T07:53:47Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=5654#p5654</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа CANNY7 с жидкокристаллическим дисплеем I2C LCD2004]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=5648#p5648" />
			<content type="html"><![CDATA[<p>Премного благодарен. Попробую разобраться. Экран нужен для другого проекта с кэнни, для отображения промежуточных состояний диаграммы, так как светодиодов уже не хватает.</p>]]></content>
			<author>
				<name><![CDATA[alex_engine]]></name>
				<uri>https://forum.canny.ru/profile.php?id=289</uri>
			</author>
			<updated>2016-11-16T12:37:35Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=5648#p5648</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа CANNY7 с жидкокристаллическим дисплеем I2C LCD2004]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=5647#p5647" />
			<content type="html"><![CDATA[<p>Да после отключения питания от дисплея сбрасывается его настройка. При включении, дисплей находится в 8-битном режиме обмена данными и требует повторной инициализации.<br />Диаграмму в части инициализации менять не требуется. Можете попробовать подставить нужные данные в коммутатор блок №17, начиная с входа 1, вместо &quot;Hello, world!&quot;, используя конвертеры ITOA.<br />Немного доработанный пример во вложении. Он для LCD 2004 - вывод данных (4 изменяющихся значения) в 4 строки. Добавлены краткие пояснения. Однако боюсь что разобраться в ней будет довольно сложно, но адаптировать под нужный дисплей вполне возможно. Главное там показано, как выполнить преобразование данных и передать их на вывод.</p>]]></content>
			<author>
				<name><![CDATA[Денис, CANNY]]></name>
				<uri>https://forum.canny.ru/profile.php?id=3</uri>
			</author>
			<updated>2016-11-16T11:51:19Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=5647#p5647</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа CANNY7 с жидкокристаллическим дисплеем I2C LCD2004]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=5646#p5646" />
			<content type="html"><![CDATA[<p>Спасибо</p><p>Посадил а0, а1, а2 на массу, взял адрес 0х40 - завелось.<br />от наличия-отсутствия резисторов по 4.7кОм ничего не меняется. Похоже, на плате они уже есть.</p><p>Если экранчик отключить от кэнни а потом снова включить - отображается хаотичный набор знаков, до перевключения питания 12 вольт - я так понял, это сбивается инициализация?</p><p>Дальше, для использования 1602 мне нужно что-то поправлять в диаграмме, в части где инициализация? Или просто организовывать вывод символов с учетом меньшего &quot;разрешения&quot;?</p>]]></content>
			<author>
				<name><![CDATA[alex_engine]]></name>
				<uri>https://forum.canny.ru/profile.php?id=289</uri>
			</author>
			<updated>2016-11-16T10:25:55Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=5646#p5646</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа CANNY7 с жидкокристаллическим дисплеем I2C LCD2004]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=5645#p5645" />
			<content type="html"><![CDATA[<p>Попробуйте 0х40. Особенность нашего регистра. Это то же что 0х20&lt;&lt;1, т.к. адрес PCF8574 начинает задаваться с бита 1 (а еще есть бит 0 - R/W).<br />Но подтяжка линий SDA и SCL к 5В нужна все равно.</p>]]></content>
			<author>
				<name><![CDATA[Денис, CANNY]]></name>
				<uri>https://forum.canny.ru/profile.php?id=3</uri>
			</author>
			<updated>2016-11-16T09:11:42Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=5645#p5645</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа CANNY7 с жидкокристаллическим дисплеем I2C LCD2004]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=5644#p5644" />
			<content type="html"><![CDATA[<p>Денис, спасибо за ответ<br />У меня на плате PCF8574T <br /><span class="postimg"><img src="http://zelectro.cc/Content/Uploads/116/Files/Z-PCF8574T_I2C_mod-address.jpg" alt="http://zelectro.cc/Content/Uploads/116/Files/Z-PCF8574T_I2C_mod-address.jpg" /></span> <br />Наверное нужно пробовать адреса 0х20? Или все же 0х40?</p><p> Главное, что принципиальных отличий в экранах нет.</p><p>На плате между питанием и линиями 4.7кОм прозванивается. Стало быть дело не в этом <img src="https://forum.canny.ru/img/smilies/sad.png" width="15" height="15" alt="sad" /></p>]]></content>
			<author>
				<name><![CDATA[alex_engine]]></name>
				<uri>https://forum.canny.ru/profile.php?id=289</uri>
			</author>
			<updated>2016-11-16T08:29:19Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=5644#p5644</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа CANNY7 с жидкокристаллическим дисплеем I2C LCD2004]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=5643#p5643" />
			<content type="html"><![CDATA[<p>Если подключение PCF8574 к LCD соответствует приведенной выше схеме (на контактах А0, А1, А2 PCF8574 потенциал GND), то можно попробовать использовать адрес 0х40.<br />На дисплее 1602 можно попробовать текущую диаграмму, установив правильный адрес I2C, подход к выводу не меняется, адрес начала первой строки такой же (0х00), длины строки (16 символов) хватит для вывода текста &quot;Hello, world!&quot; начиная, как установлено в текущей диаграмме, с 4го знакоместа.<br /><strong>ВНИМАНИЕ! Напряжение питания и допускаемое напряжение на портах микросхемы PCF8574 составляет 5В! При подключении шины I2C контроллера CANNY7 к PCF8574 необходимо организовать подтяжку линий SDA и SCL к напряжению +5В резисторами 4,7кОм</strong>.<br />В использованном нами расширителе портов эти подтяжки уже есть, в Вашем случае их нужно установить дополнительно.</p>]]></content>
			<author>
				<name><![CDATA[Денис, CANNY]]></name>
				<uri>https://forum.canny.ru/profile.php?id=3</uri>
			</author>
			<updated>2016-11-16T08:23:20Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=5643#p5643</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа CANNY7 с жидкокристаллическим дисплеем I2C LCD2004]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=5642#p5642" />
			<content type="html"><![CDATA[<p>Отложил в сторону ардуиновский шилд, и (как думал) пошел простым путем.<br />Купил экран и плату (PCF8574T) к нему. Спаял, подключил - тишина. Просто синий экран.<br />Начал разбираться - экран оказался не 2004, а 1602. <br />Сложно диаграмму под такой экран переделать?<br /><a href="https://www.openhacks.com/uploadsproductos/eone-1602a1.pdf" rel="noopener noreferrer" target="_blank">https://www.openhacks.com/uploadsproduc … 1602a1.pdf</a></p><p>Вот даташит. Надо только адрес поменять или все глобальнее?</p><p>Спасибо</p><p>Полистал интернет, пробовал менять адреса: 0х20, 0х27, 0х3F. Тишина <img src="https://forum.canny.ru/img/smilies/sad.png" width="15" height="15" alt="sad" /></p>]]></content>
			<author>
				<name><![CDATA[alex_engine]]></name>
				<uri>https://forum.canny.ru/profile.php?id=289</uri>
			</author>
			<updated>2016-11-15T18:09:53Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=5642#p5642</id>
		</entry>
</feed>
