Sisukord:

PCF8591 (i2c analoog -I/O Expander) Kiire lihtne kasutamine: 9 sammu
PCF8591 (i2c analoog -I/O Expander) Kiire lihtne kasutamine: 9 sammu

Video: PCF8591 (i2c analoog -I/O Expander) Kiire lihtne kasutamine: 9 sammu

Video: PCF8591 (i2c analoog -I/O Expander) Kiire lihtne kasutamine: 9 sammu
Video: Кратенький обзор PCF8591 2024, Juuli
Anonim
PCF8591 (i2c analoog -I/O Expander) Kiire lihtne kasutamine
PCF8591 (i2c analoog -I/O Expander) Kiire lihtne kasutamine

Raamatukogu i2c pcf8591 IC kasutamiseks koos arduino ja esp8266 -ga.

See IC võib juhtida (kuni 4) analoogsisendit ja/või 1 analoogväljundit, näiteks mõõta pinget, lugeda termistori väärtust või tuhmuda.

Oskab lugeda analoogväärtust ja kirjutada analoogväärtust ainult 2 juhtmega (ideaalne ESP-01 jaoks).

Püüan lihtsustada selle IC kasutamist minimaalse toimingute komplektiga.

Värskendatud versiooni leiate minu saidilt

Samm: kuidas I2c töötab

Kuidas I2c töötab
Kuidas I2c töötab

I2C töötab kahe juhtmega, SDA (andmeside) ja SCL (kellajoon).

Mõlemad liinid on avatud äravooluga, kuid takistitega üles tõmmatud.

Tavaliselt on liinil üks peremees ja üks või mitu orja, kuigi neid võib olla mitu, kuid sellest räägime hiljem.

Nii meistrid kui ka orjad saavad andmeid edastada või vastu võtta, seetõttu võib seade olla ühes neljast olekust: põhisaatmine, ülemvastuvõtmine, alamsaade, alamvastuvõtt.

2. samm:

Minu raamatukogu leiate siit.

Alla laadida.

Klõpsake paremas ülanurgas nuppu DOWNLOADS (Laadi alla), nimetage tihendamata kaust ümber PCF8591.

Kontrollige, kas kaust PCF8591 sisaldab PCF8591.cpp ja PCF8591.h.

Asetage raamatukogu kaust PCF8591 oma / libraries / kausta.

Teil võib tekkida vajadus luua raamatukogude alamkaust, kui see on teie esimene kogu.

Taaskäivitage IDE.

3. samm: kasutamine

Konstruktor: peate sisestama i2c aadressi (aadressi kontrollimiseks kasutage seda juhendit I2cScanner)

PCF8591 (aadress uint8_t);

esp8266 jaoks, kui soovite määrata SDA ja SCL -pin, kasutage seda:

PCF8591 (aadress uint8_t, uint8_t sda, uint8_t scl);

Samm: lugege väärtust

Lugege väärtust
Lugege väärtust

IC -l, nagu pildil näha, on 4 analoogsisendit ja 1 analoogväljund.

Nii et saate lugeda kõiki analoogsisendeid ühes edastuses (väärtus on 0 kuni 255):

PCF8591:: AnalogInput ai = pcf8591.analogReadAll ();

Jadajälg (ai.ain0); Serial.print (" -"); Seeriaprint (ai.ain1); Serial.print (" -"); Seeriatrükk (ai.ain2); Serial.print (" -"); Serial.println (ai.ain3);

kui soovite lugeda ühte analoogsisendit või kanalit:

int ana = pcf8591.analogRead (AIN0); // loe analoogi 0

Samm: lugege kanalit Vale

Lugege Vale kanalilt
Lugege Vale kanalilt

Sellel IC -l on mitut tüüpi lugemine ja saate kasutada analoogsisendit või analoogkanalit (kui kasutate ühe lugemisega analoogsisendit ja kanal on piltidel).

Näiteks kanali 0 väärtuse lugemiseks kahes diferentsiaalsisendis peate tegema järgmist.

int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // loe analoogi 0

Samm: kirjutage väärtus

Kui soovite kirjutada analoogväärtuse, peate seda tegema (väärtus on 0 kuni 255):

pcf8591.analogWrite (128);

Samm: lisafunktsioonid

Lisavõimalus on kirjutamispinge lugemine: Pinge arvutamiseks peate edastama mõne parameetri:

  • mikrokontrollerReferenceVoltage: saada pinge mikrokontrolleri pingest (ainult AVR nr esp8266 esp 3.3v jaoks fikseeritud)
  • referenceVoltage: kui mikrokontrollerReferenceVoltage false võtab selle väärtuse Käsk on:

tühine pingeWrite (ujuki väärtus, bool mikrokontrollerReferenceVoltage = true, float referenceVoltage = 5,0);

ujukpingeRead (uint8_t analoogPin, bool mikrokontrollerReferenceVoltage = true, float referenceVoltage = 5.0);

Näide on järgmine:

pcf8591.voltageWrite (2.7); // 2.7 volti väljund

viivitus (3000);

float ana0V = pcf8591.voltageRead (AIN0); // Loe pinget analoogist 0

Serial.println (ana0V);

Samm 8: Ühendusskeemi näited

Ühendusskeemi näited
Ühendusskeemi näited

9. samm: aitäh

i2c projektisari (kollektsioon):

  • Temperatuuri niiskuse andur
  • Analooglaiendaja
  • Digitaalne laiendaja
  • LCD ekraan

Soovitan: