Sari la conținut
ELFORUM - Forumul electronistilor

Probleme de incepatori


ole

Postări Recomandate

  • 1 an mai târziu...

Salut

Ma poate ajuta cineva cu compilarea in hex sau bin la ceea ce am atasat

Ce am atasat este scris pentru un atmega88. dar as vrea daca se poate compila pentru atmega8

momentan nu detin atmega88.

Multumesc

O seara buna va doresc

 

patch lm7001.rar

Link spre comentariu
  • 1 an mai târziu...

Va salut.

Intr-un mic proiect cu ATmega328 am doua push-buttoane care comanda doua relee.

Schema pentru cele doua butoane este urmatoarea:

Capture.thumb.JPG.18183c922c62573363b3aeccff637e40.JPG

Dupa cum vedeti nu am prevazut rezistente pull-up. Este obligatoriu sa pun aceste rezistente?

Capture.thumb.JPG.8f64647fe8f95d57a2d5b395e866f67a.JPG

Am citit ceva referitor la activarea in soft a acestor rezistente. Daca nu le utilizez trebuie sa scriu ceva in soft?

Multumesc.

Link spre comentariu

Da, trebuie activate cele interne sau montate altele externe.

Fara aceste rezistente starea pinului este incerta.

Daca nu vreti sa activati rezistentele interne, nu trebuie sa scrieti nimic legat de acestea atunci cand se face configurarea atmega 328.

Link spre comentariu

Da, pot fi activate rezistentele de pull-up. In program scrii, spre exemplu:

DDRB |= 1<<DDB1; // portul B1 este setat ca iesire

PORTB |= 1<<PB1; // portul B1 are rezistenta pull-up activata

 

L.E.: da' foaia de catalog ai citit-o?

 

Editat de nico_2010
Link spre comentariu
Acum 14 minute, Elison a spus:

Da, trebuie activate cele interne sau montate altele externe.

Deci exista unele interne care trebuie sa fie activate.

Asta inseamna ca nu trebuie neaparat sa pun altele externe?

Iar activarea celor interne o fac astfel:

 

digitalWrite (pinBTN1, HIGH);

 

Este corect?

 

Acum 5 minute, vijelie02 a spus:

Zic si eu, n-ar fi bun si un C de vreo 100nF paralel pentru un debouncing?

Paralel cu ce? Cu butonul?

Link spre comentariu

Corect numai daca pinBT1 este configurat ca pin de intrare.

Un alt mod de activare pull-up poate fi acesta:

pinMode(2,INPUT_PULLUP);

in cazul in care butonul este pe pinul 2

Link spre comentariu
1 oră în urmă, zvonacfirst a spus:

Paralel cu ce? Cu butonul?

Da, paralel cu butonul. La apasarea butonului lamelele interne nu intra in contact instant(nu este ideal), apare un regim tranzitoriu (aclansari si declansari repetate ale contactelor). Testand la o frecventa mare starea butonului, deci o perioada mica, este posibil sa prinzi testarea starii butonului fix in momentul cand apare regimul tranzitoriu, astfel citesti o stare eronata. Condensatorul nu permite o variere rapida a tensiunii la bornele sale, astfel tranzitia se face lin. Iti recomand sa faci un debouncing software, adica dupa ce ai testat ca butonul a fost apasat astepti o perioada de timp (50 ms) si testezi din nou starea lui.

Bafta!

Link spre comentariu
Acum 11 ore, Elison a spus:

pinMode(2,INPUT_PULLUP);

Corect este doar asa.

Cat despre condensator, trebuie stabilita valoarea rezistentei de pull-up astfel incat timpul de incarcare sa fie de circa 50-100ms, altfel nu pea este de folos.

Link spre comentariu

Multumesc mult pentru raspunsurile de real ajutor.

Dar pentru un incepator apar intotdeauna alte nelamuriri.

Daca compilez un soft pentru ATmega328 cu oscilator intern de 8MHz, se misca cu incetinitorul.

Daca acelasi soft il compilez pentru oscilator intern de 1MHz se misca muuult mai bine, adica aproape bine dar totusi este lent.

Ma asteptam ca la 8MHz sa zbarnaie, sau asa inteleg eu ca trebuie sa functioneze un procesor la frecventa mai mari, mai rapid decat la frecvente mici.

Trebuie sa fie o smecherie la mijloc, sau cel putin asa cred. Am citit aici despre o posibila rezolvare si as incerca dar imi este teama sa nu blochez uC-ul. Ce ma sfatuiti?

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