Obsah:
- Krok 1: Jak I2c funguje
- Krok 2:
- Krok 3: Použití
- Krok 4: Přečtěte hodnotu
- Krok 5: Přečtěte si Vale z kanálu
- Krok 6: Zapište hodnotu
- Krok 7: Další funkce
- Krok 8: Příklady schématu připojení
- Krok 9: Díky
Video: PCF8591 (i2c Analog I/O Expander) Rychlé snadné použití: 9 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Knihovna pro použití i2c pcf8591 IC s arduino a esp8266.
Tento IC může ovládat (až 4) analogový vstup a/nebo 1 analogový výstup, jako je měření napětí, čtení hodnoty termistoru nebo vyblednutí LED.
Může číst analogovou hodnotu a zapisovat analogovou hodnotu pouze pomocí 2 vodičů (ideální pro ESP-01).
Snažím se zjednodušit používání tohoto IC s minimální sadou operací.
Aktualizovanou verzi najdete na mém webu
Krok 1: Jak I2c funguje
I2C pracuje se dvěma vodiči, SDA (datový řádek) a SCL (hodinový řádek).
Obě tyto linky jsou otevřené, ale jsou vytaženy rezistory.
Obvykle je na lince jeden pán a jeden nebo více otroků, i když může být více mistrů, ale o tom si povíme později.
Master i slave mohou přenášet nebo přijímat data, proto může být zařízení v jednom z těchto čtyř stavů: hlavní vysílání, hlavní příjem, podřízený přenos, podřízený příjem.
Krok 2:
Moji knihovnu najdete zde.
Ke stažení.
Klikněte na tlačítko STAŽENÍ v pravém horním rohu, přejmenujte nekomprimovanou složku PCF8591.
Zkontrolujte, zda složka PCF8591 obsahuje PCF8591.cpp a PCF8591.h.
Umístěte složku knihovny PCF8591 do složky / libraries /.
Pokud je to vaše první knihovna, budete možná muset vytvořit podsložku knihoven.
Restartujte IDE.
Krok 3: Použití
Konstruktor: musíte zadat adresu i2c (pro kontrolu adresy použijte tuto příručku I2cScanner)
PCF8591 (adresa uint8_t);
pro esp8266, pokud chcete specifikovat pin SDA e SCL, použijte toto:
PCF8591 (adresa uint8_t, uint8_t sda, uint8_t scl);
Krok 4: Přečtěte hodnotu
IC, jak vidíte na obrázku, má 4 analogové vstupy a 1 analogový výstup.
Chcete -li tedy přečíst všechny analogové vstupy jedním přenosem, můžete provést (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);
pokud chcete přečíst jeden analogový vstup nebo kanál:
int ana = pcf8591.analogRead (AIN0); // číst analogový 0
Krok 5: Přečtěte si Vale z kanálu
Tento IC má více typů čtení a můžete použít analogový vstup nebo analogový kanál (pokud používáte jedno čtení, analogový vstup a kanál jsou na obrázcích).
Chcete -li například přečíst hodnotu kanálu 0 ve dvou diferenciálních vstupech, musíte provést:
int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // číst analogový 0
Krok 6: Zapište hodnotu
Pokud chcete napsat analogovou hodnotu, musíte to udělat (hodnota je od 0 do 255):
pcf8591.analogWrite (128);
Krok 7: Další funkce
Další funkcí je čtení zapisovacího napětí: Pro výpočet napětí musíte předat nějaký parametr:
- mikrokontrolérReferenceVoltage: získejte napětí z napětí mikrokontroléru (pouze AVR bez esp8266 pro pevné napětí 3,3v)
- referenceVoltage: if microcontrollerReferenceVoltage false take this valuePříkaz jsou:
neplatné napětíPis
float voltageRead (uint8_t analogPin, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5,0);
Příkladem je:
pcf8591.voltageWrite (2.7); // Výstup 2,7 voltů
zpoždění (3000);
float ana0V = pcf8591.voltageRead (AIN0); // Odečtěte napětí z analogu 0
Serial.println (ana0V);
Krok 8: Příklady schématu připojení
Krok 9: Díky
Série projektů i2c (kolekce):
- Teplotní vlhkostní senzor
- Analogový expandér
- Digitální expandér
- LCD displej
Doporučuje:
Rychlé řazení pod 50 $! Kazeshifter Arduino Nastavitelné rychlé řazení: 7 kroků
Rychlé řazení pod 50 $! Kazeshifter Arduino Nastavitelný Quick Shifter: Ahoj milovníci superbiků nebo motocyklů! Na tomto návodu se podělím o to, jak levně vytvořit vlastní Quick Shifter! Pro lidi, kteří jsou líní si tento návod přečíst, stačí se podívat na moje video! Poznámka: U některých kol, která již používá systém vstřikování paliva
DHT12 (levný snímač vlhkosti a teploty i2c), rychlé snadné použití: 14 kroků
DHT12 (levné čidlo vlhkosti a teploty i2c), rychlé snadné použití: Aktualizace a další najdete na mém webu https://www.mischianti.org/2019/01/01/dht12-library-en/ Líbí se mi senzor, který lze použít se 2 vodiči (protokol i2c), ale miluji ten levný. Jedná se o knihovnu Arduino a esp8266 pro řadu DHT12
DIY MusiLED, hudební synchronizované LED diody s aplikací Windows a Linux na jedno kliknutí (32bitová a 64bitová). Snadné obnovení, snadné použití, snadné přenesení: 3 kroky
DIY MusiLED, synchronizované LED diody hudby s aplikací Windows a Linux jediným kliknutím (32bitová a 64bitová). Snadno se obnovuje, snadno se používá a snadno se přenáší: Tento projekt vám pomůže připojit 18 LED diod (6 červených + 6 modrých + 6 žlutých) k desce Arduino a analyzovat signály zvukové karty vašeho počítače v reálném čase a přenášet je do LED diody je rozsvítí podle efektů rytmu (Snare, High Hat, Kick)
Rychlé, rychlé, levné, dobře vypadající LED osvětlení místnosti (pro kohokoli): 5 kroků (s obrázky)
Rychlé, rychlé, levné, dobře vypadající LED osvětlení místnosti (pro kohokoli): Vítejte všichni :-) Toto je můj první návod, takže komentáře jsou vítány :-) Doufám, že vám ukážu, jak vytvořit rychlé LED osvětlení, které je na TINY buget. Co potřebujete: CableLEDs Rezistory (510 Ohmů pro 12V) StapelsSpáječka Žehličky a další základny
Rychlé a jednoduché měkké přepínače (pro rychlé prototypování): 5 kroků
Rychlé a jednoduché měkké přepínače (pro rychlé vytváření prototypů): Existuje mnoho různých způsobů, jak vytvořit měkké přepínače. Tento instruktáž ukazuje další možnost velmi rychlého prototypu měkkého spínače pomocí hliníkové pásky místo vodivé látky a pevných vodičů místo vodivé nitě, které bot