Se afișează postările cu eticheta multiplicator. Afișați toate postările
Se afișează postările cu eticheta multiplicator. Afișați toate postările

duminică, 22 septembrie 2024

Folosire interfata "standard" i2c cu PCF8574 pentru LCD1602 ca multiplicator de intrari/iesiri digitale (2)

    Fata de testele din articolul anterior, cand iesirile "urmareau" starile butoanelor (ledurile era aprinse cand butoanele erau neapasate si stinse cand erau apasate butoanele), de data asta am modificat ca starea iesirii corespunzatoare butonului fara retinere sa se schimbe la fiecare apasare.

   Schema de conectare este aceeasi

doar programul este diferit, acum fiind PCF_IO_test3.ino 

    Am facut 2 filmulete:

folosire interfata i2c cu PCF8574 pentru LCD1602 ca multiplicator de intrari/iesiri digitale (3)

PCF8574 interface for LCD display used as expander for digital inputs/outputs (3)


23.09.2024
   Pentru a putea integra montajul intr-unul mai complex, am schimbat adresa interfetei in 0x25 prin lipirea "puntii" (strapului) A1 de pe modul.
   Incarcand in Arduino programul i2c_scanner, gasim in ecranul de monitorizare seriala
asa ca am inlocui si in programul PCF_IO_test3.ino adresa din 0x27 in 0x25
si montajul functioneaza normal.

Folosire interfata "standard" i2c cu PCF8574 pentru LCD1602 ca multiplicator de intrari/iesiri digitale

    In continuarea articolului anterior, unde PCF8574 era folosit doar ca multiplicator de iesiri (comanda un afisaj led cu 7-segmente), acum va fi folosit si pentru a avea mai multe intrari si/sau iesiri digitale.

   Am gasit mai multe materiale, doar ca am folosit biblioteca PCF8574_library pentru ca are un articol cu explicatii foarte bune: PCF8574 i2c digital I/O expander: Arduino, esp8266 and esp32, basic I/O and interrupt – Part 1

dar eu am mai folosit si informatiile de la Practical Guide to PCF8574: Adding Extra Pins for Arduino
   Ca de obicei, am verificat adresa interfetei i2c utilizand programul i2c_scanner, rezultand 0x27 (alta adresa uzuala este 0x3F)
   Primul test a fost realizat conectand P0 (RS de pe interfata) la butonul fara retinere, iar P7 (DB7 de pe interfata) la un led inseriat cu o rezistenta de 220-470Ω.

   Am facut si 2 filmulete folosind programul PCF_IO_test1.ino:
   Apoi am am adaugat al doilea buton fara retinere la P1 (RW de pe interfata) si un led cu rezistenta la P6 (PB6).

   Am realizat si cu acest montaj 2 filmulete:, in care am folosit programul modificat PCF_IO_test2.ino: