Sisällysluettelo:

PCF8591 (i2c Analog I/O Expander) Nopea ja helppokäyttöinen: 9 vaihetta
PCF8591 (i2c Analog I/O Expander) Nopea ja helppokäyttöinen: 9 vaihetta

Video: PCF8591 (i2c Analog I/O Expander) Nopea ja helppokäyttöinen: 9 vaihetta

Video: PCF8591 (i2c Analog I/O Expander) Nopea ja helppokäyttöinen: 9 vaihetta
Video: PCF8575 распаковка 2024, Heinäkuu
Anonim
PCF8591 (i2c Analog I/O Expander) Nopea ja helppokäyttöinen
PCF8591 (i2c Analog I/O Expander) Nopea ja helppokäyttöinen

Kirjasto käyttää i2c pcf8591 IC: tä arduinon ja esp8266: n kanssa.

Tämä IC voi ohjata (kunnes 4) analogista tuloa ja/tai 1 analogista lähtöä, kuten mitata jännitettä, lukea termistorin arvon tai himmentää ledin.

Voi lukea analogisen arvon ja kirjoittaa analogisen arvon vain 2 johdolla (täydellinen ESP-01: lle).

Yritän yksinkertaistaa tämän IC: n käyttöä minimaalisella toiminnalla.

Löydät päivitetyn version sivustoltani

Vaihe 1: Miten I2c toimii

Miten I2c toimii
Miten I2c toimii

I2C toimii kahdella johdolla, SDA (datalinja) ja SCL (kellolinja).

Molemmat linjat ovat avoimia tyhjennyksiä, mutta ne on vedetty ylös vastuksilla.

Yleensä linjalla on yksi isäntä ja yksi tai useampi orja, vaikka isäntiä voi olla useita, mutta puhumme siitä myöhemmin.

Sekä isännät että orjat voivat lähettää tai vastaanottaa dataa, joten laite voi olla jossakin näistä neljästä tilasta: isäntälähetys, isäntävastaanotto, orjalähetys, orjavastaanotto.

Vaihe 2:

Kirjastoni löydät täältä.

Ladata.

Napsauta LATAA -painiketta oikeassa yläkulmassa ja nimeä pakkaamaton kansio uudelleen PCF8591.

Tarkista, että PCF8591 -kansio sisältää PCF8591.cpp ja PCF8591.h.

Aseta PCF8591 -kirjastokansio / libraries / kansio.

Sinun on ehkä luotava kirjastojen alikansio, jos se on ensimmäinen kirjasto.

Käynnistä IDE uudelleen.

Vaihe 3: Käyttö

Rakentaja: sinun on annettava i2c: n osoite (voit tarkistaa osoitteen käyttämällä tätä opasta I2cScanner)

PCF8591 (uint8_t -osoite);

esp8266: lle, jos haluat määrittää SDA e SCL -tapin, käytä tätä:

PCF8591 (uint8_t -osoite, uint8_t sda, uint8_t scl);

Vaihe 4: Lue arvo

Lue arvo
Lue arvo

IC: ssä, kuten kuvassa näkyy, on 4 analogista tuloa ja 1 analoginen lähtö.

Joten voit lukea kaikki analogiset tulot yhdellä lähetyksellä, jonka voit tehdä (arvo on 0 - 255):

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

Sarjajälki (ai.ain0); Serial.print (" -"); Sarjajälki (ai.ain1); Serial.print (" -"); Sarjajälki (ai.ain2); Serial.print (" -"); Sarja.println (ai.ain3);

jos haluat lukea yhden analogisen tulon tai kanavan:

int ana = pcf8591.analogRead (AIN0); // lue analoginen 0

Vaihe 5: Lue Vale kanavalta

Lue Vale kanavalta
Lue Vale kanavalta

Tällä IC: llä on useita luentotyyppejä, ja voit käyttää analogista tuloa tai analogista kanavaa (kun käytät yhden lukun analogista tuloa ja kanava on kuvissa).

Esimerkiksi kanavan 0 arvon lukemiseksi kahdesta differentiaalitulosta sinun on tehtävä:

int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // lue analoginen 0

Vaihe 6: Kirjoita arvo

Jos haluat kirjoittaa analogisen arvon, sinun on tehtävä se (arvo on 0 - 255):

pcf8591.analogWrite (128);

Vaihe 7: Lisäominaisuudet

Lisäominaisuus on kirjoitusjännitteen lukeminen: Jännitteen laskemiseksi sinun on annettava jokin parametri:

  • microcontrollerReferenceVoltage: hanki jännite mikrokontrollerin jännitteestä (vain AVR no esp8266 for ESP 3.3v kiinteä)
  • referenceVoltage: if microcontrollerReferenceVoltage false ota tämä arvo Komento ovat:

tyhjä jännite Kirjoita (kelluva arvo, bool -mikrokontrolleriReferenceVoltage = true, float referenceVoltage = 5.0);

kelluva jänniteLue (uint8_t analoginen Pin, bool -mikrokontrolleriReferenceVoltage = true, float referenceVoltage = 5.0);

Esimerkki on:

pcf8591.voltageWrite (2.7); // 2.7 Volttien lähtö

viive (3000);

float ana0V = pcf8591.voltageRead (AIN0); // Lue jännite analogista 0

Sarja.println (ana0V);

Vaihe 8: Esimerkkejä liitäntäkaaviosta

Esimerkkejä kytkentäkaaviosta
Esimerkkejä kytkentäkaaviosta

Vaihe 9: Kiitos

i2c -projektisarja (kokoelma):

  • Lämpötilan kosteusanturi
  • Analoginen laajennin
  • Digitaalinen laajennin
  • LCD -näyttö

Suositeltava: