Fórum témák
» Több friss téma |
Nálam simán megy pickit 3-al a flow5.5. A gyári értékek lettek beírva neki és eddig még sose mondta hogy nem szeretne dolgozni
Sziasztok! Kezdő vagyok ebben a témában , de nagyon szeretném megtanulni a programozást , és így kezdetnek egy kapuvezérlőt szeretnék , és abban kérném a segítségeteket , hogy el tudná valaki nekem mondani hogyan is kellene nekikezdeni egy ilyen proginak. Azt szeretném ha egy gombal kűködne és ha egyszer nyomom meg akkor nyít , vagy zár , ha kétszer nyomom meg akkor pedig csak félig nyílna ki , és szeretnék infrasorompót is ami zázásnál ha érzékel valamit visszanyítná , és nem lenne a motorokon végállás kapcsoló sem hanem a programban beállított ideig működne.
Szia!
Nem akarok reklámot csinálni, de 13000-ért kapsz újat készen és ezt mindet tudja amit te leírtál..Bővebben: Link De ha tényleg Te akarod megcsinálni akkor kell nyomaték figyelés, is nehogy odacsukjon valakit, mert abból komoly bajod is lehet. Mellesleg nem olyan bonyolult egy ilyet megcsinálni, ugró kódos távirányítót vevő modullal kínából pár ezerért lehet venni, az infra sorompó csak kapcsol tehát annak a jelét se nehéz venni, nyomaték figyelést áram szenzorral lehet figyelni, azt meg hogy mennyi ideig legyen nyitás vagy zárás simán számoltatni kell a piccel amit pl az első indításkor a távirányítóval betanítasz neki. Bár én akkor is tennék egy induktív érzékelőt ami figyelné hogy kinyitott e, az se a világvége tétel.
Köszi a reagálást a kérdésemre , nagyjából már kezd összeálni így fejbe csak a programban való megvalósítása nem igazán megy még.
Látom nem sikerült lebeszélnem az építésről. (Helyes)
Akkor legelőször is ki kell találni, hogy hány I/O láb kell minimum a feladathoz. Tehát listát kell csinálni minden olyan ki és bemenetről amire szükség lehet, mert nem a program a legfontosabb hanem a hardver. Ennek tudatában lehet kontrollert választani, ami után kezdődhet csak a program megírása.
Bemenetek: Távirányító , infra
Kimenetek: Motor forgásirány 2 kimenet , az infra sorompó tápjának ( hogy csak a kapu működési idején müködjön) , egy sárga villogónak Így 2 bemenet lenne , és 4 kimenet használva. Látom te segíteni akarsz , amit nagyon szépen köszönök!
Nem jó. Ha nagyon kezdő vagy a témában, apránként haladj. Csinálj elöször egy LED villogtatót. Ha az megy, vezéreld gombbal a villogást valamilyen szisztéma szerint. Ezután jöhet egy analóg bemenet használata.
Járd végig a lépcsőket különben kudarcra vagy ítélve minden irányból.
Bakmannak igaza van!
Azért adok egy gyors skiccet ami kb azt csinálja amit akarnál, ez alapján már meg tudod csinálni a sajátodat, de mivel nincs 2 egyforma emberi logika, így lehet, hogy egy kicsit kuszára sikeredett egy kezdőnek
Nagyon köszönöm , és tudom hogy ez így van hogy az alapoktol kell kezdeni , és ezért is nézegetem a példaprogramokat próbálok kissebb dolgokat megcsinálni a programban , utánna is kerezsgélek ha nem találok valami vagy ép nem értem , de azért goldoltam hogy ezt közbe azért megpróbálom csinálgatni mert akkor amit menet közbe esetleg megtanulok azt át tudnám vini ebbe a kis kapuvezérlőbe.
Az a helyzet hogy nem tudom megnyitni , mert nekem egy régebbi flowcod van meg a 4 es.
Sikerült megnyitnom , de az a motoráram nevü led az mi lenne?
Na ezért kell mindenkinek saját progit írni.. De szerintem amit írtál abból egyértelműen következik, hogy a motor áram alá helyező relé kimenetét helyettesítő led.
Sziasztok!
Adott egy sorosport kommunikácio! A Porton kb 3 másodpercenként érkezik egy adatcsomag! Maga a folyamat igy néz ki!
Hogy tudom elérni hogy a PIC be csak akkor fusson adatfogadásra a program amikor megnyitja a portot? Mit kell figyeljek?
Jo tudom azt hogy mikor nyilik a port.... De hogyan?
A hozzászólás módosítva: Szept 24, 2017
1. Megszakítás engedélyezés RXINT.. (ezzel eléred hogy ha akármi jön az rx makro lefut)
2.rx makroban fogadod az adatot és a hosszát eltárolod 3.A jött adatot bárhol feldolgozhatod.. (Akár az rx makróban akár a program bármely részén.) Ha adatjott nagyobb mint 0 akkor valami jött tehát ezt kell figyelned igazából.
Akkor csak hogy jol értem e... az RXINT figyeli a sorosport bemenetet, és ha open port van, illetve adat jön az RX-en akkor lefuttatja a makrot!
De az a számitás amit betettél az mire szolgál? Azzal csak a fogadott adat hosszát "számoltatod meg vele? Vagy van azon felül más funkciója is?
Jól érted a pic soros portja mindig open, ezért csak azt kell figyelni hogy jön e adat.
A számítás meg csak az adat hosszát figyeli amivel én utána tovább játszok. Pl ha 26 karakternek kellene jönni és csak 10 jött, akkor átviteli hiba van stb.. Vagy ha nagyobb mint 0 akkor jött valami.
Szuper.... akkor mar csak a string darabolásával kell megküzdjek, de azt a PIC kezdőknek topicba teszem fel... mert inkább oda vág!
Ha rámész a számításnál a kis kérdőjelre és a keresősbe beírod, hogy string mindent megtalálsz
Nem mondod hogy beépitett fügvénykészlet is van benne a string-hez?? Na ha reggel nem kellene 4 kor kelnem már bujnék is bele!
De holnap délutan ez lessz az első hogy ezt megnézem! Köszönöm! De az biztos hogy még lessz ezzel kapcsolatban kerdésem
Engedjetek meg egy kis örömujjongást! Ma létrehoztam az első USB/UART alapu lommunikáciomat egy PC és egy PIC között!
Jo OK aki ismeri a programozast az tudja hogy mindehez csak kb 4-5 alkalommal kelett jol klikkelni meg az Rx-et meg kellett tudni különböztetni a Tx-töl... Trhát rutinosnak kb egy 5 perces feladatrol beszélünk... De nekem nagyon tetszik! Márcsak a STRING darabolása jön! Sajnos a bennelevő példákban pont az nincsen bene ami nekem (valoszinűleg) kell! De valahogy összekalapálom! C ben elég sok STRING kezelő "fügvényt" találtam. C blokkba illesszem vagy mehet simán a számításba?
Grat!
Mit szeretnél és hogy darabolni? Mert lehet flowban se bonyolult..
A Porton ami érkezik adat, az pl ugy néz ki hogy:
AZ:245.4 EL: 19.6 vagy AZ:30.7 EL: -49.5 Tehát ami fox az az hogy az adatban szerep az "AZ" és az "EL" Ezek után a számok, amik tulajdon képpen a fokokat jelöli! És hogy ne legyen mindez elég még lehet negatív előjele is a számnak
Kódilag pedig pl igy néz ki:
41 5a 3a 31 35 30 2e 37 2c 45 4c 3a 37 35 2e 35 AZ:150.7,EL:75.5 0d 0a ..
Vagy igy:
41 5a 3a 31 2e 39 2c 45 4c 3a 2d 37 32 2e 36 0d AZ:1.9,EL:-72.6. 0a . vagy igy: 41 5a 3a 32 39 33 2e 34 2c 45 4c 3a 2d 37 35 2e AZ:293.4,EL:-75. 38 0d 0a 8..
C-ben egyszerűbb sokkal, de itt se lehetetlen..
Sziasztok!
Kis segítséget szeretnék kérni. Egy port megszakításnál meghívok egy makrót. Ha a makróban van egy művelet, az akkor rendben lefut, minden rendben van. Visszaellenőrizve a próbapanelen is okés (hardveresen). Viszont, ha a makróban lekérdezem a portmegszakítást kérő nyomógomb állapotát, akkor a flowcode saját tesztjében jól működik, de a próbapanelen nem. Nem indítja a nyomógomb az adott feladatot, sőt, a proteusban is ugyanez a helyzet. Tehát valamit rosszul teszek, de nem tudom, hogy mit kéne máshogy csinálni. Illetve van még egy furcsa dolog, amit nem értek. Ha a sw nyomógombot megnyomom, akkor nem az sw makróra ugrik a flowcode saját tesztprogramjában a portmegszakítás, hanem a trigger makróba megy. De ezt csak ugye itt a flowcodban tudtam leellenőrizni. Pedig a port megszakításban az sw makró van meghívva. Csatolok képeket, azon látszik, hogy mi a jelenlegi felállás. Kérném szíves segítségeteket, hogy mit nem vettem figyelembe. Köszönöm.
Az előzőekben leírtakra meg találtam a megoldást.
1. Portmegszakítást csak egyszer lehet kérni, és azon belül lehet kiválasztani melyik bemenetre szeretnénk kérni. Itt lehet többet is egyszerre kiválasztani. (ez volt az első hiba) 2. Innentől kezdve már az állapot lekérés is jól működik. Tehát az előző hiba generálta a 2. hibát. Kijavítva az említetteket a program jól működik. Nehogy valaki ugyanabba a hibába essen, mint Én... Üdv. Peti
Na ez igen!
Ez nem.semmi... hogy őszinte legyek kb 3 oramba tellett mire felfogtam az egészet.... de még mindig nem vagyok biztos benne hogy utánna tudnám irni! Akkor még egy kérdésem had legyen! Adott mondjuk egy "adat" nevü string, ebből szeretném a 1. karaktertől 6 karakter hosszan kinyerni az adatot és menteni a " first" nevű stringbe! Amkor elvileg igy kellene csinálnom hogy first << adat.substr(1,6) Namost a string soros porton jön.. ezt a c kodot a fogadás utan illesztettem be! És ugyan valamit kiszed.... illetve valamit berak a first nevü stringbe... de mivel iratom ki lcd-re ezért latom hogy nem jo.... össze vissza karaktereket ir ki! És alapbolnem is 6 karakter hosszu kriksz-krakszot rak ki... hanem 4 ( vagy 5 de erre már nem emlékszem pontosan) Hol a hiba? nem.jol irom?
first = Mid$ (adat,0,6)
|
Bejelentkezés
Hirdetés |