Orodha ya maudhui:

PCF8591 (i2c Analog I / O Expander) Matumizi rahisi ya haraka: Hatua 9
PCF8591 (i2c Analog I / O Expander) Matumizi rahisi ya haraka: Hatua 9

Video: PCF8591 (i2c Analog I / O Expander) Matumizi rahisi ya haraka: Hatua 9

Video: PCF8591 (i2c Analog I / O Expander) Matumizi rahisi ya haraka: Hatua 9
Video: Arduino analog port expander - pcf8591 with I2C protocol 2024, Julai
Anonim
PCF8591 (i2c Analog I / O Expander) Matumizi Rahisi Haraka
PCF8591 (i2c Analog I / O Expander) Matumizi Rahisi Haraka

Maktaba ya kutumia i2c pcf8591 IC na arduino na esp8266.

IC hii inaweza kudhibiti (hadi 4) pembejeo ya analog na / au 1 pato la analog kama voltage ya kipimo, soma thermistor value au fade a led.

Unaweza kusoma thamani ya analog na kuandika thamani ya analog na waya 2 tu (kamili kwa ESP-01).

Ninajaribu kurahisisha utumiaji wa IC hii, na seti ndogo ya operesheni.

Unaweza kupata toleo lililosasishwa kwenye wavuti yangu

Hatua ya 1: Jinsi I2c inavyofanya kazi

Jinsi I2c Inafanya Kazi
Jinsi I2c Inafanya Kazi

I2C inafanya kazi na waya zake mbili, SDA (laini ya data) na SCL (laini ya saa).

Mistari yote miwili iko wazi, lakini imevutwa na vizuia.

Kawaida kuna bwana mmoja na mtumwa mmoja au wengi kwenye mstari, ingawa kunaweza kuwa na mabwana wengi, lakini tutazungumza juu yake baadaye.

Wote mabwana na watumwa wanaweza kusambaza au kupokea data, kwa hivyo, kifaa kinaweza kuwa katika moja ya majimbo haya manne: kusambaza bwana, kupokea bwana, kusambaza watumwa, kupokea watumwa.

Hatua ya 2:

Unaweza kupata maktaba yangu hapa.

Ili kupakua.

Bonyeza kitufe cha DOWNLOADS kwenye kona ya juu kulia, badilisha jina folda isiyofinyangwa PCF8591.

Angalia kama folda ya PCF8591 ina PCF8591.cpp na PCF8591.h.

Weka folda ya maktaba ya PCF8591 yako / maktaba / folda.

Unaweza kuhitaji kuunda folda ndogo ya maktaba ikiwa ni maktaba yako ya kwanza.

Anzisha tena IDE.

Hatua ya 3: Matumizi

Mjenzi: lazima upeleke anwani ya i2c (kuangalia anwani kutumia mwongozo huu I2cScanner)

PCF8591 (anwani ya uint8_t);

kwa esp8266 ikiwa unataka kutaja SDA na pini ya SCL tumia hii:

PCF8591 (anwani ya uint8_t, uint8_t sda, uint8_t scl);

Hatua ya 4: Soma Thamani

Soma Thamani
Soma Thamani

IC kama unavyoona kwenye picha ina pembejeo 4 za analog na 1 pato la analog.

Kwa hivyo kusoma pembejeo zote za analog katika trasmission moja unaweza kufanya (thamani ni kutoka 0 hadi 255):

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

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

ikiwa unataka kusoma ingizo moja la Analog au kituo:

int ana = pcf8591. AnalogRead (AIN0); // soma analog 0

Hatua ya 5: Soma Vale Kutoka Kituo

Soma Vale Kutoka Channel
Soma Vale Kutoka Channel

IC hii ina aina nyingi za kusoma na unaweza kutumia pembejeo ya Analog au kituo cha Analog (wakati unatumia pembejeo moja ya kusoma ya analog na kituo kiko kwenye picha).

Kwa mfano kusoma thamani ya kituo 0 katika pembejeo mbili tofauti lazima ufanye:

int ana = pcf8591. AnalogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // soma analog 0

Hatua ya 6: Andika Thamani

Ikiwa unataka kuandika thamani ya analog lazima ufanye (thamani ni kutoka 0 hadi 255):

pcf8591. AnalogWrite (128);

Hatua ya 7: Vipengele vya ziada

Kipengele cha ziada ni kusoma voltage ya kuandika: Kwa hesabu ya voltage lazima upitishe parameter kadhaa:

  • microcontrollerReferenceVoltage: pata voltage kutoka kwa voltage ya microcontroller (tu AVR no esp8266 ya esp 3.3v fasta)
  • kumbukumbuVoltage: ikiwa microcontrollerReferenceVoltage uongo chukua thamani hii Amri ni:

tupu voltage Andika (thamani ya kuelea, bool microcontrollerReferenceVoltage = kweli, rejea kumbukumbuVoltage = 5.0);

kuelea voltage Soma (uint8_t analogPin, bool microcontrollerReferenceVoltage = kweli, rejea rejeaVoltage = 5.0);

Mfano ni:

pcf8591. VoltageWrite (2.7); // 2.7Volts pato

kuchelewesha (3000);

kuelea ana0V = pcf8591. VoltageRead (AIN0); // Soma voltage kutoka kwa analog 0

Serial.println (ana0V);

Hatua ya 8: Mifano ya Uunganisho wa Mifano

Mchoro wa Uunganisho wa Mifano
Mchoro wa Uunganisho wa Mifano

Hatua ya 9: Asante

Mfululizo wa mradi wa i2c (Ukusanyaji):

  • Sensor ya unyevu wa joto
  • Analog ya kupanua
  • Kupanua kwa dijiti
  • Uonyesho wa LCD

Ilipendekeza: