Fórum témák
» Több friss téma |
Itt az eagle projekt hozzá.
Direkt figyeltem az alap szűrésekre is ![]() Az LCD egy Siemens M55 kijelzője, van belőle pár darabom, azt akarom vezérelni. Ez nem ördögtől való, 16f628-al mikropascalban egyik honfitársunk már megtette (meg pár lengyel oldalt is találtam hozzá), én viszont miután a kijelzőt sikerült elérni, még szeretnék érzékelőt is kötni a picre (I2C-n, ezért kell az MSSP2-t használnom az SPI-hez), ezért választottam ezt a jószágot, nem azt, amihez már van működő kód.
Üdv.! (szokás szerint) Van egy kis gondom.A CCS IDE saját könyvtárával próbálok egy 4x20-as LCD kijelzőt meghajtani de szerintem valamit nagyon rosszul csinálok.Van egy szöveg az "LCD420.h"-ban amit nemértek.
Idézet: „// As defined in the following structure the pin connection is as follows: // B0 enable // B1 rs // B2 rw // B4 D4 // B5 D5 // B6 D6 // B7 D7 // // LCD pins D0-D3 are not used and PIC B3 is not used.” Ezt én úgy értelmeztem hogy alapból definiálva vannak a dolgok és elég ha igy bekötöm és nem szükséges definiálni. A kód:
Ebben a részben határozza meg hogy mi micsoda:
Ha úgy kötöd be ahogy az elején írja akkor működnie kell elvileg!
Mondjuk nekem ez a driver szimpatikusabb 4x20-as kijelzőhöz.
A hozzászólás módosítva: Jan 31, 2017
Annak, akinek nincs Eagle a gépén, mégis szeretné látni, itt az eagleup-pal generált 3d kép (mínusz a tüskesorok). A dugdosós próbapanelbe élére állítva megy bele, így csak a középső két oszlopot veszi el és a sorokat ki lehet használni "teljes mellszélességben".
A hozzászólás módosítva: Jan 31, 2017
Azt jól értem, hogy SPI és I2C-t is akarsz használni?
Mert ügye egyszerre csak az egyik fog sikerülni. Az LCD-t nem lehet SPI nélkül vezérelni? Én a helyedbe szimulátoron ellenőrizném a programot, lehet nem is azzal lesz a gond. Vagy írj egy egyszerű adatküldést és debugold végig. Arra kell csak figyelned, hogy amikor küldesz egy bájtot, akkor ugyan azt a bájtot kell fogadnod. Tehát az SDO-t vezesd az SDI-be, így látni fogod debugból, ha érkezik adat. Ha érkezik, küld is. Az SDI pin-t ne felejtsd el bemenetre állítani. Ha ez meg van, akkor biztos lehetsz benne, hogy az SPI beállításod jó. Ugyan ezt megteheted I2C-nél is, ezzel ellenőrizheted saját magad. Ha ezzel megvannak csak után lépj tovább, vagy is jöhet az LCD. Idézet: „Azt jól értem, hogy SPI és I2C-t is akarsz használni? Mert ügye egyszerre csak az egyik fog sikerülni.” Azárt választotta ezt a típust mert két MSSI illesztő van benne.
A gond hogy igen amatőr vagyok e téren.Konkrétan LCD-vel még soha nem dolgoztam és fogalmam sincs hogy kell beüzemelni/használni a mellékelt "Flex_LCD420.c"-t.Például egy ilyen hibát kaptam rögtön az "includeálánsál".Mellékeltem a képet.
Nem a Flex_LCD420.c-t kell include-olni, hanem a Flex_LCD420.h-t. A C-t a projectbe kell felvenni.
Ahogy elnézem, ez nem a szabályos több modulos forrás, hanem a sima copy-paste módszerrel működő. Így még működhet is, de az #include szó után egy szóköz nem ártana. A hibaüzenetet sajnos nem tudom elolvasni, mert annyira apró.
Nos elvileg sikerült hibamentesen forditanom úgy hogy hozzáadtam a fájlt a projecthez de igysem működik a display.Körülnézek még hátha van valahol hiba de egyre inkább olyan érzésem van hogy halott a kijelző.
Kijelző kontrasztját beállítottad?
Flex_LCD420.h-t ne keress, nincs, nem kell neki!
Valószínűleg a "#device PIC16F628A" részt hiányolta a fordító ... talán azért mert a Flex lcd fájt hitte a programfájlnak és nem azt ami a programodat tartalmazta ( ha jól látom lcd.c).
Jobb gombbal kattintasz a képre amit feltöltött és megnyitás új lapon és máris el tudod olvasni a hibaüzenetet
![]()
Még egyszerűbb, ha a kép alatti "filenévre" kattintasz
![]()
Szerintem nem szerencsés egy C fájlt includeolhatóra (de szép ez a szó) megírni. Szerencsésebb lenne átnevezni 'h' kiterjesztésűre, beleszúrni a többszörös hivatkozás kiszűrését, meg az lcd.c-ben a hivatkozást is módosítani. Így nem lesz gond abból, ha véletlen felveszed a projectbe, az meg önállóan is le szeretné fordítani.
Nem én írtam a fájlt!
Itt találtam. És használom úgy, ahogy ott leírták ... majd talán egyszer... ha már programozni is tudok ... ![]() A hozzászólás módosítva: Feb 1, 2017
Sziasztok
![]() PIC10f322 picket használok. MikroC be írtam a kódot de valamiért nem tudom engedélyezni RA0 ami AN0 ADC-t mit ronthattam el?? Inkább belinkelem az egész kódot.
Köszönöm a segítséget elöre.
Átítam 1 re de semmi .
Azon a lábon van a poti bekötve . 1 láb Vdd 3 Vss 2 pedig a piklábába. Belső osc használok. Azt csinálja hogy tekerem a potimétert és amikor már teljesen kivan tekerve a potméter akkor villágit a led. Ötlet?? vagy ne a szoftveresen keressem a hibát?
Basszus Tényleg a TRIS ooohh figyelmetlenség....
![]()
Müködik csak az a kérdésem hogy tekerem tekerem egy formán villágit a led és a poti vége fele hirtelen ugrik a fényerő ez miért lehet??
Mert a potenciometer feszosztokent mukodik, a vegen lesz a feszosztas nagy lepteku azonos lepesnel.
mondjuk 100k a potmeter a kozepen egy kis lepes eseten 49k/51k A szelen 98k/2k ujabb lepesre 99k/1K es igy tovabb.
Ö más eredetű volt a hiba hát nem tom hogy mért de remélem valaki tudja rá a választ.
ICSPDAT lábat ki kell huzni amikor amikor feszültséget adok a picknek .(ADC lábon van a ICSPDAT egyszerre ) és valamiért ICSPDAT láb össze szavarja ADC-t Ilyen lehet??? Másik 5khz helyet 10khz érdemes nálam használni hogy nagyobb fényerőt érjek el .(Ezt se értem miért) És az a kérdésem ha valaki letudná tesztelni meg köszönném 10khz lekövet 74hc595 blink lába??? Segítségeteket elöre köszönöm
Nem tudom milyen programozót használsz, de a Pickitekben ezeken a lábakon van egy 4,7k lehúzó ellenállás, ez bezavarhat, ha túl nagy értékű a poti, ami amúgy sem javasolt. A HC595 le tud kezelni 10kHz-et, de igazából az adatlapban a fel/lefutási idő van megadva, tehát inkább a minimális impulzus szélességről lehet beszélni.
Még az is sok. Az adatlapban: 15.4 A/D Acquisition Requirements max. 10k a forrás javasolt kimeneti impedanciája. Persze ez lehet nagyobb is, csak a következményeket figyelembe kell venni. Ugyanott vannak a számítások is.
Mekkorát rakjak párhuzamosan ellenállást a 100k Potinál és egy LDR ellenállásnál??
Használj kisebb potit, vagy ha ehhez ragaszkodsz tegyél 10-100nF kondit a csúszka és a föld közé, és vedd nagyobbra az akvizíciós időt. Az LDR-re sem kell párhuzamos ellenállás, az ellenállása alapján kell egy feszültség osztó, és azt mérni, esetleg oda is egy kondi.
|
Bejelentkezés
Hirdetés |