Sisällysluettelo:
- Vaihe 1: Miten I2c toimii
- Vaihe 2:
- Vaihe 3: Käyttö
- Vaihe 4: Lue arvo
- Vaihe 5: Lue Vale kanavalta
- Vaihe 6: Kirjoita arvo
- Vaihe 7: Lisäominaisuudet
- Vaihe 8: Esimerkkejä liitäntäkaaviosta
- Vaihe 9: Kiitos
Video: PCF8591 (i2c Analog I/O Expander) Nopea ja helppokäyttöinen: 9 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Kirjasto käyttää i2c pcf8591 IC: tä arduinon ja esp8266: n kanssa.
Tämä IC voi ohjata (kunnes 4) analogista tuloa ja/tai 1 analogista lähtöä, kuten mitata jännitettä, lukea termistorin arvon tai himmentää ledin.
Voi lukea analogisen arvon ja kirjoittaa analogisen arvon vain 2 johdolla (täydellinen ESP-01: lle).
Yritän yksinkertaistaa tämän IC: n käyttöä minimaalisella toiminnalla.
Löydät päivitetyn version sivustoltani
Vaihe 1: Miten I2c toimii
I2C toimii kahdella johdolla, SDA (datalinja) ja SCL (kellolinja).
Molemmat linjat ovat avoimia tyhjennyksiä, mutta ne on vedetty ylös vastuksilla.
Yleensä linjalla on yksi isäntä ja yksi tai useampi orja, vaikka isäntiä voi olla useita, mutta puhumme siitä myöhemmin.
Sekä isännät että orjat voivat lähettää tai vastaanottaa dataa, joten laite voi olla jossakin näistä neljästä tilasta: isäntälähetys, isäntävastaanotto, orjalähetys, orjavastaanotto.
Vaihe 2:
Kirjastoni löydät täältä.
Ladata.
Napsauta LATAA -painiketta oikeassa yläkulmassa ja nimeä pakkaamaton kansio uudelleen PCF8591.
Tarkista, että PCF8591 -kansio sisältää PCF8591.cpp ja PCF8591.h.
Aseta PCF8591 -kirjastokansio / libraries / kansio.
Sinun on ehkä luotava kirjastojen alikansio, jos se on ensimmäinen kirjasto.
Käynnistä IDE uudelleen.
Vaihe 3: Käyttö
Rakentaja: sinun on annettava i2c: n osoite (voit tarkistaa osoitteen käyttämällä tätä opasta I2cScanner)
PCF8591 (uint8_t -osoite);
esp8266: lle, jos haluat määrittää SDA e SCL -tapin, käytä tätä:
PCF8591 (uint8_t -osoite, uint8_t sda, uint8_t scl);
Vaihe 4: Lue arvo
IC: ssä, kuten kuvassa näkyy, on 4 analogista tuloa ja 1 analoginen lähtö.
Joten voit lukea kaikki analogiset tulot yhdellä lähetyksellä, jonka voit tehdä (arvo on 0 - 255):
PCF8591:: AnalogInput ai = pcf8591.analogReadAll ();
Sarjajälki (ai.ain0); Serial.print (" -"); Sarjajälki (ai.ain1); Serial.print (" -"); Sarjajälki (ai.ain2); Serial.print (" -"); Sarja.println (ai.ain3);
jos haluat lukea yhden analogisen tulon tai kanavan:
int ana = pcf8591.analogRead (AIN0); // lue analoginen 0
Vaihe 5: Lue Vale kanavalta
Tällä IC: llä on useita luentotyyppejä, ja voit käyttää analogista tuloa tai analogista kanavaa (kun käytät yhden lukun analogista tuloa ja kanava on kuvissa).
Esimerkiksi kanavan 0 arvon lukemiseksi kahdesta differentiaalitulosta sinun on tehtävä:
int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // lue analoginen 0
Vaihe 6: Kirjoita arvo
Jos haluat kirjoittaa analogisen arvon, sinun on tehtävä se (arvo on 0 - 255):
pcf8591.analogWrite (128);
Vaihe 7: Lisäominaisuudet
Lisäominaisuus on kirjoitusjännitteen lukeminen: Jännitteen laskemiseksi sinun on annettava jokin parametri:
- microcontrollerReferenceVoltage: hanki jännite mikrokontrollerin jännitteestä (vain AVR no esp8266 for ESP 3.3v kiinteä)
- referenceVoltage: if microcontrollerReferenceVoltage false ota tämä arvo Komento ovat:
tyhjä jännite Kirjoita (kelluva arvo, bool -mikrokontrolleriReferenceVoltage = true, float referenceVoltage = 5.0);
kelluva jänniteLue (uint8_t analoginen Pin, bool -mikrokontrolleriReferenceVoltage = true, float referenceVoltage = 5.0);
Esimerkki on:
pcf8591.voltageWrite (2.7); // 2.7 Volttien lähtö
viive (3000);
float ana0V = pcf8591.voltageRead (AIN0); // Lue jännite analogista 0
Sarja.println (ana0V);
Vaihe 8: Esimerkkejä liitäntäkaaviosta
Vaihe 9: Kiitos
i2c -projektisarja (kokoelma):
- Lämpötilan kosteusanturi
- Analoginen laajennin
- Digitaalinen laajennin
- LCD -näyttö
Suositeltava:
Raspitone: helppokäyttöinen Jukebox: 7 vaihetta
Raspitone: helppokäyttöinen Jukebox: Hei, seuraava projektini on, kuten ennenkin, ei kovin hyödyllinen projekti: Tämä Raspberry 3 B+-malliin perustuva jukeboksi, tiedän, jotain tällaista voidaan helposti tehdä älypuhelimella ja Bluetooth -kaiutin. Mutta projektissani minulla oli kaksi kovaa edellytystä:
DHT12 (halpa i2c -kosteus- ja lämpötila -anturi), nopea helppokäyttöinen: 14 vaihetta
DHT12 (halpa i2c-kosteus- ja lämpötila-anturi), nopea helppokäyttöinen: Löydät päivityksiä ja muuta sivustoltani https://www.mischianti.org/2019/01/01/dht12-library-en/. voidaan käyttää 2 -johtoisella (i2c -protokolla), mutta rakastan halpaa. Tämä on Arduino- ja esp8266 -kirjasto DHT12 -sarjan
Helppo, edullinen JA helppokäyttöinen kynä: 4 vaihetta (kuvilla)
Helppo, edullinen JA helppokäyttöinen kynä: Kapasitiiviset kosketusanturit näkyvät eri muodoissa. Monia suosittuja muotoja ovat älypuhelimien, tablettien ja kytkimien näytöt. Näiden näyttöjen tai kytkimien aktivoimiseksi johtavan materiaalin on oltava lähellä. Monet käyttävät f
LoRa ESP32 -radiot Helppokäyttöinen opetusohjelma - Ei johdotusta: 6 vaihetta
LoRa ESP32 -radiot Helppokäyttöinen opetusohjelma | Ei johdotusta: Hei, mitä kuuluu, kaverit? Akarsh täällä CETechistä. Tänään aiomme tehdä projektin, joka perustuu pohjimmiltaan LoRa -radioiden asettamiseen keskustelemaan keskenään mahdollisimman helpoin tapa. Tässä käyttämäni mikro -ohjain on ESP32, joka on c
Nopea, nopea, halpa, hyvännäköinen LED -huoneen valaistus (kaikille): 5 vaihetta (kuvilla)
Nopea, nopea, halpa, hyvännäköinen LED-huonevalaistus (kaikille): Tervetuloa kaikki :-) Tämä on ensimmäinen ohjeeni, joten kommentit ovat tervetulleita :-) Toivon voivani näyttää teille, kuinka tehdä nopea LED-valaistus, joka on TINY buget.Mitä tarvitset: Kaapelit LED -valotKestävyys