Përmbajtje:

PCF8591 (I2c Analog I/O Expander) Përdorimi i lehtë i shpejtë: 9 hapa
PCF8591 (I2c Analog I/O Expander) Përdorimi i lehtë i shpejtë: 9 hapa

Video: PCF8591 (I2c Analog I/O Expander) Përdorimi i lehtë i shpejtë: 9 hapa

Video: PCF8591 (I2c Analog I/O Expander) Përdorimi i lehtë i shpejtë: 9 hapa
Video: Arduino analog port expander - pcf8591 with I2C protocol 2024, Korrik
Anonim
PCF8591 (I2c Analog I/O Expander) Përdorim i lehtë i shpejtë
PCF8591 (I2c Analog I/O Expander) Përdorim i lehtë i shpejtë

Biblioteka për të përdorur i2c pcf8591 IC me arduino dhe esp8266.

Ky IC mund të kontrollojë (deri në 4) hyrje analoge dhe/ose 1 dalje analoge si matja e tensionit, të lexojë vlerën e termistorit ose të zbehë një led.

Mund të lexojë vlerë analoge dhe të shkruajë vlerë analoge me vetëm 2 tela (e përsosur për ESP-01).

Unë përpiqem të thjeshtoj përdorimin e këtij IC, me një grup minimal të funksionimit.

Ju mund të gjeni versionin e përditësuar në faqen time

Hapi 1: Si funksionon I2c

Si funksionon I2c
Si funksionon I2c

I2C punon me dy telat e tij, SDA (linja e të dhënave) dhe SCL (linja e orës).

Të dyja këto linja janë me rrjedhje të hapur, por janë tërhequr me rezistorë.

Zakonisht ka një mjeshtër dhe një ose shumë skllevër në linjë, megjithëse mund të ketë shumë zotërinj, por ne do të flasim për këtë më vonë.

Të dy zotërit dhe skllevërit mund të transmetojnë ose marrin të dhëna, prandaj, një pajisje mund të jetë në njërën nga këto katër gjendje: transmetimi kryesor, marrja master, transmetimi skllav, marrja skllav.

Hapi 2:

Këtu mund të gjeni bibliotekën time.

Për të shkarkuar.

Klikoni butonin DOWNLOADS në këndin e sipërm të djathtë, riemërtoni dosjen e pakompresuar PCF8591.

Kontrolloni që dosja PCF8591 të përmbajë PCF8591.cpp dhe PCF8591.h.

Vendoseni dosjen tuaj të bibliotekës PCF8591 / bibliotekat / dosjen tuaj.

Ju mund të keni nevojë të krijoni nën -dosjen e bibliotekave nëse është biblioteka juaj e parë.

Rinisni IDE -në.

Hapi 3: Përdorimi

Ndërtuesi: duhet të kaloni adresën e i2c (për të kontrolluar adresën përdorni këtë udhëzues I2cScanner)

PCF8591 (adresa uint8_t);

për esp8266 nëse doni të specifikoni pinin SDA e SCL përdorni këtë:

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

Hapi 4: Lexoni vlerën

Lexo Vlerën
Lexo Vlerën

IC siç mund ta shihni në imazh kanë 4 hyrje analoge dhe 1 dalje analoge.

Pra, për të lexuar të gjitha hyrjet analoge në një transmetim mund të bëni (vlera është nga 0 në 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);

nëse doni të lexoni një hyrje ose kanal të vetëm analog:

int ana = pcf8591.analogRead (AIN0); // lexoni analog 0

Hapi 5: Lexoni Vale Nga Kanali

Lexoni Vale nga Kanali
Lexoni Vale nga Kanali

Ky IC ka një lloj leximi të shumëfishtë dhe ju mund të përdorni hyrje analoge ose kanal analog (kur përdorni hyrje analoge me një lexim të vetëm dhe kanali është në fotografi).

Për shembull, për të lexuar vlerën e kanalit 0 në Dy hyrje diferenciale, duhet të bëni:

int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // lexoni analog 0

Hapi 6: Shkruani vlerën

Nëse doni të shkruani një vlerë analoge që duhet të bëni (vlera është nga 0 në 255):

pcf8591.analogShkruaj (128);

Hapi 7: Karakteristika shtesë

Karakteristikë shtesë është të lexoni një tension shkrimi: Për llogaritjen e tensionit duhet të kaloni disa parametra:

  • mikrokontrolluesi ReferencaTensioni: merrni tension nga tensioni i mikrokontrolluesit (vetëm AVR pa esp8266 për esp 3.3v fikse)
  • referencëTensioni: nëse mikrokontrolluesiReferenceVoltazhi i rremë merr këtë vlerëKomanda janë:

tension i pavlefshëm Shkruaj (vlera e notit, mikrokontrolluesi boolReferenceVoltage = e vërtetë, referenca e notimit Voltage = 5.0);

float tensionRead (uint8_t analogPin, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5.0);

Një shembull është:

pcf8591.voltageWrite (2.7); // 2.7 Volt dalje

vonesë (3000);

noton ana0V = pcf8591.voltageRead (AIN0); // Lexoni tensionin nga analoge 0

Serial.println (ana0V);

Hapi 8: Shembuj Diagrami i Lidhjes

Shembuj Diagrami i Lidhjes
Shembuj Diagrami i Lidhjes

Hapi 9: Faleminderit

seri projektesh i2c (Koleksion):

  • Sensori i lagështisë së temperaturës
  • Zgjerues analog
  • Zgjerues dixhital
  • Ekran LCD

Recommended: