Sadržaj:
- Korak 1: Kako I2c radi
- Korak 2:
- Korak 3: Upotreba
- Korak 4: Pročitajte vrijednost
- Korak 5: Pročitajte Vale s kanala
- Korak 6: Zapišite vrijednost
- Korak 7: Dodatne značajke
- Korak 8: Primjeri dijagrama povezivanja
- Korak 9: Hvala
Video: PCF8591 (i2c analogni I/O ekspander) Brzo i jednostavno korištenje: 9 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
Knjižnica će koristiti i2c pcf8591 IC sa arduinom i esp8266.
Ovaj IC može upravljati (do 4) analognim ulazom i/ili 1 analognim izlazom poput mjernog napona, očitavati vrijednost termistora ili blijediti LED.
Može čitati analogne vrijednosti i pisati analogne vrijednosti sa samo 2 žice (savršeno za ESP-01).
Pokušavam pojednostaviti korištenje ovog IC -a, uz minimalan skup operacija.
Ažuriranu verziju možete pronaći na mojoj web stranici
Korak 1: Kako I2c radi
I2C radi s dvije žice, SDA (podatkovna linija) i SCL (linija sata).
Obje ove linije su otvorene, ali su povučene otpornicima.
Obično je na liniji jedan master i jedan ili više robova, iako može postojati više majstora, ali o tome ćemo kasnije.
I nadređeni i podređeni mogu prenositi ili primati podatke, stoga uređaj može biti u jednom od ova četiri stanja: glavni prijenos, glavni prijem, slave prijenos, slave prijem.
Korak 2:
Moju biblioteku možete pronaći ovdje.
Preuzeti.
Pritisnite gumb DOWNLOADS u gornjem desnom kutu, preimenujte nekomprimiranu mapu PCF8591.
Provjerite sadrži li mapa PCF8591 PCF8591.cpp i PCF8591.h.
Postavite mapu knjižnice PCF8591 u svoju / knjižnice / mapu.
Možda ćete morati stvoriti podmapu knjižnica ako je to vaša prva knjižnica.
Ponovo pokrenite IDE.
Korak 3: Upotreba
Konstruktor: morate unijeti adresu i2c (za provjeru adrese koristite ovaj vodič I2cScanner)
PCF8591 (uint8_t adresa);
za esp8266 ako želite navesti SDA e SCL pin koristite ovo:
PCF8591 (uint8_t adresa, uint8_t sda, uint8_t scl);
Korak 4: Pročitajte vrijednost
IC kao što vidite na slici ima 4 analogna ulaza i 1 analogni izlaz.
Dakle, za čitanje svih analognih ulaza u jednom prijenosu možete učiniti (vrijednost je od 0 do 255):
PCF8591:: AnalogInput ai = pcf8591.analogReadAll ();
Serijski.ispis (ai.ain0); Serial.print (" -"); Serijski.ispis (ai.ain1); Serial.print (" -"); Serijski.ispis (ai.ain2); Serial.print (" -"); Serijski.println (ai.ain3);
ako želite pročitati jedan analogni ulaz ili kanal:
int ana = pcf8591.analogRead (AIN0); // čitanje analognog 0
Korak 5: Pročitajte Vale s kanala
Ovaj IC ima više vrsta čitanja i možete koristiti analogni ulaz ili analogni kanal (kada koristite jedno čitanje, analogni ulaz i kanal su na slikama).
Na primjer, da biste pročitali vrijednost kanala 0 u dva diferencijalna ulaza morate učiniti:
int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // čitanje analognog 0
Korak 6: Zapišite vrijednost
Ako želite napisati analognu vrijednost, morate učiniti (vrijednost je od 0 do 255):
pcf8591.analogWrite (128);
Korak 7: Dodatne značajke
Dodatna značajka je čitanje napona upisa: Za izračun napona morate proći neki parametar:
- mikrokontroler Referentni napon: dobijte napon iz napona mikrokontrolera (samo AVR bez esp8266 za esp 3.3v fiksno)
- referenceVoltage: if microcontrollerReferenceVoltage false uzeti ovu vrijednost Naredba je:
void voltageWrite (float vrijednost, bool mikrokontrolerReferenceVoltage = true, float referenceVoltage = 5.0);
float voltageRead (uint8_t analogPin, bool mikrokontrolerReferenceVoltage = true, float referenceVoltage = 5.0);
Primjeri su:
pcf8591.voltageWrite (2.7); // 2,7V Volti izlaz
kašnjenje (3000);
plovak ana0V = pcf8591.napon čitanja (AIN0); // Očitavanje napona s analognog 0
Serijski.println (ana0V);
Korak 8: Primjeri dijagrama povezivanja
Korak 9: Hvala
serija projekata i2c (zbirka):
- Senzor temperature vlage
- Analogni ekspander
- Digitalni ekspander
- LCD zaslon
Preporučeni:
DHT12 (i2c senzor jeftine vlažnosti i temperature), brzo i jednostavno korištenje: 14 koraka
DHT12 (i2c jeftini senzor vlažnosti i temperature), brzo i jednostavno korištenje: ažuriranje i ostalo možete pronaći na mojoj web stranici https://www.mischianti.org/2019/01/01/dht12-library-en/.Volim senzor koji može se koristiti s 2 žice (i2c protokol), ali volim onu jeftinu. Ovo je Arduino i esp8266 knjižnica za seriju DHT12 o
Neobična prilagođena kutija/kućište (brzo, jednostavno, modularno, jeftino): 7 koraka
Neobična prilagođena kutija/kućište (brzo, jednostavno, modularno, jeftino): Svrha ovog uputstva je pokazati vam kako napraviti jeftinu, prilagođenu, modularnu kutiju/kućište. Pokazat ću vam kako to učiniti s ograničenim alati i proračun. Ovo su moji prvi instruktori (također engleski nije moj prvi jezik), stoga vas molim
Vješalica Echo Dot, jednostavno, brzo i jeftino!: 7 koraka
Vješalica za odjeknute točke, jednostavno, brzo i jeftino !: Autor mrcisaleaffanObjavljeno 26. srpnja 2018.Ako vam se sviđa ovaj Instructable, glasajte za njega u " Kreativna zlouporaba " Uvod: Vješalica Echo Dot, jednostavno, brzo i jeftinoOvog prošlog Božića dobio sam pametni zvučnik Alexa Echo. Sinc
NAPRAVITE SVOJ MINECRAFT SERVER! Super jednostavno, brzo i besplatno! (NEMA KLIKNUTE MAMKE): 11 koraka (sa slikama)
NAPRAVITE SVOJ MINECRAFT SERVER! Super jednostavno, brzo i besplatno! (NO CLICK BAIT): Minecraft je iznimno ugodna igra u kojoj praktički možete učiniti sve što poželite! No, igranje s prijateljima preko interneta ponekad može biti bol. Nažalost, većina poslužitelja za više igrača ili je ispunjena trolovima, a ne iskustvom u igri
Brzo, brzo, jeftino, lijepo izgledajuće LED osvjetljenje prostorije (za svakoga): 5 koraka (sa slikama)
Brzo, brzo, jeftino, dobro izgleda LED svjetlo za sobu (za svakoga): Dobro došli svima :-) Ovo je moje prvo uputstvo pa su komentari dobrodošli :-) Ono što se nadam da ću vam pokazati je kako napraviti brzo LED osvjetljenje SITNI buget. Što vam je potrebno: KabloviLED -iOtpornici (510Ohms za 12V) SpajaliceLeglanje, rezači i drugo