Obsah:
- Krok 1: Ako funguje I2c
- Krok 2:
- Krok 3: Použitie
- Krok 4: Prečítajte si hodnotu
- Krok 5: Prečítajte si Vale z kanála
- Krok 6: Napíšte hodnotu
- Krok 7: Ďalšie funkcie
- Krok 8: Príklady schémy pripojenia
- Krok 9: Ďakujem
Video: PCF8591 (analógový expandér I/O i2c) Rýchle jednoduché použitie: 9 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Knižnica na použitie i2c pcf8591 IC s arduino a esp8266.
Tento IC môže ovládať (do 4) analógový vstup a/alebo 1 analógový výstup, ako je napríklad meranie napätia, čítanie hodnoty termistora alebo stmievanie LED.
Dokáže čítať analógovú hodnotu a zapisovať analógovú hodnotu iba pomocou 2 drôtov (ideálne pre ESP-01).
Snažím sa zjednodušiť používanie tohto IC s minimálnym súborom operácií.
Aktualizovanú verziu nájdete na mojom webe
Krok 1: Ako funguje I2c
I2C pracuje s dvoma vodičmi, SDA (dátový riadok) a SCL (hodinový riadok).
Obe tieto vedenia sú otvorené, ale sú vyťahované odpormi.
Na linke je spravidla jeden pán a jeden alebo viacerí otroci, aj keď môže byť viac majstrov, ale o tom neskôr.
Master aj slave môžu prenášať alebo prijímať údaje, preto môže byť zariadenie v jednom z týchto štyroch stavov: hlavný prenos, hlavný príjem, podradený prenos, podriadený príjem.
Krok 2:
Moju knižnicu nájdete tu.
Stiahnuť.
Kliknite na tlačidlo STIAHNUTIE v pravom hornom rohu a premenujte nekomprimovaný priečinok PCF8591.
Skontrolujte, či priečinok PCF8591 obsahuje PCF8591.cpp a PCF8591.h.
Umiestnite priečinok knižnice PCF8591 do priečinka / libraries /.
Ak je to vaša prvá knižnica, možno budete musieť vytvoriť podpriečinok knižníc.
Reštartujte IDE.
Krok 3: Použitie
Konštruktor: musíte zadať adresu i2c (na kontrolu adresy použite túto príručku I2cScanner)
PCF8591 (adresa uint8_t);
pre esp8266, ak chcete špecifikovať pin SDA e SCL, použite toto:
PCF8591 (adresa uint8_t, uint8_t sda, uint8_t scl);
Krok 4: Prečítajte si hodnotu
IC, ako vidíte na obrázku, má 4 analógové vstupy a 1 analógový výstup.
Ak chcete teda prečítať všetky analógové vstupy jedným prenosom, môžete to urobiť (hodnota je od 0 do 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);
ak chcete prečítať jeden analógový vstup alebo kanál:
int ana = pcf8591.analogRead (AIN0); // prečítaj analóg 0
Krok 5: Prečítajte si Vale z kanála
Tento IC má viac typov čítania a môžete použiť analógový vstup alebo analógový kanál (keď použijete jeden čítací analógový vstup a kanál je na obrázkoch).
Ak napríklad chcete prečítať hodnotu kanála 0 v dvoch diferenciálnych vstupoch, musíte urobiť:
int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // prečítaj analóg 0
Krok 6: Napíšte hodnotu
Ak chcete napísať analógovú hodnotu, musíte to urobiť (hodnota je od 0 do 255):
pcf8591.analogWrite (128);
Krok 7: Ďalšie funkcie
Ďalšou funkciou je čítanie zapisovacieho napätia: Na výpočet napätia musíte odovzdať určitý parameter:
- mikrokontrolérReferenceVoltage: získajte napätie z napätia mikrokontroléra (iba AVR č. esp8266 pre pevný disk 3,3v)
- referenceVoltage: if microcontrollerReferenceVoltage false take this valuePríkaz sú:
neplatné napätie
float voltageRead (uint8_t analogPin, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5,0);
Príkladom je:
pcf8591.voltageWrite (2.7); // Výstup 2,7 voltov
oneskorenie (3000);
float ana0V = pcf8591.voltageRead (AIN0); // Prečítajte napätie z analógového 0
Serial.println (ana0V);
Krok 8: Príklady schémy pripojenia
Krok 9: Ďakujem
Séria projektov i2c (zbierka):
- Teplotný snímač vlhkosti
- Analógový expandér
- Digitálny expandér
- Displej LCD
Odporúča:
Rýchle radenie pod 50 dolárov! Nastaviteľné rýchle radenie Kazeshifter Arduino: 7 krokov
Rýchle radenie pod 50 dolárov! Nastaviteľný rýchly radič Kazeshifter Arduino: Ahoj milovníci superbicyklov alebo motocyklov! Na tomto návode sa podelím o to, ako si lacno vyrobiť vlastný rýchly radič! Pre ľudí, ktorí sú leniví prečítať si tento návod, stačí si pozrieť moje video! Poznámka: Pre niektoré bicykle, ktoré už používa systém vstrekovania paliva,
Rýchle a jednoduché počítače na stenu: 8 krokov
Rýchle a jednoduché počítače na stenu: Ušetrite veľa miesta, urobte dojem na svojich priateľov! Pomocou jednoduchých rezaných drevených dielov a listu farebného plexiskla môžete počítač rýchlo pripevniť na stenu
DHT12 (lacný snímač vlhkosti a teploty i2c), rýchle jednoduché použitie: 14 krokov
DHT12 (i2c Lacný snímač vlhkosti a teploty), rýchle jednoduché použitie: Aktualizáciu a ďalšie informácie nájdete na mojom webe https://www.mischianti.org/2019/01/01/dht12-library-en/ Páči sa mi senzor, ktorý môže byť použitý s 2 vodičmi (protokol i2c), ale milujem ten lacný. Toto je knižnica Arduino a esp8266 pre sériu DHT12
Rýchle, rýchle, lacné, dobre vyzerajúce LED osvetlenie miestnosti (pre kohokoľvek): 5 krokov (s obrázkami)
Rýchle, rýchle, lacné, dobre vyzerajúce LED osvetlenie miestnosti (pre kohokoľvek): Vitajte všetci :-) Toto je môj prvý pokyn, takže komentáre sú vítané :-) Dúfam, že vám ukážem, ako vytvoriť rýchle LED osvetlenie, ktoré je TINY buget. Čo potrebujete: Káblové LED diódy Rezistory (510 ohmov pre 12V) Spony Spájkovačka Rezačky a iné základne
Rýchle a jednoduché mäkké prepínače (pre rýchle prototypovanie): 5 krokov
Rýchle a jednoduché mäkké prepínače (pre rýchle vytváranie prototypov): Existuje mnoho rôznych spôsobov, ako vytvoriť mäkké prepínače. Tento návod ukazuje ďalšiu možnosť veľmi rýchleho prototypu mäkkého spínača, ktorý používa namiesto vodivej textílie hliníkovú pásku a namiesto vodivého vlákna pevné drôty, ktoré