mandulaj / PZEM-004T-v30

Arduino library for the Updated PZEM-004T v3.0 Power and Energy meter
MIT License
256 stars 108 forks source link

Multiple PZEMS #32

Closed efakostya closed 3 years ago

efakostya commented 3 years ago

Hello friends, tell me how to fix the library to read in a loop. I don't like the case option. PZEM004Tv30 pzem1 (D1, D2); PZEM004Tv30 pzem2 (D3, D4); PZEM004Tv30 pzem3 (D5, D6);

v [0] = pzem1.voltage (); c [0] = pzem1.current (); p [0] = pzem1.power (); e [0] = pzem1.energy (); f [0] = pzem1.frequency ();

v [1] = pzem2.voltage (); c [1] = pzem2.current (); p [1] = pzem2.power (); e [1] = pzem2.energy (); f [1] = pzem2.frequency ();

v [2] = pzem3.voltage (); c [2] = pzem3.current (); p [2] = pzem3.power (); e [2] = pzem3.energy (); f [2] = pzem3.frequency ();

Is it possible to somehow bring to the form: for (size_t i = 0; i < 3; i++){ v [i] = pzem[i].voltage (); c [i] = pzem[i].current (); p [i] = pzem[i].power (); e [i] = pzem[i].energy (); f [i] = pzem[i].frequency (); }

efakostya commented 3 years ago

PZEM004Tv30* pzem[] = { new PZEM004Tv30(D1, D2), new PZEM004Tv30(D3, D4), new PZEM004Tv30(D5, D6) };

for (size_t i = 0; i < 3; i++){ v[i] = pzem[i]->voltage(); ... }