Indholdsfortegnelse:
- Trin 1: Sådan fungerer I2c
- Trin 2:
- Trin 3: Anvendelse
- Trin 4: Læs værdi
- Trin 5: Læs Vale fra kanal
- Trin 6: Skriv værdi
- Trin 7: Yderligere funktioner
- Trin 8: Eksempler Tilslutningsdiagram
- Trin 9: Tak
Video: PCF8591 (i2c Analog I/O Expander) Hurtig let brug: 9 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Bibliotek til brug af i2c pcf8591 IC med arduino og esp8266.
Denne IC kan styre (indtil 4) analog indgang og/eller 1 analog udgang som måle spænding, aflæse termistorværdi eller fade en LED.
Kan læse analog værdi og skrive analog værdi med kun 2 ledninger (perfekt til ESP-01).
Jeg forsøger at forenkle brugen af denne IC med et minimalt sæt operationer.
Du kan finde en opdateret version på mit websted
Trin 1: Sådan fungerer I2c
I2C fungerer med sine to ledninger, SDA (datalinje) og SCL (urlinje).
Begge disse linjer er åbne-afløb, men er trukket op med modstande.
Normalt er der en mester og en eller flere slaver på linjen, selvom der kan være flere mestre, men vi taler om det senere.
Både mestre og slaver kan overføre eller modtage data, derfor kan en enhed befinde sig i en af disse fire tilstande: masteroverførsel, mastermodtagelse, slaveoverførsel, slavemodtagelse.
Trin 2:
Du kan finde mit bibliotek her.
At downloade.
Klik på knappen DOWNLOADS i øverste højre hjørne, omdøb den ukomprimerede mappe PCF8591.
Kontroller, at PCF8591 -mappen indeholder PCF8591.cpp og PCF8591.h.
Placer PCF8591 biblioteksmappen din / biblioteker / mappe.
Du skal muligvis oprette bibliotekernes undermappe, hvis det er dit første bibliotek.
Genstart IDE.
Trin 3: Anvendelse
Konstruktør: du skal angive adressen på i2c (for at kontrollere adressen, brug denne vejledning I2cScanner)
PCF8591 (uint8_t adresse);
til esp8266, hvis du vil angive SDA og SCL -pin, skal du bruge denne:
PCF8591 (uint8_t adresse, uint8_t sda, uint8_t scl);
Trin 4: Læs værdi
IC, som du kan se på billedet, har 4 analoge indgange og 1 analoge udgange.
Så for at læse alle analoge input i en transmission kan du gøre (værdien er fra 0 til 255):
PCF8591:: AnalogInput ai = pcf8591.analogReadAll ();
Seriel.print (ai.ain0); Serial.print (" -"); Serial.print (ai.ain1); Serial.print (" -"); Serial.print (ai.ain2); Serial.print (" -"); Serial.println (ai.ain3);
hvis du vil læse en enkelt analog indgang eller kanal:
int ana = pcf8591.analogRead (AIN0); // læs analog 0
Trin 5: Læs Vale fra kanal
Denne IC har flere typer af læsning, og du kan bruge Analog input eller analog kanal (når du bruger single read analog input og kanal er på billederne).
For eksempel for at læse værdien af kanal 0 i To differentialindgange skal du gøre:
int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // læs analog 0
Trin 6: Skriv værdi
Hvis du vil skrive en analog værdi, skal du gøre (værdien er fra 0 til 255):
pcf8591.analogWrite (128);
Trin 7: Yderligere funktioner
Yderligere funktion er at læse en skrivespænding: Til beregning af spænding skal du passere en parameter:
- microcontrollerReferenceVoltage: få spænding fra mikrocontroller spænding (kun AVR ingen esp8266 for esp 3.3v fast)
- referenceVoltage: hvis microcontrollerReferenceVoltage false tager denne værdi 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 udgang
forsinkelse (3000);
float ana0V = pcf8591.voltageRead (AIN0); // Læs spænding fra analog 0
Serial.println (ana0V);
Trin 8: Eksempler Tilslutningsdiagram
Trin 9: Tak
i2c projektserie (samling):
- Temperaturfugtighedsføler
- Analog ekspander
- Digital ekspander
- LCD display
Anbefalede:
Otto DIY Robot Walking - Hurtig og let at lave Tutorial: 7 trin
Otto DIY Robot Walking - Hurtig og let at lave selvstudium: I denne vejledning lærer vi, hvordan du nemt programmerer Otto DIY Robot til at gå. Se en demonstrationsvideo
DHT12 (i2c billig fugtigheds- og temperatursensor), hurtig let brug: 14 trin
DHT12 (i2c billig fugtigheds- og temperatursensor), hurtig nem brug: Du kan finde opdateringer og andet på mit websted https://www.mischianti.org/2019/01/01/dht12-library-da/. Jeg kan godt lide sensor, der kan bruges med 2 wire (i2c protokol), men jeg elsker den billige. Dette er et Arduino og esp8266 bibliotek til DHT12 serien o
I2C / IIC LCD -skærm - Brug et SPI LCD til I2C LCD Display Brug SPI til IIC modul med Arduino: 5 trin
I2C / IIC LCD -skærm | Brug en SPI LCD til I2C LCD -skærmen Brug af SPI til IIC -modulet med Arduino: Hej fyre, da en normal SPI LCD 1602 har for mange ledninger at tilslutte, så det er meget svært at grænseflade det med arduino, men der er et modul på markedet, som kan konverter SPI -skærm til IIC -skærm, så du skal kun tilslutte 4 ledninger
DIY MusiLED, musik-synkroniserede lysdioder med et klik Windows & Linux-applikation (32-bit og 64-bit). Let at genskabe, let at bruge, let at transportere .: 3 trin
DIY MusiLED, musik-synkroniserede lysdioder med et klik Windows & Linux-applikation (32-bit og 64-bit). Let at genskabe, let at bruge, let at transportere .: Dette projekt hjælper dig med at forbinde 18 lysdioder (6 røde + 6 blå + 6 gule) til dit Arduino-kort og analysere din computers lydkorts realtids signaler og videresende dem til lysdioderne for at tænde dem i takt med slageffekterne (Snare, High Hat, Kick)
Hurtig, hurtig, billig, flot LED -rumbelysning (for alle): 5 trin (med billeder)
Hurtig, hurtig, billig, flot LED-rumbelysning (for alle): Velkommen alle :-) Dette er min første instruerbare, så kommentarer er velkomne :-) Det jeg håber at vise dig er, hvordan du laver hurtig LED-belysning, der er på en TINY buget.Hvad har du brug for: KabelLED'erResistorer (510Ohms til 12V) StapelsSolderjernKuttere og andre bas