Fórum témák
» Több friss téma |
Sőt, jut eszembe. Küldés közben is lehet variálni, tolerálja a kijelző. Lás dmellékelt. A "Send_CMD" nevű makró a három 255-ös karakter küldését tartalmazza.
Tudod miért akartam én minden áron összefűzni egy hosszú mondattá?
Mert nem tudtam megérteni hogy ha én mondjuk küldeni akarok 3 darab 2 helyi értékes változót. Egymás után elküldöm És fogadó oldalon a Receiver Char nál be van állitva hogy (2) akkor amig meg nem kapja mind a két helyi értéket addig nem fog továbblépni, De ha már megkapta és továbblépett és fogadná a következőt attól meg nem kell tartanom hogy az "érték nélkül bezáródik, hiszen ott is van a hosszóság illetve az időlimit amíg vár az adatra! Ezt most nem a Nextionhoz értem hanem mondjuk 2 PIC kommunikációjára . A hozzászólás módosítva: Jan 5, 2018
Szöveget egyértelmű hogy szövegként küldöm! De ha számot akarok küldeni akkor simán számként írjam vagy... ?
Nem egyértelmű a kérdés. Pl. p0 nevű kép megváltoztatása:
SendRS232String "p0.pic=32" Erre gondoltál?
Igen... kicsit zavarosan tettem fel!
Most vegyünk pl két PIC et ami kommunikál egyműssal ( valahogy ugy mint nálad!) Azonosítás megvolt, tudjuk kit szólítottunk meg és az mondjuk vissza küld 3 számot legyen: kint, bent, rel, És már meg is válaszoltam magamnak a kérdést mert ha el akarom küldeni a kint változót ami mondjuk a kint hőmérséklet akkor a változóba az úgyis számként van és nem azt mondom hogy: Send RS232Char(24) hanem azt hogy: SendRS232Char(kint)
Ilyenkor a változót ( ha számként használom) akkor Byte ként kell iniciálni vagy INT ként számértékként?
A hozzászólás módosítva: Jan 5, 2018
Két választásod is van arra, hogy számot küldj. Nézzük a 42-t. ASCII kódolással elküldesz egy négyest és egy kettest (52, 50). Vagy. Egyszerűen elküldöd a 42-t, mint karakter.
A lényeg az egészben az, hogy a fogadó oldal mit vár. Aszerint kell elküldened a kívánt értéket.
Err enem tudok válaszolni. UART-on egyszerre csak egy byte-ot tudsz küldeni. A küldendő adatot byte-okra kell felbontani. Ha a változó értéke több lehet, mint 255, akkor a byte nem elég.
Kezdem érteni.. Akkor célszerű byte-ot használni, és figyelni arra hogy elég legyen!
Hiszen byte-al lehet számolni is összehasonlítani stb stb.
Inkább úgy fogalmaznék, hogy ahol lehet, a lehető legkisebb változókat kell használni. Pl. egy DS18B20-as lekérdezésének az eredménye (a beépített makrók használata mellett) 1000 feletti és -800 alatti is lehet, nyílván oda nem elég a byte. Ki kell számolni a maximálisan előforduló értéket és ahhoz kell "méretezni" a változót.
Hát ezt sikerült ugy megoldanom hogy dugdosóson összeraktam 2 PIC-et, és kikísérletezgettem!
De az biztos hogy egyszerűbb byte-ba hagyni mindent és csak a legvégén amikor "dolgozni " akar az ember vele akkor számmá alakítani! Viszont mivel szeretnék párát is mérni / és mert van itthon 3 féle is/ ezért szerintem a szenzoroknál most maradok az I2C-s verziónál De itt megint bajom van.. na nem az I2C metódussal hanem az adatlapértelmezéssel! HTU21d és BME280 as szenzor került most a kezembe. A BME be van nyomásmérő is így lehet azzal probálkoznék! Az a baj hogy csak Arduino/Adafruit leirásokat találok hozzá ott meg csak töltsd le a könyvtárat másold be, aztán megcsinál mindent helyetted! Pedig szívesen lesnék mert ez az adatlap felsorol 600 regisztercímet meg üzemmodot! És én még anno az MPU ra hittem hogy bonyolult Esetleg egy kezdőrugást tudna valaki adni?
A címét megtaláltam elvileg
0X60 azaz 01100000 , találtam egy időértéket, gondolom a mintavételezéshez '110' 10ms os '111' 20ms os Illetve megtaláltam a regiszter térképet is.
0XF7 től 0XFE ig lekérdezgetem a regisztereket?
Vagy bonyolult modult választottam?? Keressek másikat? A hozzászólás módosítva: Jan 5, 2018
Ez ettől egy kicsit összetettebb. Ki kell olvasni a kalibrációs és a nyers adatokat is, majd egy csomó számítás után megkapod az áhított adatot. Ha nem tudod értelmezni az adatlapot, nehéz ügy lesz, elmagyarázni pedig laza fél nap pötyögés. Indítóként csatolok egy működő programot BMP180-hoz. A kettő hasonló.
Találok a nagyvilágba egyszerűbb modult? Ahol csak értéket kell kiolvassak?
Addig nézem a progit! A hozzászólás módosítva: Jan 5, 2018
Őőő megnéztem a programot, meg találtam egy német "leirást"( az utóbbi fél évbe az egy kicsit jobban megy) Nem is akarom magamat álomvilágba ringatni! Ehez az én tudásom kevés Ennél talán még a HTU21D-je is egyszerűbb
Ugyhogy maradok annál a verziónál hogy ha esetleg tud valaki javasolni egy egyszerű modult... ha meg nem akkor marad az analog szenzor páratartalom nélkül
Elvileg van analóg páratartalom mérő modul is.
Hát igen... ami nem megy azt nem kell erőltetni... most csak azért hogy I2C-s legyen nem akarom a fél forumot az őrületbe kergetni!
Mennyivel barátságosabb ez a kép! Sima A/D bemenet, ahogy elnézem simán műveleti erősítő nélkül mehet
Idézet: Igen. „ahogy elnézem simán műveleti erősítő nélkül mehet”
Nagyon szépen köszönöm a segítséget, és a jó útra terelést!
Mára elteszem magamat, de holnap folytatom az RS232 tesztelgetésével, gyakorlásával Jó éjszakát!
Sziasztok!
Bakman.. köszönöm a segítséget! nem volt időm még a dugdosóst összerakni, mert behivtak dolgozni, de a héten összerakom! Kíváncsi vagyok nagyon ( csináltam egy biztonsági mentést és a másolatot kiegészítettem a hőmérséklettel is) Viszont felmerűlt egy másik projekt a nejem fejébe! Szeretne 3 helyre a szobába rejtett led világítást. Azzal nincs is gond, de fényerőszabályozósra szeretné. Ami az ágynál illetve a tükörnél van arra kerül gomb, De ami a szekrény szegélyébe kerül arra nehéz lenne! Innen jött az ötlet hogy a TV távirányítón van sok funkciógomb amivel a tv hez kapcsolt videomagnót lehet vezérelni! De nekünk nincs..... így "szabadok" a gombok, Az elvileg kivitelezhető hogy keresek egy Dekodoló progit, kiiratom hogy milyen kódot küld a szabad gombokra, utánna azt teszem be a led vezérlőprogramjába??? A hozzászólás módosítva: Jan 8, 2018
Még szép, hogy meg lehet csinálni. Sőt, ha nem akarsz kínlódni a dekódolással te magad, vegyél egy ilyet: "5V IR Infrared Remote Decoder". UART kimenete van, arra pedig egyszerű Rx megszakítást írni. Egy hátránya van a modulnak, a folyamatos gombnyomást nem közvetíti.
Sziasztok. Csináltam egy progit a 6-os verzióval, a szimulációban minden szép, csak nem tudom hex-re lefordítani. Sajnos nekem a hibajelentés csak annyit mond, hogy valamelyik számítással van a gond. Tud valaki megoldást?
16F628A kontrollerben használni float változót szinte lehetetlen, nincs elég RAM a kontrollerben. A nagyobbakban van elég, de a legritkább esetben van rá szükség vagy még annyiszor sem.
Másrészt a float (lebegőpontos) típusú változókkal műveletet végezni külön függvényben kell, lásd melléklet. A képen egy összeadás van. Jelentése: y=x+2.3. Egy függvényben egy művelet hajtható végre. Ha nem ultra titkos a program, töltsd fel, kijavítjuk neked. A hozzászólás módosítva: Jan 14, 2018
Szia! Nem titkos, youtube-ról van én csak kicsit átalakítottam.
Mindenképpen 16F628A kontrollert akarsz használni? Mindenképpen billentyűzetet akarsz használni? Mindenképpen kelleni fog a grafikus kijelző? Mi a végső cél tulajdonképpen?
A float változóhoz a kontroller édes kevés. A kijelzőhöz végképp. 2,56-tal való szorzást csináld meg egész számokkal. Pl.: x=13*2,56 x=(13*256)/100 A hozzászólás módosítva: Jan 14, 2018
Kijavítottam a hibákat, amiért nem fordult le. Azután azért nem fordult le, mert kevés neki a kontroller. Átállítottam 18F26K22-re, ez az eredmény:
A programban van még hiba. Ha csak egy számot nyomsz le (pl. 5 %-ot akarsz), akkor a második számjegy ott marad az előző beírásból. A hozzászólás módosítva: Jan 14, 2018
Köszi, a szám beadással nincs gond, mert ha csak 5% akarsz akkor 05 számokkal adod-be.
Sziasztok.
Egy új projekten gondolkodom... Megosztanám veletek, elkelne egy-két ötlet, javaslat. Maga a projekt egy hangerő szabályozó lenne. Lenne egy adó keszulek, abban lenne egy forgatható impulzus adó (rotary encoder), meg az elektronika, esetleg LED-es visszajelzéssel, hogy a hangerő milyen szinten van. A másik oldalon lenne a vevő, meg a motoros potenciométer, és az ehhez szükséges elektronika. Az adó és vevő közötti átvitel lehetne infra, vagy rádiós. Ehhez kérnek segítséget, támpontokat, javaslatokat, hogy ki milyen megoldással oldana meg. Az adóban az impulzus adó (encoder) lekezelése, és a visszajelzéssel nem lenne gondom. Ami problémát látok, az az átvitel lenne. Ilyet meg nem csináltam, nem volt rá szükségem eddig... A motoros poti amit néztem, az Conradban kapható. 4-6V DC, 100mA forgatás köt, veghelyzetnel 150mA. Elsőre ennyit tudtam összeszedni. Előre is köszönöm az építő jellegű hozzászólásokat, javaslatokat, ötleteket. Üdv. Peti
Az adó és a vevő oldalra is egy-egy RF modul. Az egyszerűség kedvéért én UART csatolós RF modullal állnék neki a dolognak, pl. APC220.
|
Bejelentkezés
Hirdetés |