Innholdsfortegnelse:
- Trinn 1: Slik fungerer I2c
- Steg 2:
- Trinn 3: Bruk
- Trinn 4: Les verdi
- Trinn 5: Les Vale fra kanal
- Trinn 6: Skriv verdi
- Trinn 7: Ytterligere funksjoner
- Trinn 8: Eksempler på tilkoblingsdiagram
- Trinn 9: Takk
Video: PCF8591 (i2c Analog I/O Expander) Rask enkel bruk: 9 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Bibliotek for bruk av i2c pcf8591 IC med arduino og esp8266.
Denne IC kan kontrollere (inntil 4) analog inngang og/eller 1 analog utgang som måle spenning, lese termistorverdi eller falme en LED.
Kan lese analog verdi og skrive analog verdi med bare 2 ledninger (perfekt for ESP-01).
Jeg prøver å forenkle bruken av denne IC, med et minimalt sett med operasjoner.
Du finner den oppdaterte versjonen på nettstedet mitt
Trinn 1: Slik fungerer I2c
I2C fungerer med sine to ledninger, SDA (datalinje) og SCL (klokke linje).
Begge disse ledningene er åpne-drenering, men trekkes opp med motstander.
Vanligvis er det en mester og en eller flere slaver på linjen, selv om det kan være flere mestere, men vi snakker om det senere.
Både mestere og slaver kan overføre eller motta data, derfor kan en enhet befinne seg i en av disse fire tilstandene: masteroverføring, mastermottak, slaveoverføring, slavemottak.
Steg 2:
Du finner biblioteket mitt her.
For å laste ned.
Klikk på DOWNLOADS -knappen øverst til høyre, gi nytt navn til den ukomprimerte mappen PCF8591.
Kontroller at PCF8591 -mappen inneholder PCF8591.cpp og PCF8591.h.
Plasser PCF8591 bibliotekmappen din / biblioteker / mappen.
Du må kanskje opprette undermappen biblioteker hvis det er ditt første bibliotek.
Start IDE på nytt.
Trinn 3: Bruk
Konstruktør: du må passere adressen til i2c (for å sjekke adressen, bruk denne guiden I2cScanner)
PCF8591 (uint8_t adresse);
for esp8266 hvis du vil spesifisere SDA og SCL -pin, bruk denne:
PCF8591 (uint8_t adresse, uint8_t sda, uint8_t scl);
Trinn 4: Les verdi
IC som du kan se på bildet har 4 analoge innganger og 1 analoge utganger.
Så for å lese all analog inngang i én sending kan du gjøre (verdien er fra 0 til 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);
hvis du vil lese en enkelt analog inngang eller kanal:
int ana = pcf8591.analogRead (AIN0); // les analog 0
Trinn 5: Les Vale fra kanal
Denne IC har flere typer lesing, og du kan bruke Analog inngang eller analog kanal (når du bruker enkel lese analog inngang og kanalen er på bildene).
For eksempel for å lese verdien av kanal 0 i To differensialinnganger må du gjøre:
int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // les analog 0
Trinn 6: Skriv verdi
Hvis du vil skrive en analog verdi må du gjøre (verdien er fra 0 til 255):
pcf8591.analogWrite (128);
Trinn 7: Ytterligere funksjoner
Ekstra funksjon er å lese en skrivespenning: For beregning av spenning må du passere en parameter:
- microcontrollerReferenceVoltage: få spenning fra mikrokontroller spenning (bare AVR ingen esp8266 for esp 3.3v fast)
- referenceVoltage: if microcontrollerReferenceVoltage false ta denne verdien Kommandoen er:
void voltageWrite (float value, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5.0);
float voltageRead (uint8_t analogPin, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5.0);
Et eksempel er:
pcf8591.voltageWrite (2.7); // 2,7 volt utgang
forsinkelse (3000);
float ana0V = pcf8591.voltageRead (AIN0); // Les spenning fra analog 0
Serial.println (ana0V);
Trinn 8: Eksempler på tilkoblingsdiagram
Trinn 9: Takk
i2c -prosjektserie (samling):
- Temperaturfuktighetssensor
- Analog ekspander
- Digital ekspander
- LCD-skjerm
Anbefalt:
Otto DIY Robot Walking - Rask og enkel å gjøre Opplæring: 7 trinn
Otto DIY Robot Walking - Rask og enkel opplæring: I denne opplæringen lærer vi hvordan du enkelt programmerer Otto DIY Robot til å gå. Se en demonstrasjonsvideo
DHT12 (i2c billig fuktighets- og temperatursensor), rask enkel bruk: 14 trinn
DHT12 (i2c billig fuktighets- og temperatursensor), rask enkel bruk: Du kan finne oppdateringer og annet på nettstedet mitt https://www.mischianti.org/2019/01/01/dht12-library-en/. Jeg liker sensor som kan brukes med 2 -leder (i2c -protokoll), men jeg elsker den billige. Dette er et Arduino- og esp8266 -bibliotek for DHT12 -serien
"Enkel" Digilog -klokke (digital analog) ved bruk av resirkulert materiale !: 8 trinn (med bilder)
"Enkel" Digilog -klokke (digital analog) ved bruk av resirkulert materiale !: Hei alle sammen! Så på denne instruksen vil jeg dele hvordan du lager denne digitale + analoge klokken ved å bruke billig materiale! Hvis du synes dette prosjektet "suger", du kan gå bort og ikke fortsette å lese denne Instructable. Fred! Jeg beklager virkelig hvis
Rask og enkel måte å endre låseskjermen i 6 enkle trinn (Windows 8-10): 7 trinn
Rask og enkel måte å endre låseskjermen i 6 enkle trinn (Windows 8-10): Vil du endre ting på din bærbare eller PC? Ønsker du en forandring i atmosfæren din? Følg disse raske og enkle trinnene for å tilpasse datamaskinens låseskjerm
Rask, rask, billig, flott LED -rombelysning (for alle): 5 trinn (med bilder)
Rask, rask, billig, flott LED-rombelysning (for alle): Velkommen alle :-) Dette er min første instruks, så kommentarer mottas med takk :-) Det jeg håper å vise deg er hvordan du lager rask LED-belysning som er på en TINY buget.Det du trenger: KabelLED -resistorer (510Ohms for 12V) stifterSolderjernKuttere og andre grunnleggende