Obsah:

PCF8591 (analógový expandér I/O i2c) Rýchle jednoduché použitie: 9 krokov
PCF8591 (analógový expandér I/O i2c) Rýchle jednoduché použitie: 9 krokov

Video: PCF8591 (analógový expandér I/O i2c) Rýchle jednoduché použitie: 9 krokov

Video: PCF8591 (analógový expandér I/O i2c) Rýchle jednoduché použitie: 9 krokov
Video: 8-bit I/O Expander, расширитель ввода/вывода 2024, November
Anonim
PCF8591 (analógový expandér I/O i2c) Jednoduché rýchle použitie
PCF8591 (analógový expandér I/O i2c) Jednoduché rýchle použitie

Knižnica na použitie i2c pcf8591 IC s arduino a esp8266.

Tento IC môže ovládať (do 4) analógový vstup a/alebo 1 analógový výstup, ako je napríklad meranie napätia, čítanie hodnoty termistora alebo stmievanie LED.

Dokáže čítať analógovú hodnotu a zapisovať analógovú hodnotu iba pomocou 2 drôtov (ideálne pre ESP-01).

Snažím sa zjednodušiť používanie tohto IC s minimálnym súborom operácií.

Aktualizovanú verziu nájdete na mojom webe

Krok 1: Ako funguje I2c

Ako funguje I2c
Ako funguje I2c

I2C pracuje s dvoma vodičmi, SDA (dátový riadok) a SCL (hodinový riadok).

Obe tieto vedenia sú otvorené, ale sú vyťahované odpormi.

Na linke je spravidla jeden pán a jeden alebo viacerí otroci, aj keď môže byť viac majstrov, ale o tom neskôr.

Master aj slave môžu prenášať alebo prijímať údaje, preto môže byť zariadenie v jednom z týchto štyroch stavov: hlavný prenos, hlavný príjem, podradený prenos, podriadený príjem.

Krok 2:

Moju knižnicu nájdete tu.

Stiahnuť.

Kliknite na tlačidlo STIAHNUTIE v pravom hornom rohu a premenujte nekomprimovaný priečinok PCF8591.

Skontrolujte, či priečinok PCF8591 obsahuje PCF8591.cpp a PCF8591.h.

Umiestnite priečinok knižnice PCF8591 do priečinka / libraries /.

Ak je to vaša prvá knižnica, možno budete musieť vytvoriť podpriečinok knižníc.

Reštartujte IDE.

Krok 3: Použitie

Konštruktor: musíte zadať adresu i2c (na kontrolu adresy použite túto príručku I2cScanner)

PCF8591 (adresa uint8_t);

pre esp8266, ak chcete špecifikovať pin SDA e SCL, použite toto:

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

Krok 4: Prečítajte si hodnotu

Prečítajte si hodnotu
Prečítajte si hodnotu

IC, ako vidíte na obrázku, má 4 analógové vstupy a 1 analógový výstup.

Ak chcete teda prečítať všetky analógové vstupy jedným prenosom, môžete to urobiť (hodnota 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);

ak chcete prečítať jeden analógový vstup alebo kanál:

int ana = pcf8591.analogRead (AIN0); // prečítaj analóg 0

Krok 5: Prečítajte si Vale z kanála

Prečítajte si Vale z kanála
Prečítajte si Vale z kanála

Tento IC má viac typov čítania a môžete použiť analógový vstup alebo analógový kanál (keď použijete jeden čítací analógový vstup a kanál je na obrázkoch).

Ak napríklad chcete prečítať hodnotu kanála 0 v dvoch diferenciálnych vstupoch, musíte urobiť:

int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // prečítaj analóg 0

Krok 6: Napíšte hodnotu

Ak chcete napísať analógovú hodnotu, musíte to urobiť (hodnota je od 0 do 255):

pcf8591.analogWrite (128);

Krok 7: Ďalšie funkcie

Ďalšou funkciou je čítanie zapisovacieho napätia: Na výpočet napätia musíte odovzdať určitý parameter:

  • mikrokontrolérReferenceVoltage: získajte napätie z napätia mikrokontroléra (iba AVR č. esp8266 pre pevný disk 3,3v)
  • referenceVoltage: if microcontrollerReferenceVoltage false take this valuePríkaz sú:

neplatné napätie

float voltageRead (uint8_t analogPin, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5,0);

Príkladom je:

pcf8591.voltageWrite (2.7); // Výstup 2,7 voltov

oneskorenie (3000);

float ana0V = pcf8591.voltageRead (AIN0); // Prečítajte napätie z analógového 0

Serial.println (ana0V);

Krok 8: Príklady schémy pripojenia

Príklady Schéma zapojenia
Príklady Schéma zapojenia

Krok 9: Ďakujem

Séria projektov i2c (zbierka):

  • Teplotný snímač vlhkosti
  • Analógový expandér
  • Digitálny expandér
  • Displej LCD

Odporúča: