Sari la conținut
ELFORUM - Forumul electronistilor

Probleme de incepatori


Postări Recomandate

Dupa ce am trecut de prima faza "joaca " cu un lcd care imi va fi utila la o placa de dezvoltare am o noua nedumerire legata de push-butoanele pentru intreruperi(din cate am inteles eu asta fac, deocamdata nu le am testat). vreau sa pun pe placa de dezvoltare cate un push buton pt aproape firecare pin. Nedumerire: am vazut doar push butonul pus un capat la masa si celalalt la pinul respectiv si a 2 a varianta cea care are in plus la pnul uc ului o rezistenta la vcc. Eu as prefera doar prima varianta fara vcc dar important este cum e corect?

Link spre comentariu

Poti folosi butoanele si fara rezistenta, dar in acest caz este nevoie sa declari in soft activarea "PULLUP TRUE" pentru portul respectiv folosit de buton, adica activezi niste rezistente interne care tin locul celor externe pe care vrei sa le pui. In BASCOM AVR se configureaza portul respectiv ca fiind intrare apoi setezi portul; pentru PortB.0 de exemplu,codul sursa arata asa:

'************************Config Portb.0 = input  ' Configurare portb.0 ca si intrare dar se poate folosi si sintaxa: "DDRB.0 = 0" cu acelasi efectPortb.0 = 1   ' Activeaza pullup resistor pe intrarea Portb.0, dar poti folosi si sintaxa: "set Portb.0" cu acelasi efectButon1 Alias Pinb.0  ' Declara butonul 1 aliat acelui port declarat anterior ca si intrare.'**************************
SUCCES!
Link spre comentariu
Vizitator mateiuli

Salut,

 

Vreau sa intru si eu in lumea Atmel. Am ales Atmel pentru ca am vazut ca se poate programa in C, limbaj de programare pe care il cunosc. Pentru inceput mi-am ales atmega8, cu care cred ca multi au inceput.

Mi-am comandat de pe net 2 bucati atmega8, vreo 2 senzori temperatura si ce mai aveam nevoie.

Pentru programare mi-am ales acest programator http://ionutstoica.info/wp-content/uplo ... oard01.jpg pentru ca calculatorul meu e dotat cu port serial, neavand port paralel. Electronica e doar un hobby pentru mine, nu voi avea nevoie de un programator sofisticat.

Display-ul pe care il voi folosi va fi de un nokia 3310. Schema pe care vreau sa o realizez pentru inceput se afla aici. Am toate piesele. Mai trebuie sa realizez montajul pe o placa de test.

 

Acum dilema mea:

Am vazut ca microcontrolerele se pot programa direct in circuit, astfel nu mai e nevoie sa scot uC din soclu si sa-l bag in programator. Eu daca realizez acel montaj, LCD-ul va fi legat ca in schema, adica 3 pini sunt comuni programatorului si display-ului (MOSI, MISO, SCK). Pot programa doar legandu-ma cu firele de la programator pe pini respectivi chiar daca la pinii aceia e displayul conectat? Adica nu trebuie sa deconectez display-ul ca sa programez uC-ul? Daca raspunsul e da, asta ma va scuti de niste munca in plus. Le voi pune pe toate pe o placa de test (programator + montaj).

 

Multumesc mult!

Link spre comentariu
Vizitator mateiuli

Ma descurc in engleza. Multumesc mult pentru info. Acum ma apuc sa citesc. :)Gata. Am inteles.Poate mai are nevoie cineva de informatia asta:Se poate face cum am zis eu mai sus dar daca avem si alte componente legate prin SPI la uC, inainte sa punem programatorul pe pinii MISO, MOSI, SCK, RST, trebuie sa protejam programatorul de componenta respectiva, caci altfel aceleasi instructiuni vor fi trimise si catre, in cazul meu, display. Aceasta protectie se poate realiza cu jumperi sau cu niste rezistori pe pinii MISO, MOSI, SCK. As mai avea inca o intrebare legata de programatorul serial de l-am pus in mesajul trecut: acolo la pinul +5V, montajul (programatorul) se alimenteaza de la uC, nu? Nu programatorul ii da curent uC-ului. Asa e?

Link spre comentariu

Programatorul acela pe mufa seriala are nevoie de o sursa externa ca sa functioneze, dar sursa externa poate fi tocmai sursa din care se alimenteaza montajul programat. Daca te uiti cu atentie in schema programatorului, vei observa ca tranzistorul va pune la masa pinul reset al IC-ului programat, care, la randul sau are pinul "tras" la plus, printr-o rezistenta de "PULL-UP". In cazul tau, daca vei vrea sa faci montajul prezentat, iti sugerez sa pui o rezistenta intre +3V si RESET, iar programatorul sa nu-l mai alimentezi la tensiunea de 5V, deoarece, ai rezolvat deja polarizarea pinului RESET al mcu. Numai ca se pune un semn de intrebare, si anume:-Daca incepi sa programezi, in felul in care ai spus, cu LCD-ul cuplat, pe mufa seriala vor tranzita semnale de la PC de nivele 5V pe terminalele MISO, MOSI, SCK, care vor avea calea deschisa si spre LCD, iar acesta din urma nu va rezista acestor nivele de tensiune si se va arde. LCD-ul de NOKIA functioneaza la 3V. -Ca sa scapi de acest "cosmar" iti recomand cu caldura, sa deconectezi LCD-ul in timpul scrierii. In felul acesta vei scapa si de erorile eventuale, datorate altor consumatori de informatie aflati in momentul scrierii pe terminalele MISO, MOSI, SCK. Iti spun din proprie experienta.SUCCES!

Link spre comentariu
Vizitator mateiuli

Multumesc pentru sfaturi. :)Am realizat acel programator pe un cablaj de test. Am pus uC-ul si un led si l-am bagat la programare folosind AVRDude. A mers! :) Am facut led-ul sa clipeasca. Ma mai joc eu astea, cu butoane, etc si dupa pun si LCD-ul. :)

Link spre comentariu

Buna ziua am si eu o intrebare putin cam banala dar vreau sa fiu sigur. Am un circuit cu un uc pe care vreau sa l fac si se mentioneaza tensiune alimentare 12 v continuu si un curent de maxim 0.1 A . Eu am un adaptor care scoate 12 v si 1 A. Risc sa-l ard? isi ia circutul curentul necesar sau trebuie sa gasesc o sursa de maxim 0,1 A? Astept mai multe pareri

Link spre comentariu

nu risti sa-l arzi, impedanta lui face ca la acea tensiune sa traga din sursa cat curent are nevoie, in acest fel sursa va da 10% din puterea maxima care o poate da. totusi regula nu e valabila la toate dispozitivele. de exemplu un led se arde pentru ca impedanta lui este mult prea mica si astfel prin el trece un curent mare (la care jonctiunea led-ului nu rezista) daca nu este limitat de un alt element

Link spre comentariu

buna seara am tot incercat sa modulez in frecventa de 38 khz cu cristal intern de 8mhz un atmega 8 pt a face un transmitaor infrarosu dar nu reusesc deloc. Nu ma pricep la cristale externe deci as vrea daca se poate sa raman tot pe o frcventa interna a uc-ului am postat o secventa de cod:$regfile = "m8def.dat "$crystal = 8000000Dim Togbit As Byte , Command As Byte , Address As Byte' 36kHz carrier reload value'Const T_oc1 = 55 'value for 4MHz crystalConst T_oc1 = 108 'value for 8MHz crystal'Const T_oc1 = 138 'value for 10MHz crystalConst Carrier_on = &B01000000 'IR 36kHz carrier onConst Carrier_off = &B11000000 'IR 36kHz carrier offConfig Timer1 = Timer , Prescale = 1 , Compare A = Toggle , Clear Timer = 1Timer1 = 0Compare1a = T_oc1 VA MULTUMESC!

Link spre comentariu

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 cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări