Sadržaj:

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

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

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

Biblioteka ć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 gasiti LED diodu.

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

Pokušavam pojednostaviti upotrebu 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 funkcionira
Kako I2c funkcionira

I2C radi sa svoje 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 slave -ova, iako može postojati i više master -a, 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.

Preuzimanje.

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

Proverite da li fascikla PCF8591 sadrži PCF8591.cpp i PCF8591.h.

Postavite fasciklu biblioteke PCF8591 u vašu / biblioteku / fasciklu.

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

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

Read Value
Read Value

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 ();

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

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

int ana = pcf8591.analogRead (AIN0); // čita analogno 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); // čita analogno 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 funkcije

Dodatna mogućnost je čitanje napona za upis: Za izračun napona morate proći neki parametar:

  • mikrokontrolerReferenceVoltage: 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.voltageRead (AIN0); // Očitavanje napona sa analognog 0

Serial.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 displej

Preporučuje se: