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: Nov 13, 2024
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..)
Az Arduino-ban az a jó, hogy bárki könnyen összedobhat egy programot mások által megírt könyvtárak segítségével.
Az Arduino-ban az a rossz, hogy bárki könnyen összedobhat egy programot mások által megírt könyvtárak segítségével anélkül, hogy rá lenne kényszerítve, hogy megértse mi is zajlik a háttérben. Noha a String(i) használata működik, de egyáltalán nem hatékony. Miért is? Nézzük az alábbi kódrészt:
Első probléma, hogy 2 példányt is keletkezik a String-ből, ami két konverziót, 2x-es memóriafoglalást jelent. A String(i)-t ki lehet emelni egy változóba, akkor máris csak fele:
De itt is van egy jelentős overhead-je a String használatának: 2 byte memória a digit0 és digit1-nek a stack-en 6 byte memória a String adattagjainak a stack-en 18 byte a int konvertálására a stack-en Ez 26 byte az egyébként is szűkös 2048-ból (az eredeti példában a duplája), és nincs benne az amit még a String osztály kezeléséhez a fordítónak kell. Egyébként a String osztály kódját bárki megnézheti, és ajánlom is: String.cpp String.h Nem csinál ez sem mást, mint felhivja az itoa C függvényt, és ezt te is megteheted elkerülve a String osztály használatát, és ezzel nem csak az adat, de a program memória használat is csökken.
Egy ilyen egyszerű példánál ez nem számít sokat, de ha valami komolyabbat akarsz csinálni, akkor hamar elfogy a memória ...
Köszönöm Neked is! ( Kb ezért szeretem az assembly-t, ott tudom, hogy mit csinálok! )
Beszélgettem a mesterséges intelligenciával.Meggyőzött.
Azt elhiszem! Szépen összeszedetten fűztétek a témát! Melyik modellt használtad?
A programozás sem megy neki rosszul, de azért erősen kell fogni a kezét. Cserébe minden nyelven (is) tud.
Próbáld ki a szoftvert. Ismerkedtem én is a Chat GPT ezen oldalával. Nem hibamentes a szoftver, amiket készít.
Nyilván nem fogom vakon bemásolni az általa írt programot. Nem is adtam meg neki minden paramétert.
Már úton van az FM modul. Ha beválik beépítem egy Vidi RA6363S-be. MonitorozásSziasztok!Szeretnék tanácsot kérni tőletek. A monitora íráskor mindig új sorba íródik ki a szöveg, és az adat hozzá... Emlékszem, régen említett valaki olyan "monitor" programot, amihez lehetett küldeni adatokat úgy, hogy elsőként kiíratom az összes szöveget, majd a megfelelő helyre már csak a mért adatokat. Ezek az adatok mindig ugyan arra a helyre kerülnének, az új mért értékekkel. Vagy, ha most nincs más mérés, akkor ott nincs változás... DE! Nem találok ilyen programot. Hátha van valakinek ötlete, merre keressem. Köszönöm előre a válaszokat.
Szia!
Alap terminál parancsok a /n (vagy semmi) a NewLine (CR+LF, kocsi vissza, soremelés), van a vessző, az TAB, a pontosvessző meg a semmi (maradj, ahol vagy). Terminálprogramoknál be lehet állítani, hogy CR-LF legyen az új sor vagy CR-re is csináljon soremelést. Tehát nem a PC-s monitorod nem tudja, hanem te nem tudod beillesztgetni (néha TAB vagy +SPACE stb.) Vagy én értettem félre a kérdésed...akkor bocsi.
Az ENTER (=new line) billentyű két karakter küldését jelenti: CR = carrier return = kocsi vissza (ASCII hexa 13) ÉS line feed = soremelés (ASCII hexa 10). A terminál programban le kell tiltani ezen karakterek hozzáfűzését, kiegészítését. Ha ugyanoda szeretnél írni a terminál képernyőjén, akkor küldj csak CR-t (LF-et nem), majd a sort küldd újra az új értékkel, ami felül fogja írni az előző sort.
Érdekesség: a "kocsi vissza" és "soremelés" az ősidők nyomtatófej-, írógép fej és papírmozgatás vezérléséhez kellett. A hozzászólás módosítva: Nov 28, 2024
Hali! Valami "rendes" terminálprogram kell neked... Pl putty ez többféle terminál emulációt is tud,
pl jó lehet neked a VT100. A programodból a VT100 által támogatott ESCAPE szekveniával oda írhatsz a képernyőn ahová akarsz, valami rémlik hogy akár szineket is változtathatsz, bár ahhoz lehet ansi szekvencia kell... VT100 A linux is így ir(hat) a képernyőre A hozzászólás módosítva: Nov 28, 2024
Köszönöm a választ.. Ez teljesen jó lenne 1 sornál. Bár így még nem próbáltam. Kicsit pontosabban leírom a vágyamat.:
Van mondjuk 10 sor szöveg, mellette a mért érték. Majd esetleg utána is lehet még szöveg + érték. Ami éppen nem használatos, ott "x" jelöli, hogy ott most nincs adat értelmezve. Pl: Tápfeszültség: 10.6V Áram: 132mA Megengedett V: .... A .... stb... IC 1 Pin: x V Áram: 5mA stb... IC 6 Pin: 4 V Áram: 15mA stb... IC 14 Pin: 15 V Áram: 5mA Vagyis megadom a monitornak (az ablak nagyságát, az írás színét), hogy honnan kezdje a szöveget, utána az érték, majd a mértékegység, ha van. Ha színt is tudok megadni, még jobban átlátható lenne. Ezután már csak az értékeket írom át, ami 1-1 új mérés lenne pl. a beállításkor, beméréskor. A "processing" program is valahogy így működik, de az nekem túl sok, vagy bonyolult.. |
Bejelentkezés
Hirdetés |