INHOUDSOPGAWE:
- Stap 1: Hoe I2c werk
- Stap 2:
- Stap 3: Gebruik
- Stap 4: Lees Waarde
- Stap 5: Lees Vale From Channel
- Stap 6: Skryf Waarde neer
- Stap 7: Bykomende funksies
- Stap 8: Voorbeelde Verbindingsdiagram
- Stap 9: Dankie
Video: PCF8591 (i2c analoog I/O -uitbreider) Vinnige gebruik: 9 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Biblioteek om i2c pcf8591 IC te gebruik met arduino en esp8266.
Hierdie IC kan (tot 4) analoog ingang en/of 1 analoog uitset beheer, soos spanning meet, termistorwaarde lees of 'n LED vervaag.
Kan analoog waarde lees en analoog waarde skryf met slegs 2 drade (perfek vir ESP-01).
Ek probeer die gebruik van hierdie IC vereenvoudig, met 'n minimale stel werking.
U kan die opgedateerde weergawe op my webwerf vind
Stap 1: Hoe I2c werk
I2C werk met sy twee drade, die SDA (data lyn) en SCL (kloklyn).
Albei hierdie lyne is oop-dreineer, maar word met weerstande opgetrek.
Gewoonlik is daar een meester en een of meer slawe op die spel, alhoewel daar verskeie meesters kan wees, maar ons sal later daaroor praat.
Beide meesters en slawe kan data stuur of ontvang, daarom kan 'n toestel in een van hierdie vier toestande wees: meester -oordrag, meester -ontvangs, slawe -oordrag, slawe -ontvangs.
Stap 2:
U kan my biblioteek hier vind.
Om af te laai.
Klik op die DOWNLOADS -knoppie in die regter boonste hoek, hernoem die ongecomprimeerde gids PCF8591.
Kontroleer of die PCF8591 -lêergids PCF8591.cpp en PCF8591.h bevat.
Plaas die PCF8591 biblioteekmap u / biblioteke / gids.
Miskien moet u die biblioteek se submap skep as dit u eerste biblioteek is.
Herbegin die IDE.
Stap 3: Gebruik
Konstrukteur: u moet die adres van i2c pas (om die adres na te gaan, gebruik hierdie gids I2cScanner)
PCF8591 (uint8_t adres);
vir esp8266, as u SDA en SCL -pen wil spesifiseer, gebruik hierdie:
PCF8591 (uint8_t adres, uint8_t sda, uint8_t scl);
Stap 4: Lees Waarde
IC, soos u op die prent kan sien, het 4 analoog -ingang en 1 analoog -uitset.
Om alle analoog insette in een transmissie te lees, kan u doen (die waarde is 0 tot 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);
As u 'n enkele analoog invoer of kanaal wil lees:
int ana = pcf8591.analogRead (AIN0); // lees analoog 0
Stap 5: Lees Vale From Channel
Hierdie IC het veelvuldige tipe lees, en u kan analoog -ingang of analoog kanaal gebruik (as u enkel -gelees analoog insette gebruik en kanaal op die foto's is).
U moet byvoorbeeld die waarde van kanaal 0 in Twee differensiële invoer lees:
int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // lees analoog 0
Stap 6: Skryf Waarde neer
As u 'n analoog waarde wil skryf, moet u dit doen (die waarde is van 0 tot 255):
pcf8591.analogWrite (128);
Stap 7: Bykomende funksies
'N Bykomende kenmerk is die lees van 'n skryfspanning: Vir die berekening van die spanning moet u 'n parameter oorskry:
- microcontrollerReferenceVoltage: kry spanning van mikrocontroller spanning (slegs AVR geen esp8266 vir esp 3.3v vas)
- referenceVoltage: as microcontrollerReferenceVoltage false neem hierdie waarde Die opdrag is:
void voltageWrite (float value, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5.0);
float voltageRead (uint8_t analogPin, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5.0);
'N Voorbeeld is:
pcf8591.voltageWrite (2.7); // 2,7 volt uitset
vertraging (3000);
float ana0V = pcf8591.voltageRead (AIN0); // Lees spanning van analoog 0
Serial.println (ana0V);
Stap 8: Voorbeelde Verbindingsdiagram
Stap 9: Dankie
i2c -projekreeks (versameling):
- Temperatuur humiditeit sensor
- Analoog uitbreider
- Digitale uitbreider
- LCD -skerm
Aanbeveel:
Vinnige shifter onder $ 50! Kazeshifter Arduino verstelbare vinnige skakelaar: 7 stappe
Vinnige shifter onder $ 50! Kazeshifter Arduino Verstelbare Quick Shifter: Hallo Superbike- of motorfietsliefhebbers! Op hierdie instruksies sal ek deel hoe u u eie Quick Shifter goedkoop kan maak! Vir mense wat lui is om hierdie instruksies te lees, kyk net na my video! Let wel: vir sommige fietse wat gebruik alreeds 'n brandstofinspuitingstelsel, soms
Gebruik analoog sensors met ESP8266: 5 stappe
Analoge sensors gebruik met ESP8266: 'n Analoog-na-digitale omskakelaar (ADC, A/D, A – D of A-tot-D) is 'n stelsel wat 'n analoog sein in 'n digitale sein omskep. A/D -omsetters vertaal analoog elektriese seine vir dataverwerkingsdoeleindes. Met produkte wat ooreenstem met prestasie, krag
Raspberry Pi GPIO -kringe: Die gebruik van 'n LDR analoog sensor sonder 'n ADC (analoog na digitaal omskakelaar): 4 stappe
Raspberry Pi GPIO -kringe: Die gebruik van 'n LDR analoog sensor sonder 'n ADC (analoog na digitale omskakelaar): In ons vorige instruksies het ons u gewys hoe u die GPIO -penne van u framboos Pi aan LED's en skakelaars kan koppel en hoe die GPIO -penne hoog kan wees of Laag. Maar wat as u u Raspberry Pi met 'n analoog sensor wil gebruik? As ons 'n
Vinnige, vinnige, goedkoop, goed uitstaande LED -kamerbeligting (vir almal): 5 stappe (met foto's)
Vinnig, vinnig, goedkoop, goed uitkyk LED-kamerbeligting (vir almal): welkom almal :-) Dit is my eerste instruksie, so kommentaar is welkom :-) Ek hoop om u te wys hoe u 'n vinnige LED-beligting kan maak. TINY buget.Wat jy nodig het: KabelLEDs Weerstands (510Ohms vir 12V) Stapels Soldeerbout Snyers en ander basiese
Vinnige en eenvoudige sagte skakelaars (vir vinnige prototipering): 5 stappe
Vinnige en eenvoudige sagte skakelaars (vir vinnige prototipering): daar is baie verskillende maniere om sagte skakelaars te maak. Hierdie instruksie toon 'n ander opsie van 'n baie vinnige prototipe vir die sagte skakelaar, met behulp van 'n aluminiumband in plaas van geleidende stof, en soliede drade in plaas van 'n geleidende draad, wat