Съдържание:
- Стъпка 1: Как работи I2c
- Стъпка 2:
- Стъпка 3: Използване
- Стъпка 4: Прочетете стойност
- Стъпка 5: Прочетете Vale от Channel
- Стъпка 6: Запишете стойност
- Стъпка 7: Допълнителни функции
- Стъпка 8: Примери за диаграма на свързване
- Стъпка 9: Благодаря
Видео: PCF8591 (i2c аналогов I/O разширител) Бързо и лесно използване: 9 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Библиотека за използване на i2c pcf8591 IC с arduino и esp8266.
Тази IC може да контролира (до 4) аналогов вход и/или 1 аналогов изход като измерване на напрежение, да прочете стойността на термистора или да избледнее светодиода.
Може да чете аналогова стойност и да записва аналогова стойност само с 2 проводника (идеално за ESP-01).
Опитвам се да опростя използването на тази интегрална схема с минимален набор от операции.
Можете да намерите актуализирана версия на моя сайт
Стъпка 1: Как работи I2c
I2C работи с двата си проводника, SDA (линия за данни) и SCL (линия на часовника).
И двете линии са с отворен дренаж, но са изтеглени с резистори.
Обикновено на линията има един главен и един или няколко подчинени, въпреки че може да има няколко господари, но ще говорим за това по -късно.
И господарите, и подчинените могат да предават или получават данни, следователно, устройството може да бъде в едно от тези четири състояния: главно предаване, главно приемане, предаване на подчинено устройство, приемане на подчинено устройство.
Стъпка 2:
Моята библиотека можете да намерите тук.
За изтегляне.
Щракнете върху бутона ИЗТЕГЛЯНЕ в горния десен ъгъл, преименувайте некомпресираната папка PCF8591.
Проверете дали папката PCF8591 съдържа PCF8591.cpp и PCF8591.h.
Поставете библиотечната папка PCF8591 във вашата / библиотеки / папка.
Може да се наложи да създадете подпапка библиотеки, ако това е първата ви библиотека.
Рестартирайте IDE.
Стъпка 3: Използване
Конструктор: трябва да въведете адреса на i2c (за да проверите адреса използвайте това ръководство I2cScanner)
PCF8591 (uint8_t адрес);
за esp8266, ако искате да посочите SDA e SCL щифт, използвайте това:
PCF8591 (uint8_t адрес, uint8_t sda, uint8_t scl);
Стъпка 4: Прочетете стойност
IC, както можете да видите на изображението, има 4 аналогови входа и 1 аналогов изход.
Така че, за да прочетете всички аналогови входове в едно предаване, можете да направите (стойността е от 0 до 255):
PCF8591:: AnalogInput ai = pcf8591.analogReadAll ();
Serial.print (ai.ain0); Serial.print (" -"); Serial.print (ai.ain1); Serial.print (" -"); Serial.print (ai.ain2); Serial.print (" -"); Serial.println (ai.ain3);
ако искате да прочетете един аналогов вход или канал:
int ana = pcf8591.analogRead (AIN0); // чете аналогов 0
Стъпка 5: Прочетете Vale от Channel
Тази интегрална схема има няколко вида четене и можете да използвате аналогов вход или аналогов канал (когато използвате аналогов вход за едно четене и каналът е на снимките).
Например, за да прочетете стойността на канал 0 в два диференциални входа, трябва да направите:
int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // чете аналогов 0
Стъпка 6: Запишете стойност
Ако искате да напишете аналогова стойност, трябва да направите (стойността е от 0 до 255):
pcf8591.analogWrite (128);
Стъпка 7: Допълнителни функции
Допълнителна функция е да прочетете напрежение за запис: За изчисляване на напрежението трябва да предадете някакъв параметър:
- микроконтролер Референция Напрежение: получете напрежение от напрежението на микроконтролера (само AVR без esp8266 за esp 3.3v фиксиран)
- referenceVoltage: if microcontrollerReferenceVoltage false вземе тази стойност Командата е:
void voltageWrite (плаваща стойност, bool микроконтролерReferenceVoltage = вярно, float referenceVoltage = 5.0);
float voltageRead (uint8_t analogPin, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5.0);
Пример е:
pcf8591.voltageWrite (2.7); // 2.7 Волта изход
забавяне (3000);
поплавък ana0V = pcf8591.voltageRead (AIN0); // Четене на напрежение от аналогов 0
Serial.println (ana0V);
Стъпка 8: Примери за диаграма на свързване
Стъпка 9: Благодаря
серия проекти на i2c (колекция):
- Сензор за температурата на влажността
- Аналогов разширител
- Цифров разширител
- ЛСД дисплей
Препоръчано:
DHT12 (i2c сензор за евтина влажност и температура), бързо и лесно използване: 14 стъпки
DHT12 (i2c евтин сензор за влажност и температура), бързо и лесно използване: Можете да намерите актуализация и други на моя сайт https://www.mischianti.org/2019/01/01/dht12-library-en/.Харесвам сензор, който може да се използва с 2 проводника (i2c протокол), но аз обичам евтиния. Това е библиотека Arduino и esp8266 за серията DHT12 o
Закачалка за ехо точки, лесно, бързо и евтино!: 7 стъпки
Закачалка за ехо точки, лесно, бързо и евтино !: От mrcisaleaffan Публикувано на 26 юли 2018 г. Ако ви хареса тази инструкция, моля, гласувайте за нея в " Творческа злоупотреба " Въведение: Закачалка за ехо точки, лесно, бързо и евтино През изминалата Коледа получих интелигентен високоговорител Alexa Echo. Синк
Бързо и лесно FPV Mini RC Car Racing: 3 стъпки
Бързо и лесно FPV Mini RC Car Racing: Имам няколко автомобила WLToys K979 и исках да изпробвам мини FPV състезания на закрито. С разпространението на евтини All In One (AIO) камери и предаватели беше доста лесно да го настроите. Ето какво ви трябва: RC Car (използвам WLToys K979) $
СЪЗДАЙТЕ СОБСТВЕН СЪРВЪР НА MINECRAFT! Супер лесно, бързо и безплатно! (БЕЗ КЛИКАННА СТРАВКА): 11 стъпки (със снимки)
СЪЗДАЙТЕ СОБСТВЕН СЪРВЪР НА MINECRAFT! Супер лесно, бързо и безплатно! (NO CLICK BAIT): Minecraft е изключително приятна игра, в която практически можете да правите всичко, което желаете! Но играта с приятели в интернет понякога може да бъде болка. За съжаление повечето мултиплейър сървъри или са пълни с тролове, а не с опит в играта
Бързо, бързо, евтино, добре изглеждащо LED осветление на стаята (за всеки): 5 стъпки (със снимки)
Бързо, бързо, евтино, добре изглеждащо LED осветление на стаята (за всеки): Добре дошли на всички :-) Това е първият ми инструктаж, така че коментарите са добре дошли :-) Това, което се надявам да ви покажа, е как да направите бързо LED осветление, което е включено МАЛКИ бугет. Какво ви е необходимо: Кабелни LED светодиоди Резистори (510 Ома за 12V) ТепелиПайник Режещи и други основи