Satura rādītājs:
- 1. darbība. Kā darbojas I2c
- 2. darbība:
- 3. darbība: lietošana
- 4. darbība: izlasiet vērtību
- 5. darbība: izlasiet Vale no kanāla
- 6. darbība: ierakstiet vērtību
- 7. darbība: papildu funkcijas
- 8. darbība. Savienojuma shēmas piemēri
- 9. solis: Paldies
Video: PCF8591 (i2c analogais I/O paplašinātājs) Ātra ērta lietošana: 9 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
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
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
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
Š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
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:
Versano: daudzfunkcionāla ērta ierīce (arduino Nano): 6 soļi
Versano: daudzfunkcionāla ērta ierīce (arduino Nano): Man bija nepieciešams ērts multimetrs, ko var ērti nēsāt jebkurā vietā. Es gribēju, lai tas būtu mazs un miniatūrs, kas atrodas Camparison ar parastajiem multimetriem. Ar stundām ilgu kodēšanu un shēmas projektēšanu es galu galā izveidoju ierīci, kas var izmērīt spriegumu
DIY analogais zvanītājs uz USB tastatūru: 4 soļi
DIY analogais zvanītājs uz USB tastatūru: es izveidoju šo projektu tikai prieka pēc, bet šī lieta darbojas kā parasta tastatūra ar visu. Izklaidējieties
EasyTalk: ērta komunikācija un kalendārs blakus jums: 6 soļi
EasyTalk: Vienkārša komunikācija un kalendārs blakus: Mani sauc Kobe Marčala, es mācos Hovestā, Beļģijā, un esmu multimediju un komunikāciju tehnoloģiju (MCT) students. Pirmā gada pēdējā uzdevumā man bija jāizveido IoT ierīce. Mājās mums ir šī problēma, ka mans brālis vienmēr spēlē
DHT12 (i2c lēts mitruma un temperatūras sensors), ātra un vienkārša lietošana: 14 soļi
DHT12 (i2c lēts mitruma un temperatūras sensors), ātra un vienkārša lietošana: atjauninājumus un citu informāciju varat atrast manā vietnē https://www.mischianti.org/2019/01/01/dht12-library-en/. Man patīk sensors, kas var izmantot ar 2 vadiem (i2c protokols), bet man patīk lēts. Šī ir Arduino un esp8266 bibliotēka DHT12 sērijai
HALO: ērta Arduino lampa Rev1.0 W/Neo pikseļi: 9 soļi (ar attēliem)
HALO: ērta Arduino lampa Rev1.0 W/NeoPixels: Šajā pamācībā es jums parādīšu, kā veidot HALO jeb ērto Arduino lampu 1.1.red. HALO ir vienkārša lampa, ko darbina Arduino Nano. Tā kopējais nospiedums ir aptuveni 2 " par 3 ", un svērtu koka pamatni, lai nodrošinātu ārkārtēju stabilitāti. Fl