Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Illetve nem jól írtam nem megváltoztattuk ezeket a sorokat hanem ezeket írtuk be a PWM illetve a PID értékek kijelzése helyett!
Az eredeti kijelzés így nézett ki:
Nem lehet hogy egy eløző kiírás eredménye maradt ott? Firi hogy aértékegység hol felül, hol az eredmény után van
Köszi erre már gondoltunk de nem találtunk erre utaló jelet.
Sikerült szóra bírni az SML II invertert,megvannak a napelem és az akku adatai.A hálózat adatait három JSY 194 adja,az inverter meg rs485-el.Az R fázison van a hibrid 14 kWh akkuval,az S,T fázisokon két EHE visszatáplálós inverter.A monitoron jól látható mi történik a hálózaton,a valós fogyasztás/MVM vételezés különbsége és a betáplálás.A hibrid alaposan csökkenti az MVM vételezést,de visszatáplálósoknál kis odafigyeléssel is eredményes.A szenzorok és rs485 kezelést a pincében az inverterek mellett egy Mega 2560 végzi,az adat feldolgozást három szinttel feljebb(30 m kábel után)ESP32 a monitorral.Az volt a cél,mennyi felesleges energiát lehet elvenni a napelemektől más hasznosításra,mint a visszatáplálás.A következő cél ennek megvalósítása lesz.
A mért érték amúgy jó lenne? Nem mindegy hogy csak a kijelzéssel van baj, vagy valami komolyabb a hiba. Elsőre én is valami maradékra gondolnék, de ennek azért vannak jelei is ha úgy van (bent maradt pixelek pl). Ha a kijelzett érték amúgy rendben van, én megpróbálnék egy nulla bájtot beírni a txt megfelelő pozíciójára. Elvileg ezzel jelzed hogy vége a szövegnek, ne írja tovább a képernyőre. Ha a kijelzett érték amúgy sincs rendben, akkor az is lehet hogy a számításkor keletkezik valami hiba, ami miatt nem jól működik a megjelenítés, mondjuk végtelen, vagy nullával való osztás vagy ilyesmit tudnék elképzelni. A számolt érték helyett szerintem első körben írj be egy fix értéket, mondjuk 5-öt. Ha ez jó, akkor 5.7-et. Az se baj ha a mért értéket kiírod a soros konzolra, és rögtön látod hogy legalább ugyanazt próbálja kiírni amit kell, vagy teljesen félre megy. Szerintem ebből a pár lépésből rögtön le lehet szűkíteni a hiba helyét.
A mért érték vagyis a teljesítmény és az ellenállás kiszámítása az jó csak annyi hogy sok számot jelenít meg.
De ezeket a javaslatokat megnézzük köszönöm!
Jó lett ám négy számjegyet engedéjeztünk majd 0-t írtunk be és most jó lett a kijelzés!
Köszönöm az ötletet! A hozzászólás módosítva: Nov 2, 2024
kód kérdésSziasztok! Egy egyszerű dolgon nem tudok továbblépni.1 bájtos számot szeretnék kijeleztetni VFD-n. A szám 0-99-ig lehet, ezt a következő módszerrel próbáltam:
(a Serial.print... csak a teszthez kell. Decimális 10-99 -ig rendben van, de 0-9-ig a szám nekem az str[0]-ban jelenik meg. Nekem arra lenne szükségem, hogy az str[0]-ban "0" legyen és az str[1]-ben a szám. (Ilyenkor az str[1]-ben a string-lezáró hex0-van, ezért azt már nem tudom írni! Valami használható megoldást keresek.
Zavaros ez a kód, és évek óta nem írtam arduinora, de hátha segít: elôször eldöntöd hogy 10 alatt vagy, akkor csinálsz egy feltételt erre, azaz
A hozzászólás módosítva: Sze, 18:00
A String az egy karakter tömb. Nem kell létrehoznod hozzá egy másik tömböt, ki tudod közvetlenül is olvasni a bájtokat.
Erre rengeteg megoldás van, a esetedre a legegyszerűbb:
Ez a megoldás szimpatikus volt, de:
Ezzel teszteltem és erre ezt írta ki: digit0= digit1=0 digit0= digit1=0 digit0= digit1=0 <-- eddig "sec<dec10" digit0= digit1=1 digit0= digit1=1 <-- innen "sec>dec10" digit0= digit1=1
Ehhez hasonlóval próbálkoztam, de az szerintem túl hosszú volt. Több számot is szeretnék kiírni, ezért egy "alprogramba" képzeltem el a megoldást.
És így:
Köszönöm, ez már működik! Azt nem tudtam, hogy így is lehet: "digit1= String(i)[0];"
(Arduino "C" nem az én világom, assemblyvel elvagyok..) |
Bejelentkezés
Hirdetés |