Satura rādītājs:

PCF8591 (i2c analogais I/O paplašinātājs) Ātra ērta lietošana: 9 soļi
PCF8591 (i2c analogais I/O paplašinātājs) Ātra ērta lietošana: 9 soļi

Video: PCF8591 (i2c analogais I/O paplašinātājs) Ātra ērta lietošana: 9 soļi

Video: PCF8591 (i2c analogais I/O paplašinātājs) Ātra ērta lietošana: 9 soļi
Video: Arduino analog port expander - pcf8591 with I2C protocol 2024, Jūlijs
Anonim
PCF8591 (i2c analogais I/O paplašinātājs) Ātra ērta lietošana
PCF8591 (i2c analogais I/O paplašinātājs) Ātra ērta lietošana

Bibliotēka, lai izmantotu i2c pcf8591 IC ar arduino un esp8266.

Šis IC var kontrolēt (līdz 4) analogo ieeju un/vai 1 analogo izeju, piemēram, izmērīt spriegumu, nolasīt termistora vērtību vai izbalināt gaismas diodi.

Var lasīt analogo vērtību un rakstīt analogo vērtību tikai ar 2 vadiem (ideāli piemērots ESP-01).

Es cenšos vienkāršot šī IC izmantošanu ar minimālu darbību kopumu.

Atjauninātu versiju varat atrast manā vietnē

1. darbība. Kā darbojas I2c

Kā darbojas I2c
Kā darbojas I2c

I2C darbojas ar diviem vadiem - SDA (datu līnija) un SCL (pulksteņa līnija).

Abas šīs līnijas ir atvērtas kanalizācijas, bet ir uzvilktas ar rezistoriem.

Parasti uz līnijas ir viens saimnieks un viens vai vairāki vergi, lai gan var būt vairāki saimnieki, bet mēs par to runāsim vēlāk.

Gan kapteiņi, gan vergi var pārsūtīt vai saņemt datus, tāpēc ierīce var būt vienā no šiem četriem stāvokļiem: galvenā pārraide, galvenā saņemšana, vergu pārraide, vergu saņemšana.

2. darbība:

Manu bibliotēku varat atrast šeit.

Lai lejupielādētu.

Augšējā labajā stūrī noklikšķiniet uz pogas LEJUPIELĀDĒT, pārdēvējiet nesaspiesto mapi PCF8591.

Pārbaudiet, vai mapē PCF8591 ir PCF8591.cpp un PCF8591.h.

Ievietojiet PCF8591 bibliotēkas mapi savā / libraries / mapē.

Jums var būt jāizveido bibliotēku apakšmape, ja tā ir jūsu pirmā bibliotēka.

Restartējiet IDE.

3. darbība: lietošana

Konstruktors: jums jānorāda i2c adrese (lai pārbaudītu adresi, izmantojiet šo rokasgrāmatu I2cScanner)

PCF8591 (adrese uint8_t);

priekš esp8266, ja vēlaties norādīt SDA un SCL tapu, izmantojiet šo:

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

4. darbība: izlasiet vērtību

Lasīt vērtību
Lasīt vērtību

IC, kā redzams attēlā, ir 4 analogā ieeja un 1 analogā izeja.

Tātad, lai izlasītu visu analogo ieeju vienā pārsūtīšanā, varat to izdarīt (vērtība ir no 0 līdz 255):

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

Sērijas nospiedums (ai.ain0); Serial.print (" -"); Sērijas nospiedums (ai.ain1); Serial.print (" -"); Sērijas nospiedums (ai.ain2); Serial.print (" -"); Serial.println (ai.ain3);

ja vēlaties lasīt vienu analogo ieeju vai kanālu:

int ana = pcf8591.analogRead (AIN0); // lasīt analogo 0

5. darbība: izlasiet Vale no kanāla

Lasiet Vale no kanāla
Lasiet Vale no kanāla

Šim IC ir vairāki lasīšanas veidi, un jūs varat izmantot analogo ieeju vai analogo kanālu (ja izmantojat vienas lasīšanas analogo ieeju un kanāls ir attēlos).

Piemēram, lai nolasītu 0 kanāla vērtību divās diferenciālajās ievadēs, jums jādara:

int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // lasīt analogo 0

6. darbība: ierakstiet vērtību

Ja vēlaties rakstīt analogo vērtību, jums tas jādara (vērtība ir no 0 līdz 255):

pcf8591.analogWrite (128);

7. darbība: papildu funkcijas

Papildu funkcija ir rakstīšanas sprieguma nolasīšana: Sprieguma aprēķināšanai jānorāda kāds parametrs:

  • spriegums: iegūstiet spriegumu no mikrokontrollera sprieguma (tikai AVR nr esp8266, ja fiksēts 3.3 V)
  • referenceVoltage: ja microcontrollerReferenceVoltage false ņem šo vērtību Komanda ir:

tukšs spriegumsWrite (pludiņa vērtība, boola mikrokontrollerisReferenceVoltage = true, float referenceVoltage = 5,0);

pludiņa spriegumsRead (uint8_t analogPin, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5.0);

Piemērs ir šāds:

pcf8591.voltageWrite (2.7); // 2.7 voltu izeja

kavēšanās (3000);

pludiņš ana0V = pcf8591.voltageRead (AIN0); // Nolasiet spriegumu no analogā 0

Serial.println (ana0V);

8. darbība. Savienojuma shēmas piemēri

Savienojuma shēmas piemēri
Savienojuma shēmas piemēri

9. solis: Paldies

i2c projektu sērija (kolekcija):

  • Temperatūras mitruma sensors
  • Analogais paplašinātājs
  • Digitālais paplašinātājs
  • LCD displejs

Ieteicams: