<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>I2C &#8211; alterstrategy.lab</title>
	<atom:link href="https://alterstrategy.com/product-tag/i2c/feed/" rel="self" type="application/rss+xml" />
	<link>https://alterstrategy.com/product-tag/i2c/</link>
	<description>NodeMCU embedded Lua script knowledge base and store &#124; Kyiv, Ukraine</description>
	<lastBuildDate>Fri, 06 Nov 2020 11:52:57 +0000</lastBuildDate>
	<language>uk</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://alterstrategy.com/wp-content/uploads/2017/03/cropped-cropped-alterstrategy-lab-ICO-1-32x32.png</url>
	<title>I2C &#8211; alterstrategy.lab</title>
	<link>https://alterstrategy.com/product-tag/i2c/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Цифровий газовий датчик CCS811 для  моніторингу якості повітря в приміщенні по CO2 та TVOC &#8211; програмний I2C драйвер з обробкою подій без GPIO переривань</title>
		<link>https://alterstrategy.com/product/ccs811-drv/</link>
		
		<dc:creator><![CDATA[Kuyan Alexander]]></dc:creator>
		<pubDate>Thu, 05 Nov 2020 16:22:47 +0000</pubDate>
				<guid isPermaLink="false">https://alterstrategy.com/?post_type=product&#038;p=227195</guid>

					<description><![CDATA[<p><span lang="uk-UA">Програмний модуль драйвера сенсора еквівалентних рівнів </span><span lang="en-US">CO2 </span><span lang="uk-UA">та </span><span lang="en-US">TVOC</span><span lang="uk-UA"> реалізує набір інструментів апаратної інтегральної схеми сенсора </span><span lang="en-US">CCS811. В </span><span lang="uk-UA">драйвері ми вирішили програмно опитувати сенсор і обробляти події на стороні головного контролера. Застосування послідовної шини, заощаджує/вивільняє порт контролера під сигнал </span><span lang="en-US">INT</span><span lang="uk-UA">. До програмної обробки подій на стороні контролера нас підштовхнула відсутність апаратної реалізації обробки подій за порогами по </span><span lang="en-US">TVOC </span><span lang="uk-UA">(сенсор підтримує лише події для </span><span lang="en-US">CO2 </span><span lang="uk-UA">у </span><span lang="en-US">ppm</span><span lang="uk-UA">), що робить неможливим для користувача вказувати пороги у </span><span lang="en-US">ppb</span><span lang="uk-UA"> для обробки рівнів </span><span lang="en-US">TVOC</span><span lang="uk-UA">. Варто згадати про гістерезис, який в апаратній реалізації чіпа є фіксованим і становить 50 </span><span lang="en-US">ppm </span><span lang="uk-UA">для </span><span lang="en-US">CO2.</span></p>
<p><span lang="uk-UA">Ми реалізували в драйвері наступні задачі</span><span lang="en-US">: </span><span lang="uk-UA">події обробляються як для </span><span lang="en-US">CO2 </span><span lang="uk-UA">так і для </span><span lang="en-US">TVOC </span><span lang="uk-UA">із можливістю задавати гістерезис індивідуально; </span><span lang="en-US">GPIO з</span><span lang="uk-UA">аймає лише шина </span><span lang="en-US">I2C, </span><span lang="uk-UA">користувач вказує пороги не у двійкових “сирих” числах, а у </span><span lang="en-US">ppm </span><span lang="uk-UA">для </span><span lang="en-US">CO2 </span><span lang="uk-UA">та у </span><span lang="en-US">ppb </span><span lang="uk-UA">для </span><span lang="en-US">TVOC</span><span lang="uk-UA">. Введено спеціальний коефіцієнт достовірності вимірюваних величин, адже сенсор у відповідності до документації починає стабільно працювати лише через певний проміжок часу. Виконується компенсація по температурі та вологості. Стани за подіями розрізняються які: “Норма” / “Нижче норми” / “Вище норми” / “Невідомий”.</span></p>
<p><span lang="uk-UA">Продукт <span class="lang:lua decode:true crayon-inline ">ccs811_drv</span> </span><span lang="uk-UA">, після запуску у середовищі Lua, «фоново» працює як повноцінний модуль зі своїми публічними методами, що зареєстровано у системному оточенні і котрі можливо викликати з рівня мови Lua. У модулі реалізовано методи ініціалізації <span class="lang:lua decode:true crayon-inline ">ccs811.init()</span> </span><span lang="uk-UA"> та читання поточних значень <span class="lang:lua decode:true crayon-inline ">ccs811.readout()</span> </span><span lang="uk-UA">, а також службовий метод <span class="lang:lua decode:true crayon-inline ">event()</span> </span><span lang="en-US"> </span><span lang="uk-UA">що обробляє події зміни стану.</span></p>
<p>The post <a href="https://alterstrategy.com/product/ccs811-drv/">Цифровий газовий датчик CCS811 для  моніторингу якості повітря в приміщенні по CO2 та TVOC &#8211; програмний I2C драйвер з обробкою подій без GPIO переривань</a> appeared first on <a href="https://alterstrategy.com">alterstrategy.lab</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>Сенсор освітленості MAX44009 &#8211; програмний I2C драйвер з обробкою подій без GPIO переривань</title>
		<link>https://alterstrategy.com/product/max44009-drv/</link>
		
		<dc:creator><![CDATA[Kuyan Alexander]]></dc:creator>
		<pubDate>Mon, 28 Sep 2020 12:18:58 +0000</pubDate>
				<guid isPermaLink="false">https://alterstrategy.com/?post_type=product&#038;p=220019</guid>

					<description><![CDATA[<p><span lang="uk-UA">Цей програмний модуль драйвера сенсора освітленості реалізує повний набір інструментів в обхід деяких незручних можливостей апаратної інтегральної схеми </span><span lang="en-US">MAX44009. </span><span lang="uk-UA">Через “дивну” реалізацію виробником мікросхеми режиму обробки переривань “віконного компаратора” з двома порогами, ми прийшли до рішення, що набагато ефективніше буде програмно опитувати сенсор і обробляти події на стороні головного контролера. Застосування лише послідовної шини, заощаджує/вивільняє порт контролера під сигнал </span><span lang="en-US">INT</span><span lang="uk-UA">. Також, до програмної обробки подій на стороні контролера, нас підштовхнула експоненційна природа значень порогів у регістрах сенсора, що робить неможливим для користувача вказувати пороги у люксах без спеціальних таблиць перерахунку. Ми ж, гарно попрацювали і вирішили всі згадані складнощі</span><span lang="en-US">: </span><span lang="uk-UA">події обробляються, </span><span lang="en-US">GPIO з</span><span lang="uk-UA">аймає лише порти під шину </span><span lang="en-US">I2C, </span><span lang="uk-UA">користувач вказує пороги не у двікових “сирих” числах, а у люксах.</span></p>
<p><span lang="uk-UA">Продукт </span><span lang="en-US">max44009_drv</span><span lang="uk-UA">, після запуску у середовищі Lua, «фоново» працює як повноцінний модуль зі своїми публічними методами, що зареєстровано у системному оточенні і котрі можливо викликати з рівня мови Lua. У модулі реалізовано методи ініціалізації </span><code><span lang="en-US">max44009</span></code><span lang="uk-UA"><code>.init()</code> та читання поточного значення </span><code><span lang="en-US">max44009</span><span lang="uk-UA">.</span><span lang="en-US">readout</span></code><span lang="uk-UA"><code>()</code>, а також службовий метод e</span><span lang="en-US">vent() </span><span lang="uk-UA">що обробляє події зміни стану на</span> <span lang="uk-UA">принципах: “Норма” / “Нижче норми” / “Вище норми”.</span></p>
<p>The post <a href="https://alterstrategy.com/product/max44009-drv/">Сенсор освітленості MAX44009 &#8211; програмний I2C драйвер з обробкою подій без GPIO переривань</a> appeared first on <a href="https://alterstrategy.com">alterstrategy.lab</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>I2C драйвер модуля інтерфейсів користувача IoT-Devices I2CUI1 з обробкою подій</title>
		<link>https://alterstrategy.com/product/iot-devices-i2cui1-pca9538-drv/</link>
		
		<dc:creator><![CDATA[Kuyan Alexander]]></dc:creator>
		<pubDate>Sat, 22 Aug 2020 11:27:56 +0000</pubDate>
				<guid isPermaLink="false">https://alterstrategy.com/?post_type=product&#038;p=213076</guid>

					<description><![CDATA[<p><span lang="uk-UA">Програмний модуль для інтеграції апаратного модуля інтерфейсів користувача <strong><a href="https://iot-devices.com.ua/product/i2cui1-user-interface-module-4-in-1/"><span lang="en-US">I2CUI1</span></a></strong>, дозволяє побудувати повноцінний інтерфейс взаємодії користувача з розумним пристроєм. Широкий набір функцій інтерфейсу користувача реалізується завдяки інтегральної схемі розширювача портів </span><span lang="en-US">PCA9538, </span><span lang="uk-UA">джойстика на 5 позицій, </span><span lang="en-US">RGB- </span><span lang="">св</span><span lang="uk-UA">і</span><span lang="">тлод</span><span lang="uk-UA">іода та базера.</span></p>
<p><span lang="uk-UA">Програмний продукт дозволяє підключити </span><strong><a href="https://iot-devices.com.ua/product/i2cui1-user-interface-module-4-in-1/"><span lang="en-US">I2CUI1 </span></a></strong><span lang="uk-UA">до контролера </span><span lang="en-US">NodeMCU </span><span lang="uk-UA">через шину </span><span lang="en-US">I2C </span><span lang="uk-UA"> з обробкою переривань </span><span lang="">через окремий </span><span lang="en-US">GPIO. </span></p>
<p><span lang="uk-UA">Застосування у даному програмно-апаратному рішенні послідовної шини, заощаджує/вивільняє порти контролера — цей підхід потребує лише три </span><span lang="en-US">GPIO </span><span lang="uk-UA">контролера. Також задіюється окремий порт </span><span lang="en-US">GPIO ESP8266 </span><span lang="uk-UA">для базера та обробки переривань.</span></p>
<p><span lang="uk-UA">Продукт </span><span lang="en-US">i2cui1_pca9538_drv</span><span lang="uk-UA">, після запуску у середовищі Lua, «фоново» працює як повноцінний модуль зі своїми публічними методами, що зареєстровано у системному оточенні і котрі можливо викликати з рівня мови Lua. </span></p>
<p><span lang="uk-UA">У модулі реалізовано методи:</span></p>
<ul>
<li><span lang="uk-UA"> ініціалізації <code>i2cui1.init()</code>;</span></li>
<li><span lang="uk-UA">керування </span><span lang="en-US">RGB-</span><span lang="uk-UA">світлодіодом <code>i2cui1.led()</code>;</span></li>
<li><span lang="uk-UA">керування базером <code>i2cui1.buzzer()</code>;</span></li>
<li><span lang="uk-UA">зчитування стану входів джойстика <code>pca9538.input()</code>;</span></li>
<li><span lang="uk-UA">службовий метод </span><span lang="en-US"><code>int()</code>, </span><span lang="uk-UA">що обробляє події джойстика (вліво, вправо, вверх, вниз, Ок).</span></li>
</ul>
<p>&#160;</p>
<p>The post <a href="https://alterstrategy.com/product/iot-devices-i2cui1-pca9538-drv/">I2C драйвер модуля інтерфейсів користувача IoT-Devices I2CUI1 з обробкою подій</a> appeared first on <a href="https://alterstrategy.com">alterstrategy.lab</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>Восьмиканальний розширювач портів PCA9538 &#8211; програмний I2C драйвер  з обробкою переривань</title>
		<link>https://alterstrategy.com/product/pca9538-ext-drv/</link>
		
		<dc:creator><![CDATA[Kuyan Alexander]]></dc:creator>
		<pubDate>Fri, 07 Aug 2020 14:34:35 +0000</pubDate>
				<guid isPermaLink="false">https://alterstrategy.com/?post_type=product&#038;p=210247</guid>

					<description><![CDATA[<p><span lang="uk-UA">Програмний модуль драйвера розширювача портів дозволяє реалізувати повний набір можливостей апаратної інтегральної схеми розширювача портів </span><span lang="en-US">PCA9538 </span><span lang="uk-UA">і підключити до контролера </span><span lang="en-US">NodeMCU </span><span lang="uk-UA">через шину </span><span lang="en-US">I2C </span><span lang="uk-UA">ще вісім додаткових портів вводу-виводу, причому з обробкою переривань</span><span lang="en-US">. </span></p>
<p><span lang="uk-UA">Застосування послідовної шини заощаджує/вивільняє порти контролера — цей підхід потребує лише три </span><span lang="en-US">GPIO </span><span lang="uk-UA">контролера, а надає натомість аж вісім додаткових портів.</span> <span lang="uk-UA">Продукт </span><span lang="en-US">pca9538-ext-drv</span><span lang="uk-UA">, після запуску у середовищі Lua, «фоново» працює як повноцінний модуль зі своїми публічними методами, що зареєстровано у системному оточенні і котрі можливо викликати з рівня мови Lua. </span></p>
<p><span lang="uk-UA">У модулі реалізовано методи:</span></p>
<ul>
<li><span lang="uk-UA"> ініціалізації pca9538.init();</span></li>
<li><span lang="uk-UA">конфігурації входів-виходів pca9538.config();</span></li>
<li><span lang="uk-UA">інверсії полярності входів pca9538.polarity();</span></li>
<li><span lang="uk-UA">встановлення стану виходів pca9538.output();</span></li>
<li><span lang="uk-UA">зчитування стану входів pca9538.input();</span></li>
<li><span lang="uk-UA">службовий метод </span><span lang="en-US">int() </span><span lang="uk-UA">що обробляє події на входах </span><span lang="en-US">PCA9538</span><span lang="uk-UA">.</span></li>
</ul>
<p>The post <a href="https://alterstrategy.com/product/pca9538-ext-drv/">Восьмиканальний розширювач портів PCA9538 &#8211; програмний I2C драйвер  з обробкою переривань</a> appeared first on <a href="https://alterstrategy.com">alterstrategy.lab</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>Вимірювання напруги на АЦП TI ADC101c021, з обробкою подій і мін/макс за HW регістрами, шляхом опитування I2C</title>
		<link>https://alterstrategy.com/product/ti_adc101c021_6/</link>
		
		<dc:creator><![CDATA[nimda]]></dc:creator>
		<pubDate>Fri, 14 Dec 2018 11:33:49 +0000</pubDate>
				<guid isPermaLink="false">https://alterstrategy.com/?post_type=product&#038;p=93776</guid>

					<description><![CDATA[<p>Вимірювання напруги постійного струму на базі АЦП TI ADC101c021, з обробкою подій перетину нижнього та верхнього порогів із залученням всіх наявних апаратних регістрів, з накопиченням у регістрах мін/макс значень, шляхом постійного опитування шини I2C через рівні проміжки часу.</p>
<p>Даний програмний продукт автоматично вимірює поточне значення напруги на єдиному вході Vin у рівні проміжки часу. Також виконується відслідковування стану регістру прапорця перетину встановлених користувачем нижнього та верхнього порогів з урахуванням гістерезису.<br />
Програмний модуль побудовано таким чином, що пороги та гістерезис задається у мілівольтах, або поділках шкали АЦП, що дуже зручно і дозволяє швидко виконувати початкове налаштування програми.<br />
Окрім подій, програмний модуль відслідковує регістри автоматичного накопичення мінімального та максимального значення величини на вході. Оскільки АЦП самостійно виконує накопичення цих значень, то всі отримані дані буде враховано, навіть у період між вимірюваннями.</p>
<p>The post <a href="https://alterstrategy.com/product/ti_adc101c021_6/">Вимірювання напруги на АЦП TI ADC101c021, з обробкою подій і мін/макс за HW регістрами, шляхом опитування I2C</a> appeared first on <a href="https://alterstrategy.com">alterstrategy.lab</a>.</p>
]]></description>
		
		
		
			</item>
	</channel>
</rss>
