Fórum témák

» Több friss téma
Fórum » Arduino
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Lapozás: OK   416 / 853
(#) djusee válasza berkesandor hozzászólására (») Jan 16, 2018 /
 
Szia. Próbáld ellenőrizni a bejövő karakterek decimális értékét ( ASCII ) (pl. 0 -tól a z -ig decimálisban 48-tól a 122 -ig) és ha kivül esik akkor helyettesited 32(Space) el
(#) berkesandor válasza nedudgi hozzászólására (») Jan 16, 2018 /
 
Ez a baj, a rendszerüzenetek tele vannak ékezetessel. A parancsok nyilván nem .
(#) berkesandor válasza djusee hozzászólására (») Jan 16, 2018 /
 
  1. if ((' ' > inchar) || (inchar >= '~'))
  2.                     { inchar = " ";}


Például így?
A hozzászólás módosítva: Jan 16, 2018
(#) kapu48 válasza berkesandor hozzászólására (») Jan 16, 2018 /
 
Ennek ugorj neki még egyszer!
Nem mindegy, hogy az első kacsacsőr hogyan áll <? >?.
(#) berkesandor válasza kapu48 hozzászólására (») Jan 16, 2018 /
 
Az első kacsacsőr a space-nél kisebb értékűeket cseréli 0-31.
(#) elektroncso hozzászólása Jan 16, 2018 1 /
 
Sziasztok.
Megírtam egy 220 szavas angol fogalmazást holnapra, gondoltam pihenésképp egy kicsit foglalkozok az LCD kijelzőkkel is.
Topi 2005-ben publikált cikke amiben egyszerű kapcsolókkal és nyomógombokkal vezérelt egy pontmátrix LCD kijelzőt felkeltette az érdeklődésemet. Mivel mostanában kezdtem el foglalkozni az Arduino UNO-mal gondoltam "szimulálom" a kapcsolókat azzal. Ezzel két legyet csapok egycsapásra (gyakorlom mindkettőt). Viszont olyan gondba akadtam amire nem sikerült a megoldásra rájönnöm. Azt szerettem volna, hogy amikor bekapcsolom az UNO-t akkor a kijelzőn megjelenjen egy villogó aláhúzott kurzor a bal oldalon. Maga a kurzor meg is jelenik, csak megjelenik előtte egy absztrakt ábra is, ami bekapcsolásonként változik! Mellékelek róla egy képet. Illetve mellékelem a programot is ami bele van töltve az UNO-ba. Plusz egy logikai analizátorral készített mérés képét is amin látszik, hogy mi történik a gyakorlatban az UNO kimenetén (a mérésnél a képen az LCD D6 illetve D7 lábára menő jel nincs rajta mivel az analizátorom csak 8 csatornás). Hol hibáztam, vagy mi a probléma? Sem Arduino programozásban sem az LCD-k vezérlésében nincs tapasztalatom.
Tudom, hogy megmosolyogtató a megoldásom amit összehoztam, de valahol el kell kezdeni és nem tartom megoldásnak, hogy az Arduino saját LCD kezelő rutinját használom, mert úgy nem tanulom meg az LCD kijelzők kezelését.
Előre is köszönöm!
(#) kitartás válasza elektroncso hozzászólására (») Jan 16, 2018 /
 
Arduino alatt elég sok példa található. Én azokkal kezdtem az ismerkedést. Akad lcd példa is valami liqid-crystal néve, vagy hasonlóra hallgat.
A hozzászólás módosítva: Jan 16, 2018
(#) elektroncso válasza kitartás hozzászólására (») Jan 16, 2018 /
 
Ez rendben van, csak mindenhol a "lcd.print" utasítást használják, de ez nem érdekel, nincs benne kihívás. Itt most nem az Arduino a lényeg az csak a kapcsolók helyett van, mert lusta voltam forrasztgatni.
(#) Kera_Will válasza elektroncso hozzászólására (») Jan 16, 2018 /
 
Sok pint pocsékolsz el a 8 bites adatbusszal .
Persze értem tanulni akarsz drivert írni.
4 vezetékes adatbussszal az menőbb lenne !
A hozzászólás módosítva: Jan 16, 2018
(#) Pali79 válasza elektroncso hozzászólására (») Jan 16, 2018 /
 
Szia! Először is emelem kalapom előtted! Az átfutási azért szeretik sokan mert nem kell megérteni nagyon sok alap dolgot. Te be akarsz nézni az utasítások mögé és ez nagyon jó dolog szerintem!
Hogy segítsek is valamit szerintem az a gond, hogy nem csinálod végig rendesen az LCD inicializálását. Itt találsz egy nagyon jó leírást.
(#) Kera_Will válasza elektroncso hozzászólására (») Jan 16, 2018 /
 
Idézet:
„Hol hibáztam, vagy mi a probléma? Sem Arduino programozásban sem az LCD-k vezérlésében nincs tapasztalatom.”

Valami bekapcsolási tranziens lesz .
Próbáld feltölteni csupa üres szóközzel a teljes képernyő memóriát és majd újra a kiírandó jelet.
Csak ne engedélyezd a megjelenítést közben, csak azután ha már a tényleges karaktert jeleníted meg. Vagy ha van rá "parancsod" akkor egy full képernyő memória törléssel kezdjél.
(#) Tasznka válasza elektroncso hozzászólására (») Jan 16, 2018 /
 
Bár én már csak grafikus kijelzőkkel foglalkozom,de azért egy kezdő initet dobnék a kijelzőnek,mert kezdéskor lehet benne "szemét".Szóval beállítod,hogy kurzor,villogás,fontméret,stb,utána törlés..
Itt van leírás,hátha segít.
(#) elektroncso válasza Pali79 hozzászólására (») Jan 16, 2018 /
 
Köszönöm. Szeretem megérteni a dolgokat.
Ezt az oldalt még nem láttam, átrágom magam rajta. Azzal kezdtem, hogy kinyomtattam a 1602A LCD kijelző adatlapját, de nem a legjobb felbontás az időzítési ábráknál nem voltak olvashatóak a kis betűk. De a linkelt oldalon jól látszik.
Köszönöm!
(#) elektroncso válasza Kera_Will hozzászólására (») Jan 16, 2018 /
 
Lehet, hogy menőbb dolog, de most a kezdetekkor még a 8bit-esbe is bele tudok csűrődni.
(#) Pali79 válasza elektroncso hozzászólására (») Jan 16, 2018 /
 
Ja látok még egy hibát: az E lábát tartsd alacsonyan amíg az adat lábakat be nem állítottad a megfelelő értékre. Ha ez megvan állítsd magasra az E lábát egy kis időre. Az adatlapban benne van, hogy mennyi a minimum de szerintem 1ms elég, aztán megint alacsonyra. Megint állítod az adat lábakat, megint magas impulzus az E-re. Így tudod az összes karaktert kiírni.
(#) elektroncso válasza Tasznka hozzászólására (») Jan 16, 2018 /
 
Értem. Őszintén szólva gondoltam rá, hogy töröltetem a kijelzőt és a kurzort alaphelyzetbe állítom, de azt olyan, "nem baj ha szemét van, berúgjuk az ágy alá" megoldásnak véltem. De ha ez a tipikus megoldás akkor megbarátkozom vele. Én eddig az analóg rendszerekben mozogtam, ott ha zavar jutott a rendszerbe azt ki kellett szűrni, nem elfedni. De az egy másik világ...
(#) Kera_Will válasza elektroncso hozzászólására (») Jan 16, 2018 /
 
Igen hasznos elmélyülést !
A prellező kontaktusokkal többet kinlódtál volna .
De ezek szerint így is van ilyen baj.
Persze az lcd kezelő könyvtárakban lévő init sorok ezt szépen elfedik.
(#) elektroncso válasza Pali79 hozzászólására (») Jan 16, 2018 /
 
Nem fordítva? Az E láb logikai 0 szinten engedélyezi az adatlábak beolvasását magas szinten tiltja?
(#) Pali79 válasza elektroncso hozzászólására (») Jan 16, 2018 /
 
Nem.
A hozzászólás módosítva: Jan 16, 2018
(#) exabit válasza Kera_Will hozzászólására (») Jan 16, 2018 /
 
Nekem a 4 bites vezérlés nem igazán jött be. Az olcsó noname-től kezdve a drága OLED-es alfanumerikus kijelzőig minddel elég gyakran szinkront tévesztett. 8 bittel viszont nem volt problémám sose.
A hozzászólás módosítva: Jan 16, 2018
(#) Medve válasza exabit hozzászólására (») Jan 16, 2018 /
 
Mit jelent az, hogy szinkront tévesztett?
(#) elektroncso válasza Pali79 hozzászólására (») Jan 16, 2018 /
 
Na, át is pötyögtem a dolgokat. Beleépítettem a kijelző törlést és kurzor visszaállítást is, most már szépen csak az jelenik meg amit én szeretnék. Jelenleg csak egy 0 meg egy 1-es aztán folyamatosan felülírja. De örülök. Eddig azt hittem, hogy sokkal bonyolultabb. Persze tudom, hogy ez csak a jéghegy csúcsa.
Köszönöm mindenkinek!
(#) Pali79 válasza elektroncso hozzászólására (») Jan 16, 2018 /
 
Ha a programod ciklikus, mindig elölről kezdi ha a végére ért akkor persze, hogy felül írja...
(#) elektroncso válasza Kera_Will hozzászólására (») Jan 16, 2018 /
 
Először összehoztam kis kapcsolókkal, szépen ki is tudtam íratni betűket a LCD-re, de nem volt kedvem pergésmentesített nyomógombkezelő áramköröket gyártani. Egyszerűbb volt elővenni az UNO-t a polcról. Úgyis megszeretném tanulni, rengeteg lehetőség van benne.
(#) elektroncso válasza Pali79 hozzászólására (») Jan 16, 2018 /
 
Tudom, TurboPASCAL-ból ismerős. Tegnap kellett is újraindítani egy végtelen ciklus miatt a sulisban a PC-t.
De jó ez így is, szeretném kicsit megcsűrni 1-1 nyomógombbal a következő alkalommal, csak nem tudom mikor lesz rá időm.
(#) exabit válasza Medve hozzászólására (») Jan 16, 2018 /
 
Arról van szó hogy 4 bites módban két adatátvitel szükségeltetik a legtöbb parancshoz és karakterhez. Viszont előfordulhat hogy kimarad egy adatátvitel, a zaj miatt például.
Ha pl. kimarad egy karakter utolsó 4 bitje, akkor annak helyére a következő karakter első 4 bitje jön, és így tovább csúszik az egész. Az eredmény pedig mindenféle fals karakter a kijelzőn, köszönhetően ennek a 4 bit offszetnek. Ez a szinkron csúszás megmarad egészen addig amíg újra nem inicializálom a kijelzőt, vagy újra nem indítom a mikrovezérlőt. Az újrainicializálással az a gondom hogy villogtatja a kijelzőt, ami 1Hz-es frissítésnél bőven zavaró.
Egy digitális bemenetre kötött nyomógomb nyomkodásával könnyedén előjött mindig a hiba.
(#) Kovidivi válasza exabit hozzászólására (») Jan 16, 2018 /
 
Akkor valószínűleg a program volt a hibás. Ha az adat küldését egy interrupt meg tudja szakítani, emiatt az adatlapban specifikált időintervallumok nem kerülnek betartásra, akkor ott nem az LCD a hibás.
Ha instabil a két adat elküldése egymás után, akkor nagyobb szünetet kell tartani pl. az E láb váltásánál, de lehet, hogy a nyákon maradt gyantamaradványok bezavarnak a gyors kommunikációnak, esetleg hosszúak a vezetékek.
(#) atus1981 hozzászólása Jan 17, 2018 /
 
Sziasztok!
Az miért van, és van-e megoldás rá, hogy az 1.0.5 idejében készült vázlatok nem fordulnak le se az 1.6.5 se az 1.8.3 verzió alatt se és ezáltal fel sem tudom tölteni lapra?
Köszi.
(#) tbarath válasza atus1981 hozzászólására (») Jan 17, 2018 /
 
A hibaüzenetek sokat tudnak ám segíteni ilyen esetben. A fordító szépen leírja, hogy hol és mivel van baja, azt kell kijavítani.
(#) kegyetlen19 hozzászólása Jan 18, 2018 /
 
Sziasztok.
Egy kis problémába ütköztem. Egy matematikai számítást kellene elvégezni változókkal és számokkal, (egész és tizedes számokkal) majd a végeredményt kerekíteni, egy vagy kéttizedesre.
val3 = (val2 / (val1 / 1000)) * 3,6; (a változok float -osak).
HD44780-as kijelzőre akarnám kiíratni, de kifogytam a megjeleníthető karakter mennyiségből. A kérdésem tehát, hogy lehet a változok értékét kerekíteni? Aki tudja a megoldást, kérem ne tartsa „magába”.
Válaszokat előre is köszönöm.
Következő: »»   416 / 853
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