Sadržaj:

PCF8591 (i2c analogni I/O ekspander) Brzo i jednostavno korištenje: 9 koraka
PCF8591 (i2c analogni I/O ekspander) Brzo i jednostavno korištenje: 9 koraka

Video: PCF8591 (i2c analogni I/O ekspander) Brzo i jednostavno korištenje: 9 koraka

Video: PCF8591 (i2c analogni I/O ekspander) Brzo i jednostavno korištenje: 9 koraka
Video: Arduino: Fast I2C communication between ESP8266 & PCF8591 (2 Solutions!!) 2024, Srpanj
Anonim
PCF8591 (i2c Analog I/O Expander) Brza jednostavna upotreba
PCF8591 (i2c Analog I/O Expander) Brza jednostavna upotreba

Knjižnica će koristiti i2c pcf8591 IC sa arduinom i esp8266.

Ovaj IC može upravljati (do 4) analognim ulazom i/ili 1 analognim izlazom poput mjernog napona, očitavati vrijednost termistora ili blijediti LED.

Može čitati analogne vrijednosti i pisati analogne vrijednosti sa samo 2 žice (savršeno za ESP-01).

Pokušavam pojednostaviti korištenje ovog IC -a, uz minimalan skup operacija.

Ažuriranu verziju možete pronaći na mojoj web stranici

Korak 1: Kako I2c radi

Kako I2c radi
Kako I2c radi

I2C radi s dvije žice, SDA (podatkovna linija) i SCL (linija sata).

Obje ove linije su otvorene, ali su povučene otpornicima.

Obično je na liniji jedan master i jedan ili više robova, iako može postojati više majstora, ali o tome ćemo kasnije.

I nadređeni i podređeni mogu prenositi ili primati podatke, stoga uređaj može biti u jednom od ova četiri stanja: glavni prijenos, glavni prijem, slave prijenos, slave prijem.

Korak 2:

Moju biblioteku možete pronaći ovdje.

Preuzeti.

Pritisnite gumb DOWNLOADS u gornjem desnom kutu, preimenujte nekomprimiranu mapu PCF8591.

Provjerite sadrži li mapa PCF8591 PCF8591.cpp i PCF8591.h.

Postavite mapu knjižnice PCF8591 u svoju / knjižnice / mapu.

Možda ćete morati stvoriti podmapu knjižnica ako je to vaša prva knjižnica.

Ponovo pokrenite IDE.

Korak 3: Upotreba

Konstruktor: morate unijeti adresu i2c (za provjeru adrese koristite ovaj vodič I2cScanner)

PCF8591 (uint8_t adresa);

za esp8266 ako želite navesti SDA e SCL pin koristite ovo:

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

Korak 4: Pročitajte vrijednost

Očitana vrijednost
Očitana vrijednost

IC kao što vidite na slici ima 4 analogna ulaza i 1 analogni izlaz.

Dakle, za čitanje svih analognih ulaza u jednom prijenosu možete učiniti (vrijednost je od 0 do 255):

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

Serijski.ispis (ai.ain0); Serial.print (" -"); Serijski.ispis (ai.ain1); Serial.print (" -"); Serijski.ispis (ai.ain2); Serial.print (" -"); Serijski.println (ai.ain3);

ako želite pročitati jedan analogni ulaz ili kanal:

int ana = pcf8591.analogRead (AIN0); // čitanje analognog 0

Korak 5: Pročitajte Vale s kanala

Pročitajte Vale s kanala
Pročitajte Vale s kanala

Ovaj IC ima više vrsta čitanja i možete koristiti analogni ulaz ili analogni kanal (kada koristite jedno čitanje, analogni ulaz i kanal su na slikama).

Na primjer, da biste pročitali vrijednost kanala 0 u dva diferencijalna ulaza morate učiniti:

int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // čitanje analognog 0

Korak 6: Zapišite vrijednost

Ako želite napisati analognu vrijednost, morate učiniti (vrijednost je od 0 do 255):

pcf8591.analogWrite (128);

Korak 7: Dodatne značajke

Dodatna značajka je čitanje napona upisa: Za izračun napona morate proći neki parametar:

  • mikrokontroler Referentni napon: dobijte napon iz napona mikrokontrolera (samo AVR bez esp8266 za esp 3.3v fiksno)
  • referenceVoltage: if microcontrollerReferenceVoltage false uzeti ovu vrijednost Naredba je:

void voltageWrite (float vrijednost, bool mikrokontrolerReferenceVoltage = true, float referenceVoltage = 5.0);

float voltageRead (uint8_t analogPin, bool mikrokontrolerReferenceVoltage = true, float referenceVoltage = 5.0);

Primjeri su:

pcf8591.voltageWrite (2.7); // 2,7V Volti izlaz

kašnjenje (3000);

plovak ana0V = pcf8591.napon čitanja (AIN0); // Očitavanje napona s analognog 0

Serijski.println (ana0V);

Korak 8: Primjeri dijagrama povezivanja

Primjeri dijagrama povezivanja
Primjeri dijagrama povezivanja

Korak 9: Hvala

serija projekata i2c (zbirka):

  • Senzor temperature vlage
  • Analogni ekspander
  • Digitalni ekspander
  • LCD zaslon

Preporučeni: