Fórum témák

» Több friss téma
Fórum » PIC BASIC
 
Témaindító: hinar_, idő: Máj 7, 2008
Témakörök:
Lapozás: OK   14 / 23
(#) Hp41C válasza brato hozzászólására (») Nov 3, 2012 /
 
Szia!
A hofok legyen egy 16 bites előjeles szám, ami fél fokban adja meg a hömérsékletet:
  1. If scratch.15 = 1 Then               ;Minusz hőfok figyelése
  2.         hofok = (scratch / 8) - 8192 ;Ha minusz akkor ezzel számolunk
  3.         Else
  4.         hofok = (scratch / 8)        ;Ha plusz akkor ezzel.
  5. End If


Az a 0.0625 az (1/16)...
A hozzászólás módosítva: Nov 3, 2012
(#) brato válasza Hp41C hozzászólására (») Nov 3, 2012 /
 
Köszi!

Milyen igaz, eszembe sem jutott.
(#) Thowra hozzászólása Jan 19, 2013 /
 
Üdv mindenkinek!
Segítséget szeretnék kérni SD kártya kezeléshez.
Egy adatgyűjtő berendezéshez kellene, csak adatot szeretnék tárolni így fájlrendszerre nincs szükség. Sajnos nem találtam erre vonatkozó mintaprogit. Van esetleg valakinek példaprogramja, tapasztalata SD kártya kezelésről?
A segítséget előre is köszönöm.
(#) brato válasza Thowra hozzászólására (») Jan 20, 2013 /
 
A Proton IDE program CF kártyát tud kezelni, nem tudom ez jó lesz -e neked. Van a helpjében példa program is.
(#) Thowra válasza brato hozzászólására (») Jan 20, 2013 /
 
Üdv!
Köszönöm az ötletet.
Sajnos a CF kártya rengeteg lábat emészt fel, így nem fér el a többi hardver .
(#) brato válasza Thowra hozzászólására (») Jan 20, 2013 /
 
Shift regiszterrel jelentősen csökkenthető a lábak száma.
(#) Thowra válasza brato hozzászólására (») Jan 20, 2013 /
 
Így igaz de már így is tele van a doboz.
Azért lenne jó az SD mert nem kell hozzá túl sok hardver, kis helyet foglal.
A lábigénye is kevés, így marad hely a többi eszköznek (már csak az SPI lábak szabadok).
Ahol volt lehetőség ott összefűztem az eszközöket de így is elfogytak a lábak.
(#) Johnny0004 hozzászólása Jan 24, 2013 /
 
Sziasztok! Valakinek nincs véletlen egy rotary encoder példa progija mikrobasic-ben? Köszönöm!
(#) Johnny0004 válasza Johnny0004 hozzászólására (») Jan 25, 2013 /
 
Senkinek?
(#) Johnny0004 válasza Johnny0004 hozzászólására (») Jan 27, 2013 /
 
Erre valaki esetleg? Bővebben: Link
(#) Johnny0004 válasza Johnny0004 hozzászólására (») Feb 12, 2013 /
 
Köszönöm a semmit! Megoldottam, viszont készült egy program encoderhez megszakítással is, szakaszos encoderrel tökéletes, de sima folyamatos tekerésűvel nem. Ennek mi lehet az oka? Vagy megszakítás csak olyan encoderrel működik, amelynek vannak pozíciói?
(#) Thowra válasza Johnny0004 hozzászólására (») Feb 12, 2013 /
 
Üdv!
Az enkóder osztása vagy a tekerés sebessége?
Lehet "egymásra futnak" a megszakítások a rövid ideig tartó jelek miatt.
(#) Johnny0004 válasza Thowra hozzászólására (») Feb 22, 2013 /
 
Az lehet? Új kérdésem lenne, azt hogy lehet megoldani mikrobasic-ben, hogy tizedes jegyek is megjelenjenek hőmérésnél, pl.: 24.3?
(#) Thowra válasza Johnny0004 hozzászólására (») Feb 22, 2013 /
 
Milyen hőmérő szenzort használsz?
(#) Johnny0004 válasza Thowra hozzászólására (») Feb 22, 2013 /
 
Azt még nem tudom mi lesz, mit ajánlasz szoba hőmérsékletre?
Egyenlőre azt nem tudom hogyan lehet tizedes jegyeket kiíratni
(#) Thowra válasza Johnny0004 hozzászólására (») Feb 22, 2013 /
 
Tizedes jegyet ki lehet írni pl ha a kiírandó szám float típusú.
Másik megoldás ha a számot osztod. Pl a szám 123. Ebből akarunk 12,3 at csinálni.
A float szám simán osztható 10 el. Másik megoldás, hogy csinálsz két változót, tízes és egyes és kivonással dolgozol. Ha a szám nagyobb mint 10 akkor tízes = tízes+1, 123-10, ha a szám kisebb mint 10 akkor beírjuk az egyesbe. Ezt ciklussal meg lehet oldani. Konkrét példa most nincs kéznél de ha kell keresek.
(#) mgy válasza Johnny0004 hozzászólására (») Feb 22, 2013 /
 
Szia !
szam=234
egesz=szam/10
tized=szam//10 ' rem az osztás maradéka
lcdout dec egesz,".",dec tized,"C "
Üdv mgy
(#) Johnny0004 válasza Thowra hozzászólására (») Feb 22, 2013 /
 
Ezt nem nagyon értem még, a float osztható, de nem írja ki csak az egész számokat.
(#) Johnny0004 válasza Thowra hozzászólására (») Feb 22, 2013 /
 
Itt mit kell megváltoztatnom, hogy kiírja? :
wordToStr(szam, szamok)
Lcd_out(1, 10, szamok)
(így iratom ki)
A hozzászólás módosítva: Feb 22, 2013
(#) Johnny0004 válasza mgy hozzászólására (») Feb 22, 2013 /
 
Köszi, itt : tized=szam//10 ' a per jelet nem fogadja el.
(#) Johnny0004 válasza Thowra hozzászólására (») Feb 22, 2013 /
 
Ezt a kivonásost kifejthetnéd bővebben.
(#) Johnny0004 válasza Johnny0004 hozzászólására (») Feb 22, 2013 /
 
Jaa a kiíratásra rájöttem közbe, köszi mindenkinek!
Ez a maradékos érdekelne, ennek mi lehet az utasítása?
(#) Thowra válasza Johnny0004 hozzászólására (») Feb 22, 2013 /
 
Megtaláltam egy hasonló progimat.
  1. '------------------------------ több mint 9°C  
  2. if d11>9 then
  3. d10x11:                              'címke
  4.            if d11>9 then           'több mint 9 a szám?
  5.            d11=d11-10             'több, tehát kivonok 10 et
  6.            d1=d1+1                  'tizesek növelése 1 el
  7.            goto d10x11              'vissza az elejére, újrateszt
  8.            else
  9.            egyes=d11                'kevesebb mint 10, egyesek változóba másolás
  10.            endif               
  11. endif
  12.  
  13. print at 1,1,@d1,".",@egyes," " 'kijelzés LCD re


A lényeg, hogy a hőmérsékletet megvizsgálom, hogy nagyobb e mint 10.
Ha nem nagyobb akkor nem csinálok vele semmit, simán kijelezhető. Ha nagyobb mint 10 akkor kivonok belőle 10 et és növelem 1 el a tizesek változó értékét. Addig ismétlem míg a szám 10 alá nem csökkel, ekkor kijelzem a tizesek változót, teszek egy pontot és kijelzem az egyeseket, vagyis a maradékot.
(#) mgy válasza Johnny0004 hozzászólására (») Feb 23, 2013 /
 
Szia !
Én PBP-vel foglalkozom, de megnéztem a Microbasic hasonló utasítását.
A mod operátor az osztás maradékát adja.
tized=szam mod 10 valószínűleg jó lesz.

Engem meg a Rotary encoder programod érdeklene. Az encoder tengelyére helyezett excentrikus tömeggel a függőlegest (szögelfordulást) próbálnék mérni.
A "fityegés" miatt az előre-hátra számlálás nekem bizonytalan.
Üdv mgy
A hozzászólás módosítva: Feb 23, 2013
(#) Johnny0004 válasza Thowra hozzászólására (») Feb 23, 2013 /
 
Köszi, kipróbálom.
(#) Johnny0004 válasza mgy hozzászólására (») Feb 23, 2013 /
 
Szia!
Melyik progi érdekel, van a sima "pollingos", meg van megszakításos, de az kényesebb.
A simába is lehet úgy, hogy minden jelváltozásra léptet, vagy csak mondjuk a 0-0 állásnál.
(#) mgy válasza Johnny0004 hozzászólására (») Feb 24, 2013 /
 
Szia !
Olyan érdekelne, mely sima folyamatos tekerésűvel működne. Számláló funkciót megoldottam, de az előző hozzászólásomban említett "fityegés" hibát okoz.
Üdv mgy
(#) Johnny0004 válasza mgy hozzászólására (») Feb 24, 2013 /
 
Szia! A fityegés alatt mit értesz pontosan?
(#) mgy válasza Johnny0004 hozzászólására (») Feb 25, 2013 /
 
Szia !
Az encoder tengelyére egy excentrikus tömeg van elhelyezve. A háza fixen van rögzítve egy billenthető lapra. A lap billenésének szögét szeretném meghatározni. Az excentrikus tömeg meghatározná a függőleges pozíciót, de van egy lengése, mely stabilizálódik.
Ezt a stabilizálódásig eltelt időben történő előre-hátra ugrálást neveztem "fityegésnek".
Vettem már MMA7361 szögérzékelő szenzort, mellyel a mérést valószínűleg megoldom.
Van viszont néhány encoderem is, mely ilyen irányú (szögmérés) felhasználása csak érdekel.
Üdv mgy
(#) Johnny0004 válasza mgy hozzászólására (») Feb 26, 2013 /
 
Szia! Értem. Az egyik progi ez: Bővebben: Link, ami nálam működik,
de ez minden négyszögjel változásra léptet, gondolom ezért szakaszos encodernél ha gyorsan tekerem hibázik. Viszont ha ugyanez Xor művelettel van megírva, akkor tökéletes: OldRead.0 Xor NewRead.1. Azonban én úgy használom, hogy csak egyszer léptessen egy négyszögjel sornál, tehát amikor az encoder két csatija 0-0-án van, csak akkor vizsgálja meg. Ilyenkor ha tehát az OldRead 0-0, akkor a NewRead-ot nézi, hogy 1-0, vagy 0-1 lesz e, és ebből tudja, hogy jobbra, vagy balra tekertük e, illetve fordult el az encoder. Ezen kívül még van egy megszakításos programom is, ami viszont kényesebb, ahhoz már pl. a normál tipusú encoderre kell kondikkal szórakozni, mert prelleg gondolom.
Én egyébként azzal szívtam sokáig, hogy meg voltam győződve arról, hogy az encoder középső lába a GND, ezért egyik irányba hibásan működött, majd kiderült, hogy az egyik szélső lába a GND, így nem is a program volt rossz, hanem a bekötés.
A hozzászólás módosítva: Feb 26, 2013
Következő: »»   14 / 23
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem