Tartalomjegyzék:

PCF8591 (i2c analóg I/O bővítő) Gyors, egyszerű használat: 9 lépés
PCF8591 (i2c analóg I/O bővítő) Gyors, egyszerű használat: 9 lépés

Videó: PCF8591 (i2c analóg I/O bővítő) Gyors, egyszerű használat: 9 lépés

Videó: PCF8591 (i2c analóg I/O bővítő) Gyors, egyszerű használat: 9 lépés
Videó: LDmicro 20: решен вопрос жидкокристаллического дисплея I2C (программирование ПЛК микроконтроллера с помощью LDmicro) 2024, November
Anonim
PCF8591 (i2c analóg I/O bővítő) Gyors, egyszerű használat
PCF8591 (i2c analóg I/O bővítő) Gyors, egyszerű használat

Könyvtár az i2c pcf8591 IC használatához arduino és esp8266 rendszerekkel.

Ez az IC (4 -ig) képes vezérelni az analóg bemenetet és/vagy 1 analóg kimenetet, például mérni a feszültséget, leolvasni a termisztor értékét vagy elhalványítani a LED -et.

Analóg értéket tud olvasni és analóg értéket írni csak 2 vezetékkel (tökéletes ESP-01-hez).

Megpróbálom egyszerűsíteni ennek az IC -nek a használatát, minimális működéssel.

A frissített verziót megtalálod a webhelyemen:

1. lépés: Az I2c működése

Hogyan működik az I2c?
Hogyan működik az I2c?

Az I2C két vezetékkel működik, az SDA (adatvonal) és az SCL (óravonal).

Mindkét vezeték nyitott lefolyású, de ellenállással felhúzva.

Általában egy mester és egy vagy több szolga van a vonalon, bár több mester is lehet, de erről később beszélünk.

Mind a mesterek, mind a slave -k képesek adatokat továbbítani vagy fogadni, ezért egy eszköz a következő négy állapot egyikében lehet: master adás, master fogadás, slave adás, slave fogadás.

2. lépés:

A könyvtáramat itt találod.

Letölteni.

Kattintson a LETÖLTÉS gombra a jobb felső sarokban, nevezze át a tömörítetlen mappát PCF8591.

Ellenőrizze, hogy a PCF8591 mappa tartalmazza -e a PCF8591.cpp és a PCF8591.h fájlokat.

Helyezze a PCF8591 könyvtármappát a / libraries / mappába.

Előfordulhat, hogy létre kell hoznia a könyvtárak almappáját, ha ez az első könyvtára.

Indítsa újra az IDE -t.

3. lépés: Használat

Konstruktor: adja meg az i2c címét (a cím ellenőrzéséhez használja ezt az útmutatót I2cScanner)

PCF8591 (uint8_t cím);

az esp8266 esetén, ha SDA és SCL pin -t szeretne megadni, használja ezt:

PCF8591 (uint8_t cím, uint8_t sda, uint8_t scl);

4. lépés: Olvassa el az értéket

Érték olvasása
Érték olvasása

A képen látható IC 4 analóg bemenettel és 1 analóg kimenettel rendelkezik.

Tehát az összes analóg bemenet egy átvitelben történő leolvasásához megteheti (az érték 0 és 255 között van):

PCF8591:: AnalogInput ai = pcf8591.analogReadAll ();

Sorozatnyomat (ai.ain0); Soros.nyomtatás (" -"); Sorozatnyomat (ai.ain1); Soros.nyomtatás (" -"); Sorozatnyomat (ai.ain2); Soros.nyomtatás (" -"); Soros.println (ai.ain3);

ha egyetlen analóg bemenetet vagy csatornát szeretne olvasni:

int ana = pcf8591.analogRead (AIN0); // 0 analóg olvasása

5. lépés: Olvassa el Vale -t a csatornától

Olvassa el Vale -t a csatornától
Olvassa el Vale -t a csatornától

Ennek az IC -nek többféle olvasási módja van, és használhatja az analóg bemenetet vagy az analóg csatornát (ha egyetlen olvasású analóg bemenetet használ, és a csatorna a képeken van).

Például a 0 csatorna értékének leolvasásához két differenciális bemenetben a következőket kell tennie:

int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // 0 analóg olvasása

6. lépés: Írjon értéket

Ha analóg értéket szeretne írni, akkor ezt meg kell tennie (az érték 0 és 255 között van):

pcf8591.analogWrite (128);

7. lépés: További szolgáltatások

További funkció az írási feszültség leolvasása: A feszültség kiszámításához meg kell adnia néhány paramétert:

  • MikrovezérlőReferenceVoltage: feszültséget kap a mikrokontroller feszültségéből (csak AVR nem esp8266 az ESP 3.3v rögzített esetén)
  • referenceVoltage: if microcontrollerReferenceVoltage false vegye fel ezt az értéketA parancs a következő:

void voltageWrite (lebegő érték, bool mikrokontrollerReferenceVoltage = true, float referenceVoltage = 5,0);

úszófeszültségRead (uint8_t analogPin, bool mikrokontrollerReferenceVoltage = true, float referenceVoltage = 5.0);

Egy példa:

pcf8591.voltageWrite (2.7); // 2.7 Volt kimenet

késleltetés (3000);

float ana0V = pcf8591.voltageRead (AIN0); // Olvassa le a feszültséget az analóg 0 -ról

Soros.println (ana0V);

8. lépés: Példák a csatlakozási rajzra

Példák a csatlakozási rajzra
Példák a csatlakozási rajzra

9. lépés: Köszönöm

i2c projekt sorozat (Gyűjtemény):

  • Hőmérséklet páratartalom érzékelő
  • Analóg bővítő
  • Digitális bővítő
  • LCD kijelzö

Ajánlott: