Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Ha mar tobb progirol van szo akkor en egy int menu valtozoval a kovetkezot hasznalnam:
Igy mindig csak a menu ertekenek a megfelelo progi futna le A hozzászólás módosítva: Dec 6, 2015
De így a problémámra még nincs megoldás, hogy lépkedjek sorba.
Szia!
Erről írnál egy kicsit bővebben? Nézegetem már egy ideje, de nem esik le, miért a megfelelő task fog lefutni. Látom, hogy pointerekről van szó. Köszi.
Hat a megfelelo menu ertek lepteteset kihagytam, az a masodik sorba jonne. Nyomogombbal leptetni a menu erteket: menu++, menu--, vagy ugorjon a masik vegere ha a maximum erteken van, vagy a minimumon.
Peldaul, ha menu == 5, akkor a menu++ helyett menu = 0. Ha menu ==0, akkor menu-- helyett menu = 5. Lehet hasznalni millis prell mentesitot es aktualis es elozo nyomogomb statuszt, vagy button, debounce library-t. En a „Bounce2.h” hasznaltam es jo eredmennyel. Ami az altalam javasolt megoldast illeti en menu sistemnek hasznalom, nalam bevalt. Mindig a menu ertekenek megfelelo progi reszlet fut le. A hozzászólás módosítva: Dec 6, 2015
Értem mit mondasz, csak nem egyről beszélünk... A gombok meg stb azt meg tudom csinálni, csak az a gondom, hogy pl a 4 soros kijelzőnél (mondjuk ezt most glcd-re csinálom, ahol 8 sor van) hogyan csináljam meg, hogy soronként lépkedjek, és visszafele is tudjak menni. Valami ilyesmit szeretnék: Bővebben: Link, ezt még meg is tudom csinálni, csak nálam több elem lenne, és belene a kijelző, illetve még lefele is görgetné. Viszont amikor görgetek, akkor ugye fent eltűnik egy elem. Ha pedig az aljáról felfelé, akkor meg az a gondom, hogy nem a kurzor indul el felfelé előszőr, hanem rögtön feljebb ugrik a lista... Ezt szeretném megoldani...
Hááát az én hozzászolasom nem erröl szolt, hanem Bővebben: Link
A hozzászólás módosítva: Dec 6, 2015
Azt használom ki, hogy lehetséges a függvényekre is pointerekkel mutatni. A deklarációjuk kicsit furcsa első ránézésre, de nem bonyolult. Nagyon praktikusak lehetnek olyankor, amikor készítesz egy általánosabb többször felhasználható kódot, ami nincs "tudomással" a később írt már adott feladatra készített megoldással. Pl. PID szabályzó osztály, ami egy pointerrel hívja meg mintavételezéskor a később megírt függvényeket, ami írja a tényleges kimenetet és olvassa a tényleges bemeneteket. Esetleg egy serial protokoll fordító, ami kezeli az általad készített protokoll minden ügyes-bajos dolgát és amikor kész egy csomag feldolgozása egy pointeren keresztül hívja meg a később megírt függvényt és átadja neki a feldogozott adatokat.
pl.: .h
.cpp
Későbbi kód:
A hozzászólás módosítva: Dec 6, 2015
Ez nem Arduino, ez csak "C".
Köszi Csatti2! Adj egy pár hetet, mire feldolgozom!
Nem C, hanem C++. Az arduino is C++-n alapszik.
Sziasztok! Ha nem kell nagy sebesség (9600 baud), akkor 10-12 méter Serial kommunikációt tudok csinálni 2 arduinó között? Előre is köszi!
Oda már inkább valami robusztusabb fizikai átvitel kellene.
Legalább áramhurokszerű. Pl.: optocsatolókkal a TX RX oldalon. A leden áramnak kell átfolyni, így a hosszú drótra ráülő zajok kevésbé fognak zavart okozni. Esetleg sodrott érpár se árt.Csupaszon a uC portot nem illik sok méter vezeték után kötni. Mindenképpen valami jobb fizikai réteget kell kiépíteni. Vagy RF adóvevőkkel.Persze az is kérdés hogy oda/vissza kell vagy csak egyirányú? A hozzászólás módosítva: Dec 7, 2015
RS-485 modulokat pont erre találták ki.
Akár több száz métert is áttudnak hidalni viszonylag gyors soros kommunikációval. Persze sodrott érpár (utp) nem hátrány.Elég a vezeték vagy anélkül kellene? Egy / két irányú ?
Valahogy így lehetne legegyszerűbben 2 optocsatolóval és 4 ellenállással megoldani.
Ebben még az is jó lehet , hogy galvanikusan is függetlenek lehetnek az eszközök. A testpontokat se kösd össze, 4 vezetéket használjál. Persze az optocsatolók impulzus átviteli sebessége korlátozni fog , plusz a hosszú vezeték kapacitásai, de mivel viszonylag "nagy áramot" hajtunk át a leden akkor azok se zavarhatnak annyira.9600 -t biztos tudni fogja így esetleg lejjebb mész 4800 vagy teszteld le meddig bírja a rendszer hosszban sebességben.
Szia! utp van behúzva, és kábelen tökéletes, csak annyi a lényeg, hogy 2 ér+ a közös gnd, és 2 irányba kellene. Igazándiból i2c-vel akartam megcsinálni, azt kipróbáltam 12m utp-n, és ment, csak az a gondom, hogy ha a slave i2c eszköz nem kap áramot, akkor a master nem hajtja meg az i2c-s lcdt. Vagy ha erre van valami ötleted az még jobb lenne.
Energia nélkül nehéz bármit is működésre bírni
.Soros adatvonalak nem energiaátviteli csatornák. A hosszú UTP végén már jelentős feszültség esés is felléphet terheléstől függően. Ezt is bele kellene kalkulálni . Ha táv táplálod akkor lehet inkább nagyobb feszültséggel indítani és a túloldalon stabilizálni. Akkor esetleg a galvanikus leválasztást elhagyva. Felszabadul 1 ér.Közös lesz a föld.A felszabadult éren pedig lehet vinni az energiát. A hozzászólás módosítva: Dec 7, 2015
Nem, helyben táplálom mind a két oldalt, tökéletesen megy, viszont nekem az kéne, hogy ha a slave állomás kiesik valamiért, akkor a master menjen tovább teljes működéssel. Viszont ha i2c-t használok, és a slave eszköz be van dugva az scl, illetve sda portokba, de nincs áram alatt, akkor a komplett i2c busz nem megy, tehát a master nem ír ki semmit az i2c-s kijelzőre sem. Ezt kéne kiküszöbölni.
A hozzászólás módosítva: Dec 7, 2015
Akkor próbáld meg optocsatolókkal mozgatni az SCL SDA vonalakat.
A nem vezérelt tranzisztor közel szakadást képvisel.Vagy nem IIC buszt használni.Igaz akkor szoftveres serial portot kell használni. Elárulom annó az IIC nem kilométerre lett kitalálva, hanem csak IC to IC beszélgetésre az 1 2 tenyérnyi NYÁKokokn 5-10-20 cm vezetékezéssel.Persze az egy másik dolog , hogy elég robusztusnak tűnik és több 10 méterre is elvihetted.Ezt inkább csak a "mázli factornak" köszönhetjük.No meg megint vissza térve a lényegre : uC portjait nem lógatjuk sokszor 10 méteres drótokon keresztül a külvilágban. Bocs, látszik , hogy csak otthoni/asztali programozgató vagy.Ez nem baj!Nagyon hasznos dolog!DE a való világban sokkal több mindenre fel kell készíteni a technológiát! Így a kivitelezés, tervezés során használni kell az iparban már bevált eszköz rendszert. Kevesebb meglepetés érhet a hosszú távú üzemeltetés során, ha erre is oda figyelsz. A hozzászólás módosítva: Dec 7, 2015
Igazándiból én az i2c-vel jobban ki lennék békülve, akkor veszek optócsatolót, és kipróbálom. Viszont légyszi akkor még azt is áruld el, hogy milyet vegyek, mert ebben a részében nem vagyok otthon. Ja és még annyi, hogy az i2c-nél limitálva van a karakterszám?
Optok típusai ott vannak a rajzomon. 4N25 vagy hasonlóak
Hhmm IIC ?!?! Muszály?! LCD-d mellé nem tudsz / akarsz másik uC tenni ?! Bocsi most a rendszer tervedet nem látom át . Nem 2 eszköz van a láncodban ? IIC az emlékeim szerint alapból több 10-100 KHz sebességgel dolgozik. Fussunk neki még egyszer, legalább tömbvázlat szinten uC-k ,érzékelők, kijelzők és köztük lévő kapcsolatokat rajzold le.
Rendi, szóval van egy arduinó due (ő a mindenes master), i2c-n van egy glcd, egy rtc, és egy másik arduinó (nano), ő egy slave, aki 10 méterre lenne a másiktól. Illetve valószínű lesz még egy i2c-s ic is, ami ledeket fog hajtani. Most jelenlegi konfigurációval működik minden, csak annyi a gond, hogy ha a slave ardunak nem adok áramot, de nem húzom ki az i2c lábait, akkor a due nem jelenit meg semmit az lcd-n. (az rtc-t nem is néztem
)
Részben még így se kerek a dolog légyszíves rajzoljál
! Ki kivel és hol van és még hova mit tervezel be ... stb .. Akkor neked a galvanikusan leválasztott optos megoldás lenne a legjobb. I2C elfelejtve más soros kommunikációt csinálni a nanó és a due közt. pl.: ha van még program tárhely az eszközökben akkor ezt a könyvtárat ajánlom: virtualwire Igaz ezt drótnélkülire tervezték, de nincs akadálya annak se , hogy duplex üzemben dróton optókon keresztül beszélgessenek egymással így összekötve: For testing purposes you can connect 2 VirtualWire instances directly, by connecting pin 12 of one to 11 of the other and vice versa, like this for a duplex connection: Arduino 1 wires Arduino 1 D11-----------------------------D12 D12-----------------------------D11 GND-----------------------------GND Vagy más egyébb serial com könyvtárat keresni az arduino könyvtárai közt amik nem a HW soros portokat használják.Mert azok az USB porton vannak alapból .Részben még így se kerek a dolog légyszíves rajzoljál ! Ki kivel és hol van és még hova mit tervezel be ... stb .. A hozzászólás módosítva: Dec 7, 2015
Van Drótod maradjunk azon
!Nekem meg időm nincs ... folyt köv ... ! A hozzászólás módosítva: Dec 7, 2015
Jó, abban én is jobban bízok, leszedtem a libet innen, mindjárt kipróblom!
Igen csak ez a lib nem fordul le due-ra.
Amúgy a legjobb nem rs485 lenne? És azt meg tudom csinálni valami ic-vel?
És az miért baj?
Csak azt milyen libbel tudom meghajtani?
Az I2C nem fog működni optocsatolóról mert kétirányú az adatátvitel az SDA vezetéken, azért nem megy az I2C ha a slave nem kap áramot mert a port és a Vdd között parazita dióda az SDA és SCL lábat nem engedi felvinni H szintre, a felhúzó ellenállás nem fogja táplálni az egész áramkört.
|
Bejelentkezés
Hirdetés |





Köszi Csatti2! Adj egy pár hetet, mire feldolgozom!
hosszban sebességben. 
... folyt köv ... ! 




