Hirdetés
-
Mobilarena
Ez itt, az elektronikával hobbiból foglakozók fórumtémája.
Lentebb összegyűjtötttem néhány elektronikával kapcsolatos, hasznos linket.
Új hozzászólás Aktív témák
-
lmaresz
aktív tag
Köszönöm az ötletet, de úgy néz ki ez sem működik... Valami más probléma van, most egy végtelen ciklusban írogatok másodpercenként 'A' betűket, de csak a 2. sor 3. karakterénél villog folyamatosan a kurzor, szóval a tegnapi megállapítás, hogy csak üres "karaktereket" ír ki, valószínűleg helytelen.
-
lmaresz
aktív tag
Ahogy mondtad, kikommenteltem a sort és most a 2. sor 1. karakterén villog a kurzor.
Viszont igazad van a TRISD = 1-gyel kapcsolatban, tényleg hülyeség így, de a 0xff illetve a 0x80-nal nem működik az inicializálás sem ahol használtam BF-et.void initLCD()
{
__delay_ms(100);
writeLCD(0x38, 0, 0); //Function set
__delay_us(50);
writeLCD(0x38, 0, 0); //Function set
__delay_us(50);
writeLCD(0x38, 0, 0); //Function set
__delay_us(50);
writeLCD(0x08, 0, 1); //Display control
__delay_us(50);
writeLCD(0x01, 0, 1); //Clear display
__delay_ms(3);
writeLCD(0x06, 0, 1); //Entry mode set
__delay_us(100);
}Ha kikapcsolom a BF-et akkor megy az inicialzálás, de még mindig nem akar semmilyen szöveget kiírni
-
-
lmaresz
aktív tag
Sziasztok!
Egy ST7066U-s 2 soros LCD és egy 16F887-es PIC kommunikációjával akadt problémám az előző napokban, az inicializálás sikeres, parancsokat is tudok küldeni neki, azonban az adatokat (betűket) valamiért mintha parancsként értelmezné. Nem találom a hibát, tudnátok segíteni, mi lehet a ludas?
Előre is köszönöm a segítséget!
A forráskódot csatolom:
typedef unsigned int uint;
typedef unsigned char byte;
void pulseE()
{
__delay_us(1);
PORTAbits.RA2 = 1;
__delay_us(1);
PORTAbits.RA2 = 0;
__delay_us(1);
}
void writeLCD(byte Data, byte DataFlag, byte CheckBusy)
{
byte BusyFlag;
if (CheckBusy)
{
RS = 0;
TRISD = 1;
RW = 1;
do
{
E = 1;
__delay_us(1);
BusyFlag = D7;
E = 0;
} while (BusyFlag);
}
else
{
__delay_ms(10);
}
TRISD = 0;
RW = 0;
if (DataFlag == 1) RS = 1;
else RS = 0;
DATA = Data;
pulseE();
}
void outStringLCD(char *psz_s) {
while (*psz_s) {
writeLCD(*psz_s,1,1);
psz_s++;
}
} -
lmaresz
aktív tag
Köszi minden segítséget, megtaláltam a problémát!
Az arduino (ami vezérli) szoftverében használtam a FastLED library-t, ami nem támogatta pl9823-at csak a WS szériát (ami jóval drágább), valószínűleg ezért villogott. Most, hogy észrevettem a novemberi frissítést, felraktam a friss library-t és láss csodát megy. A táp is tökéletes
-
lmaresz
aktív tag
1,5 illetve 2,5 mm^2 rézhuzalok vannak benne, a táp ilyen: link Egyébként kb.
3A6A körül vehet fel, ha full fehér az egész matrix.
Egyszerűen nem tudom elképzelni mi lehet a probléma...
Rengeteg dolgot már megnéztem, ez az utolsó tippem, hogy a tápfesz ingadozás vághat oda neki, mivel, ugye a Data-t a GND-hez hasonlítja, viszont ha a GND nem fix mindegyiknél, akkor más színű lehet illetve villoghat a LED. Csak még arra nem jöttem rá hogy ez a dolog miért csak a 96. LED-től észrevehető, miért nem az egész villog?
Esetleg megoldás lehet rá, hogy több párhuzamosítást csinálok, amit ajánlott is a videóban a kolléga, akitől vettem az ötletet? -
lmaresz
aktív tag
Sziasztok!
Van egy saját készítésű 128-as RGB LED (PL9823-mas LED-ekkel) mátrixom, amelynek a tápjával lehet a probléma. Attól függően, hogy milyen színűek a LED-ek, változik a táp feszültség, 0,2-0,4 V-ot, ami a vezérlés miatt nem előnyös.
A táp elviekben 12A-t (5V) bír, a LED fal felvétele biztosan nem ennyi. Próbáltam 33A-es számítógéptáppal is, azzal is ingadozik a feszültség, illetve 4700 uF-os kondival is kísérletezgettem, de egyik sem oldotta meg a fesz. ingadozást.
Van ötletetek, hogy lehetne csökkenteni az ingadozást?Előre is köszi a segítséget!
-
lmaresz
aktív tag
Sziasztok!
Van egy saját készítésű 128-as RGB LED mátrixom, amelynek a tápjával lehet a probléma. Attól függően, hogy milyen színűek a LED-ek, változik a táp feszültség, 0,2-0,4 V-ot, ami a vezérlés miatt nem előnyös.
A táp elviekben 12A-t (5V) bír, a LED fal felvétel biztosan nem ennyi. Miért esik a feszültség? (kezdő vagyok)Előre is köszi a segítséget
-
lmaresz
aktív tag
Én arra tippelek hogy a jelben valami eltorzul, ezért tudni kell hogy a jel kábel (1.5mm^2 réz huzal) kb. 8*1,5m=12m hosszú lehet sok már neki...
Az egyik ismerősöm ajánlotta hogy a frekin változtassak, azonban nem tudom hogy fel vagy le, illetve sajnos a glediator csak adott frekiken tud működni...
-
lmaresz
aktív tag
Sziasztok!
PL9823-as LED-ekkel foglalkozott már valaki? Építettem velük egy 8*16-os mátrixot, a gond vele, hogy a felső 2-3 sorra a jel eltorzul és a színek hamisan villognak... Tudtok segíteni, mit lehetne csinálni ez ellen?
Előre is köszi!
Új hozzászólás Aktív témák
Hirdetés
- BESZÁMÍTÁS! Gigabyte Z370 i5 8600K 32GB DDR4 512GB SSD RX 6700 10GB InWin 301 Corsair 650W
- BESZÁMÍTÁS! Gigabyte Z690M i7 12700KF 16GB DDR4 512GB SSD RTX 3080 10GB CM CMP 510 CM 750W
- BESZÁMÍTÁS! Gigabyte B450 R7 5700X 16GB DDR4 512GB SSD RTX 3060Ti 8GB Zalman Z1 Seasonic 650W
- BESZÁMÍTÁS! Asus Z170 i7 6700K 32GB DDR4 512GB SSD GTX 1060 6GB Rampage SHIVA Cooler Master 600W
- BESZÁMÍTÁS! ASRock AB350 R5 1600X 16GB DDR4 500GB SSD RX 580 4GB Rampage SHIVA Zalman 600W
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest