DarkAngel_Bv Postat Decembrie 14, 2011 Partajează Postat Decembrie 14, 2011 1 - 5V2 - 0V3 - potentiometru contrast (0-5V)4 - RS la CI5 - 0V6 - E la CI7 - 8 - 9 - 10- 11- la CI12- la CI13- la CI14- la CIUite spatele circuitului si conexiunile. Link spre comentariu
yo6pir Postat Decembrie 15, 2011 Partajează Postat Decembrie 15, 2011 Daca LCD-ul e bun incearca codul asta $regfile = "m8def.dat"$crystal = 1000000$hwstack = 40$swstack = 16$framesize = 32Ddrc = &HFF 'config PORTC ca iesireConfig Lcd = 16 * 2 ' comanda a fost adaugata aici, pentru ca aici ii este loculConfig Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2Config Adc = Single , Prescaler = Auto 'configureaza convertorul ADCStart Adc 'porneste convertorul ADCDim A As ByteDim W As LongDim W2 As LongDim X As SingleDim X2 As SingleDim P As SingleCursor OffCls 'comanda CLS se pune aici sa nu flicare ecranul'-------------------DoW = Getadc(5)W2 = Getadc(4)X = W / 1024X = X * 5X2 = W2 / 1024X2 = X2 * 50P = X * X2Locate 1 , 1 : Lcd X ; " V " ; X2 ; "A "Locate 2 , 1 : Lcd P ; " VA "Waitms 100 'refresh ecranLoopEndAr trebui sa functioneze bine. Link spre comentariu
nico_2010 Postat Decembrie 15, 2011 Partajează Postat Decembrie 15, 2011 Cred ca tocmai l-ai alimentat invers. Pinul 1 este la GND, pinul 2 la +5V. In principiu, dupa ce il lasi sa se raceasca, ar trebui sa functioneze normal. Ca sfat, pe viitor foloseste conectori pentru LCD. LE: codul modificat de mine este urmatorul: $regfile = "m8def.dat"$crystal = 1000000Config Lcd = 16 * 2' comanda a fost adaugata aici, pentru ca aici ii este loculConfig Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2Cursor OffDisable Interrupts ' comanda se poate introduce pentru a evita declansarea nedorita a intreruperilorDim Flag As BitDim W As WordDim W2 As WordDim X As SingleDim X2 As SingleDim P As SingleDim Tensiune As String * 16Dim Curent As String * 16Dim Putere As String * 16Flag = 1DoStart AdcW = Getadc(5)W2 = Getadc(4)Stop AdcFlag = 1X = W / 1024X = X * 5X2 = W2 / 1024X2 = X2 * 50p=x*x2Tensiune = Fusing(x , "#.##")Curent = Fusing(x2 , "#.##" )Putere = Fusing(p , "#.##")If Flag = 1 ThenGosub Disp_lcdEnd IfLoopEnd 'end programDisp_lcd:Locate 1 , 1 : Lcd Tensiune ; " V " ; Curent ; " A "Locate 2 , 1 : Lcd Putere ; " VA "Flag = 0Returnsi rezultatul simularii: http://www.4shared.com/folder/nONFTHuz/_online.html Link spre comentariu
nico_2010 Postat Decembrie 15, 2011 Partajează Postat Decembrie 15, 2011 Cred ca tocmai l-ai alimentat invers.Pinul 1 este la GND, pinul 2 la +5V. In principiu, dupa ce il lasi sa se raceasca, ar trebui sa functioneze normal.Ca sfat, pe viitor foloseste conectori pentru LCD.Scuze, prima data nu am fost atent! Alimentarea LCD-ului este OK.Verifica inca odata conexiunile dintre afisor si uC si, de asemenea, verifica sa nu ai scurturi intre pinii afisorului.Nu ar trebui sa se incalzeasca integratele de pe spatele LCD.Manifestarea relatata de tine poate fi si urmarea unei inversari a semnalelor de date si/sau a celor de la pinii E si RS. Link spre comentariu
DarkAngel_Bv Postat Decembrie 15, 2011 Partajează Postat Decembrie 15, 2011 Am schimbat azi display-ul si functioneaza ireprosabil.Am vrut sa cumpar unul nou dar era 39 RON... un pret aberant de mare, asa ca am apelat la prieteni si am luat unul moca + un afisaj cu 4 digiti de 7 segmente Link spre comentariu
DarkAngel_Bv Postat Decembrie 15, 2011 Partajează Postat Decembrie 15, 2011 Iata si rezultatul mai jos. Functioneaza intr-un final (afiseaza 2.49-2.50V, ADC-ul fiind conectat intr-un divizor de 2 rezistente de 10K) Acum sa vedem cu frecventmetrul daca reusesc ceva.Edit:Acum cand ajunge la instructiunea cls se vede o usoara licarire a ecranului. Se poate elimina cumva? Link spre comentariu
nico_2010 Postat Decembrie 15, 2011 Partajează Postat Decembrie 15, 2011 Foloseste varianta pe care am postat-o si fa comparatie.Dispare si licaritul imaginii afisate. Link spre comentariu
DarkAngel_Bv Postat Decembrie 15, 2011 Partajează Postat Decembrie 15, 2011 ok, o sa incerc dimineata, ca acum a strans ustensilele de pe masa. Link spre comentariu
benishor Postat Decembrie 22, 2011 Partajează Postat Decembrie 22, 2011 Licăritul imaginii se numeşte flicker şi este cauzat de ştergerea conţinutului de pe ecran/display între două afişări consecutive. Din cauza vitezei scăzute de lucru a display-ului, ochiul ajunge să perceapă tot procesul de afişare ca un tremurat cauzat de ştergerea dintre afişări.O soluţie ar fi să nu mai ştergi display-ul între afişări ceea ce înseamnă că va trebui să ai grijă să suprascrii la fiecare iteraţie tot ecranul pentru a nu prezenta utilizatorului date fantomă. Link spre comentariu
DarkAngel_Bv Postat Ianuarie 5, 2012 Partajează Postat Ianuarie 5, 2012 Ma declar prostul serii. Am reusit sa ard atat display-ul cat si uC-ul. Din greseala in loc sa bag pinul pe rail-ul de 5V din sursa ATX l-am bagat pe rail-ul de 12V si s-a dus naibii. Link spre comentariu
Vizitator Postat Ianuarie 7, 2012 Partajează Postat Ianuarie 7, 2012 Stai linistit, nu esti singurul care a descoperit ca firul de 5V poate fi legat si la 12V. Ca sa eviti, foloseste una din urmatoarele metode: - un conector antiprost (adica intra doar in locul si pozitia care trebuie, altfel nu intra indiferent cati muschi ai - personal nu cred ca exista asa ceva pentru ca am vazut de mai multe ori conectori Molex de HDD bagati invers si o data am vazut chiar un conector DB25, metalic, bagat invers) - marcheaza firul cu marker-ul sau macar fa-i nod(uri) - foloseste tile sau etichete cu care denumesti cablul - pune fire de aceeasi culoare, de exemplu rosu la rosu, sa nu le inversezi din greseala Link spre comentariu
DarkAngel_Bv Postat Ianuarie 9, 2012 Partajează Postat Ianuarie 9, 2012 nici mama mufei anti-prost nu imi salva munca dupa mai bine de 24 de ore nedormite (ca si acum defapt, diferenta e ca acum amplificatorul pentru casti pe care tocmai l-am terminat nu a facut poc ). Link spre comentariu
shebu_18 Postat Ianuarie 10, 2012 Partajează Postat Ianuarie 10, 2012 As avea nevoie de ajutorul vostru inlegatura cu PWM-ul la un atmega88 sau attiny2313(vorbind in gereal de PWM).Folosesc mikroC for avr sau flowcode4. Am reusit sa generez PWM-ul dar nu stiu cum il spre un pin de output. Adica ceva gen arduino. Acolo scriam codul si puteam pune semnal PWM la pinul capabil de PWM. va multumesc.LE: Am incercat sa caut dupa PWM in sectiunea atmel dar nu pot cauta cuvinte mai scurte de 4 caractere. Ce ar fi sa se foloseasca totusi 3 caractere sau sa se treaca cuvintele cu 3 caractere folosite la uC la exceptii.(ca exemplu, avr, pic, adc, pwm) Link spre comentariu
godFather89 Postat Ianuarie 10, 2012 Partajează Postat Ianuarie 10, 2012 As avea nevoie de ajutorul vostru inlegatura cu PWM-ul la un atmega88 sau attiny2313(vorbind in gereal de PWM).Pai vorbim in general, dar ne intrebi cum scoti un semnal PWM pe un pin al unui anumit microcontroler.Nu am citit (recent) foile de catalog ale atmega88 sau attiny2313 deci din cate stiu s-ar putea sa se faca diferit.Folosesc mikroC for avr sau flowcode4. Am reusit sa generez PWM-ul dar nu stiu cum il spre un pin de output. Adica ceva gen arduino. Acolo scriam codul si puteam pune semnal PWM la pinul capabil de PWM.De unde stii ca ai reusit sa generezi un semnal modulat in latime daca nu poti sa il vezi nici cum? Cat despre arduino... aici te aduce. Multi is "profesionisti" in domeniu dar nu stiu ce e ala un registru.In foaia de catalog gasesti tot ce ai nevoie.De exemplu pentru atmega88 http://www.atmel.com/dyn/resources/prod_documents/doc2545.pdfPentru timerul 0, in functie de modul PWM configurat trebuie sa setezi anumite valori in TCCR0A (detalii la pagina 101). In functie de aceste valori vei putea scoate semnalul PWM pe pinii OC0A si/sau OC0B in mod normal sau inversat. Link spre comentariu
shebu_18 Postat Ianuarie 10, 2012 Partajează Postat Ianuarie 10, 2012 La flowcode4 ai un grafic care iti arata cat % din PWM ai setat. La mikroC nu stiu.m-am gandit ca exista o librarie in care ii zici pin-ul, duty cycle si face el restul, dar vad ca m-am inselat.Presupun ca la toate avr-urile se face la setarea wpm-ului la fel, am intrebat mai precis de attiny 2313 si atmega88 ca ep acestea le foloesc. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum