![PCF8591 (i2c Analog I/O Expander) Hitra enostavna uporaba: 9 korakov PCF8591 (i2c Analog I/O Expander) Hitra enostavna uporaba: 9 korakov](https://i.howwhatproduce.com/images/006/image-15622-3-j.webp)
Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-23 15:09
![PCF8591 (i2c Analog I/O Expander) Hitra enostavna uporaba PCF8591 (i2c Analog I/O Expander) Hitra enostavna uporaba](https://i.howwhatproduce.com/images/006/image-15622-4-j.webp)
Knjižnica za uporabo i2c pcf8591 IC z arduinom in esp8266.
Ta IC lahko nadzoruje (do 4) analogni vhod in/ali 1 analogni izhod, kot je merilna napetost, bere vrednost termistorja ali zbledi LED.
Lahko bere analogne vrednosti in zapisuje analogne vrednosti samo z 2 žicami (kot nalašč za ESP-01).
Poskušam poenostaviti uporabo tega IC z minimalnim nizom operacij.
Posodobljeno različico najdete na moji spletni strani
1. korak: Kako deluje I2c
![Kako deluje I2c Kako deluje I2c](https://i.howwhatproduce.com/images/006/image-15622-5-j.webp)
I2C deluje z dvema žicama, SDA (podatkovna linija) in SCL (linija ure).
Obe liniji sta odprti, vendar sta potegnjeni z upori.
Običajno je na liniji en glavni in en ali več podrejenih, čeprav jih je lahko več, vendar bomo o tem govorili kasneje.
Tako nadrejeni kot podrejeni lahko prenašajo ali sprejemajo podatke, zato je naprava lahko v enem od teh štirih stanj: glavni prenos, glavni sprejem, podrejeni prenos, podrejeni sprejem.
2. korak:
Mojo knjižnico najdete tukaj.
Prenesti.
Kliknite gumb DOWNLOADS v zgornjem desnem kotu in preimenujte nestisnjeno mapo PCF8591.
Preverite, ali mapa PCF8591 vsebuje PCF8591.cpp in PCF8591.h.
Mapo knjižnice PCF8591 postavite v mapo / libraries /.
Morda boste morali ustvariti podmapo knjižnice, če je to vaša prva knjižnica.
Znova zaženite IDE.
3. korak: Uporaba
Konstruktor: vnesti morate naslov i2c (za preverjanje naslova uporabite ta vodnik I2cScanner)
PCF8591 (uint8_t naslov);
za esp8266, če želite določiti SDA e SCL pin, uporabite to:
PCF8591 (naslov uint8_t, uint8_t sda, uint8_t scl);
4. korak: preberite vrednost
![Preberite vrednost Preberite vrednost](https://i.howwhatproduce.com/images/006/image-15622-6-j.webp)
IC, kot vidite na sliki, ima 4 analogne vhode in 1 analogni izhod.
Če želite torej prebrati vse analogne vhode v enem prenosu (vrednost 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);
če želite prebrati en sam analogni vhod ali kanal:
int ana = pcf8591.analogRead (AIN0); // branje analognega 0
5. korak: Preberite Vale s kanala
![Preberite Vale s kanala Preberite Vale s kanala](https://i.howwhatproduce.com/images/006/image-15622-7-j.webp)
Ta IC ima več vrst branja in lahko uporabite analogni vhod ali analogni kanal (ko uporabljate en sam bralni analogni vhod in kanal sta na slikah).
Če želite na primer prebrati vrednost kanala 0 v dveh diferencialnih vhodih, morate:
int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // branje analognega 0
6. korak: Zapišite vrednost
Če želite napisati analogno vrednost, morate to narediti (vrednost je od 0 do 255):
pcf8591.analogWrite (128);
7. korak: Dodatne funkcije
Dodatna funkcija je branje napetosti pri zapisovanju: Za izračun napetosti morate vnesti nekaj parametrov:
- mikrokrmilnik Referenčna napetost: dobite napetost iz napetosti mikrokrmilnika (samo AVR brez esp8266 za esp 3.3v fiksno)
- referenceVoltage: če mikrokontrolerReferenceVoltage false vzame to vrednost Ukaz je:
void voltageWrite (vrednost float, bool mikrokontrolerReferenceVoltage = true, float referenceVoltage = 5.0);
plavajoča napetostRead (uint8_t analogPin, bool mikrokrmilnikReferenceVoltage = true, float referenceVoltage = 5.0);
Primer je:
pcf8591.voltageWrite (2.7); // 2,7 voltov izhod
zamuda (3000);
float ana0V = pcf8591.voltageRead (AIN0); // Odčitavanje napetosti iz analognega 0
Serial.println (ana0V);
8. korak: Primeri diagrama povezave
![Primeri diagram povezave Primeri diagram povezave](https://i.howwhatproduce.com/images/006/image-15622-8-j.webp)
9. korak: Hvala
serija projektov i2c (zbirka):
- Senzor temperaturne vlažnosti
- Analogni ekspander
- Digitalni ekspander
- LCD zaslon
Priporočena:
Otto DIY Robot Walking - Hitra in enostavna vadnica: 7 korakov
![Otto DIY Robot Walking - Hitra in enostavna vadnica: 7 korakov Otto DIY Robot Walking - Hitra in enostavna vadnica: 7 korakov](https://i.howwhatproduce.com/images/011/image-30367-j.webp)
Otto DIY Robot Walking - Hitra in enostavna vadnica: V tej vadnici se bomo naučili, kako zlahka programirati Otto DIY robota za hojo. Oglejte si predstavitveni video
DHT12 (senzor poceni vlažnosti in temperature i2c), hitra enostavna uporaba: 14 korakov
![DHT12 (senzor poceni vlažnosti in temperature i2c), hitra enostavna uporaba: 14 korakov DHT12 (senzor poceni vlažnosti in temperature i2c), hitra enostavna uporaba: 14 korakov](https://i.howwhatproduce.com/images/001/image-1509-29-j.webp)
DHT12 (i2c poceni senzor vlažnosti in temperature), hitra enostavna uporaba: posodobitve in drugo najdete na moji spletni strani https://www.mischianti.org/2019/01/01/dht12-library-en/.Všeč mi je senzor, ki se lahko uporablja z 2 žicami (protokol i2c), vendar mi je všeč poceni. To je knjižnica Arduino in esp8266 za serijo DHT12 o
Hitra in enostavna Bluetooth slušalka Bluetooth: 3 koraki (s slikami)
![Hitra in enostavna Bluetooth slušalka Bluetooth: 3 koraki (s slikami) Hitra in enostavna Bluetooth slušalka Bluetooth: 3 koraki (s slikami)](https://i.howwhatproduce.com/images/001/image-2761-63-j.webp)
Hitra in enostavna Bluetooth slušalka Bluetooth: Kupila sem eno od slušalk Motorola HS820, kot je predlagano v drugem navodilu, in jo posadila v tradicionalno telefonsko slušalko. To je res prototip, dokler ne najdem lepe 'klasične' slušalke. Nekaj petkovega popoldanskega neumnosti v pisarni
Hitra, hitra, poceni, dobro videti LED osvetlitev prostora (za vsakogar): 5 korakov (s slikami)
![Hitra, hitra, poceni, dobro videti LED osvetlitev prostora (za vsakogar): 5 korakov (s slikami) Hitra, hitra, poceni, dobro videti LED osvetlitev prostora (za vsakogar): 5 korakov (s slikami)](https://i.howwhatproduce.com/preview/how-and-what-to-produce/10968772-fast-quick-cheap-good-looking-led-room-lighting-for-anyone-5-steps-with-pictures-j.webp)
Hitra, hitra, poceni, dobro videti LED osvetlitev prostora (za vsakogar): Dobrodošli vsi :-) To je moj prvi pouk, zato so komentarji dobrodošli :-) Upam, da vam bom pokazal, kako narediti hitro LED osvetlitev TINY buget. Kaj potrebujete: kabliLED -ji, upori (510Ohms za 12V), spenjalniki, spajkalnik, rezalniki in drugo
Hitra in enostavna mehka stikala (za hitro izdelavo prototipov): 5 korakov
![Hitra in enostavna mehka stikala (za hitro izdelavo prototipov): 5 korakov Hitra in enostavna mehka stikala (za hitro izdelavo prototipov): 5 korakov](https://i.howwhatproduce.com/preview/how-and-what-to-produce/11128915-quick-and-simple-soft-switches-for-quick-prototyping-5-steps-j.webp)
Hitra in preprosta mehka stikala (za hitro izdelavo prototipov): Obstaja veliko različnih načinov za izdelavo mehkih stikal. Ta navodila kažejo drugo možnost zelo hitrega prototipa za mehko stikalo, ki uporablja aluminijasti trak namesto prevodne tkanine in trdne žice namesto prevodnega navoja, ki bot