![PCF8591 (I2c Analog I/O Expander) Përdorimi i lehtë i shpejtë: 9 hapa PCF8591 (I2c Analog I/O Expander) Përdorimi i lehtë i shpejtë: 9 hapa](https://i.howwhatproduce.com/images/006/image-15622-3-j.webp)
Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-23 15:10
![PCF8591 (I2c Analog I/O Expander) Përdorim i lehtë i shpejtë PCF8591 (I2c Analog I/O Expander) Përdorim i lehtë i shpejtë](https://i.howwhatproduce.com/images/006/image-15622-4-j.webp)
Biblioteka për të përdorur i2c pcf8591 IC me arduino dhe esp8266.
Ky IC mund të kontrollojë (deri në 4) hyrje analoge dhe/ose 1 dalje analoge si matja e tensionit, të lexojë vlerën e termistorit ose të zbehë një led.
Mund të lexojë vlerë analoge dhe të shkruajë vlerë analoge me vetëm 2 tela (e përsosur për ESP-01).
Unë përpiqem të thjeshtoj përdorimin e këtij IC, me një grup minimal të funksionimit.
Ju mund të gjeni versionin e përditësuar në faqen time
Hapi 1: Si funksionon I2c
![Si funksionon I2c Si funksionon I2c](https://i.howwhatproduce.com/images/006/image-15622-5-j.webp)
I2C punon me dy telat e tij, SDA (linja e të dhënave) dhe SCL (linja e orës).
Të dyja këto linja janë me rrjedhje të hapur, por janë tërhequr me rezistorë.
Zakonisht ka një mjeshtër dhe një ose shumë skllevër në linjë, megjithëse mund të ketë shumë zotërinj, por ne do të flasim për këtë më vonë.
Të dy zotërit dhe skllevërit mund të transmetojnë ose marrin të dhëna, prandaj, një pajisje mund të jetë në njërën nga këto katër gjendje: transmetimi kryesor, marrja master, transmetimi skllav, marrja skllav.
Hapi 2:
Këtu mund të gjeni bibliotekën time.
Për të shkarkuar.
Klikoni butonin DOWNLOADS në këndin e sipërm të djathtë, riemërtoni dosjen e pakompresuar PCF8591.
Kontrolloni që dosja PCF8591 të përmbajë PCF8591.cpp dhe PCF8591.h.
Vendoseni dosjen tuaj të bibliotekës PCF8591 / bibliotekat / dosjen tuaj.
Ju mund të keni nevojë të krijoni nën -dosjen e bibliotekave nëse është biblioteka juaj e parë.
Rinisni IDE -në.
Hapi 3: Përdorimi
Ndërtuesi: duhet të kaloni adresën e i2c (për të kontrolluar adresën përdorni këtë udhëzues I2cScanner)
PCF8591 (adresa uint8_t);
për esp8266 nëse doni të specifikoni pinin SDA e SCL përdorni këtë:
PCF8591 (adresa uint8_t, uint8_t sda, uint8_t scl);
Hapi 4: Lexoni vlerën
![Lexo Vlerën Lexo Vlerën](https://i.howwhatproduce.com/images/006/image-15622-6-j.webp)
IC siç mund ta shihni në imazh kanë 4 hyrje analoge dhe 1 dalje analoge.
Pra, për të lexuar të gjitha hyrjet analoge në një transmetim mund të bëni (vlera është nga 0 në 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);
nëse doni të lexoni një hyrje ose kanal të vetëm analog:
int ana = pcf8591.analogRead (AIN0); // lexoni analog 0
Hapi 5: Lexoni Vale Nga Kanali
![Lexoni Vale nga Kanali Lexoni Vale nga Kanali](https://i.howwhatproduce.com/images/006/image-15622-7-j.webp)
Ky IC ka një lloj leximi të shumëfishtë dhe ju mund të përdorni hyrje analoge ose kanal analog (kur përdorni hyrje analoge me një lexim të vetëm dhe kanali është në fotografi).
Për shembull, për të lexuar vlerën e kanalit 0 në Dy hyrje diferenciale, duhet të bëni:
int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // lexoni analog 0
Hapi 6: Shkruani vlerën
Nëse doni të shkruani një vlerë analoge që duhet të bëni (vlera është nga 0 në 255):
pcf8591.analogShkruaj (128);
Hapi 7: Karakteristika shtesë
Karakteristikë shtesë është të lexoni një tension shkrimi: Për llogaritjen e tensionit duhet të kaloni disa parametra:
- mikrokontrolluesi ReferencaTensioni: merrni tension nga tensioni i mikrokontrolluesit (vetëm AVR pa esp8266 për esp 3.3v fikse)
- referencëTensioni: nëse mikrokontrolluesiReferenceVoltazhi i rremë merr këtë vlerëKomanda janë:
tension i pavlefshëm Shkruaj (vlera e notit, mikrokontrolluesi boolReferenceVoltage = e vërtetë, referenca e notimit Voltage = 5.0);
float tensionRead (uint8_t analogPin, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5.0);
Një shembull është:
pcf8591.voltageWrite (2.7); // 2.7 Volt dalje
vonesë (3000);
noton ana0V = pcf8591.voltageRead (AIN0); // Lexoni tensionin nga analoge 0
Serial.println (ana0V);
Hapi 8: Shembuj Diagrami i Lidhjes
![Shembuj Diagrami i Lidhjes Shembuj Diagrami i Lidhjes](https://i.howwhatproduce.com/images/006/image-15622-8-j.webp)
Hapi 9: Faleminderit
seri projektesh i2c (Koleksion):
- Sensori i lagështisë së temperaturës
- Zgjerues analog
- Zgjerues dixhital
- Ekran LCD
Recommended:
Zhvendosës i shpejtë nën 50 dollarë! Ndërrues i shpejtë i rregullueshëm Kazeshifter Arduino: 7 hapa
![Zhvendosës i shpejtë nën 50 dollarë! Ndërrues i shpejtë i rregullueshëm Kazeshifter Arduino: 7 hapa Zhvendosës i shpejtë nën 50 dollarë! Ndërrues i shpejtë i rregullueshëm Kazeshifter Arduino: 7 hapa](https://i.howwhatproduce.com/images/002/image-4654-j.webp)
Zhvendosës i shpejtë nën 50 dollarë! Kazeshifter Arduino Adjustable Quick Shifter: Përshëndetje Superbike ose dashamirës të motoçikletave! Në këtë udhëzues, unë do të tregoj se si ta bëni Shiftin tuaj Quick Quick me çmim të lirë! Për njerëzit që përtojnë të lexojnë këtë udhëzues, thjesht shikoni videon time! Shënim: Për disa biçikleta që tashmë duke përdorur sistemin e injektimit të karburantit, diku
DHT12 (sensori i lirë i lagështisë dhe temperaturës i2c), përdorim i shpejtë i lehtë: 14 hapa
![DHT12 (sensori i lirë i lagështisë dhe temperaturës i2c), përdorim i shpejtë i lehtë: 14 hapa DHT12 (sensori i lirë i lagështisë dhe temperaturës i2c), përdorim i shpejtë i lehtë: 14 hapa](https://i.howwhatproduce.com/images/001/image-1509-29-j.webp)
DHT12 (sensori i lagështisë dhe temperaturës i lirë i2c), përdorim i lehtë i shpejtë: Mund të gjeni përditësime dhe të tjera në faqen time https://www.mischianti.org/2019/01/01/dht12-library-en/. Më pëlqen sensori që mund të përdoret me 2 tela (protokoll i2c), por unë e dua atë të lirë. Kjo është një bibliotekë Arduino dhe esp8266 për serinë DHT12 o
Gjenerator pulsi i valës së shpejtë të skajit të shpejtë: 4 hapa
![Gjenerator pulsi i valës së shpejtë të skajit të shpejtë: 4 hapa Gjenerator pulsi i valës së shpejtë të skajit të shpejtë: 4 hapa](https://i.howwhatproduce.com/images/001/image-2492-44-j.webp)
Gjeneratori i pulsit të valës së shpejtë të skajit të valës: Gjenerator pulsi me shpejtësi të lartë - Gjenerator pulsi ultra i shpejtë me valë katrore Ky qark i thjeshtë, duke përdorur një 74HC14N (gjashtë invertorë TTL me shpejtësi të ulët të goditjes) është i aftë të gjenerojë sinjale të valës katrore deri në 10MHZ. Ideale për disa teste elektronike. Me një kalb
Qarqet Raspberry Pi GPIO: Përdorimi i një sensori analog LDR pa një ADC (Konvertues analog në dixhital): 4 hapa
![Qarqet Raspberry Pi GPIO: Përdorimi i një sensori analog LDR pa një ADC (Konvertues analog në dixhital): 4 hapa Qarqet Raspberry Pi GPIO: Përdorimi i një sensori analog LDR pa një ADC (Konvertues analog në dixhital): 4 hapa](https://i.howwhatproduce.com/images/002/image-5254-45-j.webp)
Qarqet Raspberry Pi GPIO: Përdorimi i një sensori analog LDR pa një ADC (Konvertuesi analog në dixhital): Në udhëzimet tona të mëparshme, ne ju kemi treguar se si mund t'i lidhni kunjat GPIO të Raspberry Pi tuaj me LED dhe çelsin dhe se si kunjat GPIO mund të jenë të larta ose të ulët. Por, çfarë nëse doni të përdorni Raspberry Pi tuaj me një sensor analog? Nëse duam të përdorim një
DIY MusiLED, LED të sinkronizuara me muzikë me aplikacionin Windows & Linux me një klik (32-bit & 64-bit). Lehtë për t’u rikrijuar, e lehtë për t’u përdorur, e lehtë për t’
![DIY MusiLED, LED të sinkronizuara me muzikë me aplikacionin Windows & Linux me një klik (32-bit & 64-bit). Lehtë për t’u rikrijuar, e lehtë për t’u përdorur, e lehtë për t’ DIY MusiLED, LED të sinkronizuara me muzikë me aplikacionin Windows & Linux me një klik (32-bit & 64-bit). Lehtë për t’u rikrijuar, e lehtë për t’u përdorur, e lehtë për t’](https://i.howwhatproduce.com/images/002/image-5944-30-j.webp)
DIY MusiLED, LED të sinkronizuara me muzikë me aplikacionin Windows & Linux me një klik (32-bit & 64-bit). Lehtë për t'u rikrijuar, e lehtë për t'u përdorur, e lehtë për t'u transferuar.: Ky projekt do t'ju ndihmojë të lidhni 18 LED (6 të kuqe + 6 blu + 6 të verdhë) në bordin tuaj Arduino dhe të analizoni sinjalet e Kartës së Zërit të kompjuterit tuaj në kohë reale dhe t'i transmetoni ato në LED për t'i ndezur ato sipas efekteve të rrahjes (Snare, High Hat, Kick)