Jump to content


Photo

Tutorial - introducere in prog uC Atmel (03.06.2012)


  • Please log in to reply
51 replies to this topic

#1 OFFLINE   ole

ole

    Membru

  • Membri
  • PipPip
  • 341 posts

Posted 29 October 2010 - 12:01 AM

De cateva zile m-am apucat sa-i invat pe cativa dintre colegi ce inseamna microcontrollere si cam cu ce se mananca. Totul ca pentru incepatori absoluti.
In speranta ca va fi cuiva utila munca mea, am sa atasez aici un tutorial in continua dezvoltare. Acest topic va fi pentru sugestii referitoare la tutorial, intrebari in cazul in care nu va iese ceva, sugestii de teme de casa (de la cei avansati),etc.


UPDATE 03.06.2012

In acest moment tutorialul explica:
- cum sa aprinzi leduri
- cum sa folosesti intreruperile externe - cu butoane
- cum sa folosesti timerele (pe baza de intreruperi)
- cum sa folosesti cele 3 generatoare de PWM


Am adaugat o arhiva cu un soft demonstrativ sa zic asa ce se poate realiza cu montajul din tutorial. Sper ca in curand sa ma reapuc de el si sa continui.


Tutorial AVR (03.06.2012).rar

Cu_reclama

Cu_reclama
  • Membri

#2 OFFLINE   RoGeorge

RoGeorge

    Electronist

  • Membri
  • PipPipPipPipPip
  • 2,685 posts
  • Locatie:Bucuresti - Cluj

Posted 29 October 2010 - 07:59 PM

Un tutorial in limba romana cred ca va fi foarte util. :da
----------------
Eu as lua AVR Studio 4 direct de la producator adica
AVR Studio 4.18 (build 684) (116 MB, updated 11/09)
Dupa ce s-a instalat AVRStudio, in loc de WinAVR se poate dl. direct de pe site-ul Atmel un pachet AVR-GCC care are installer si vine gata configurat si integrat in AVRStudio. Se cheama
AVR Toolchain Installer (87 MB, updated 9/10)
For use with AVR Studio 4.18 SP3

Ambele se gasesc aici:
http://www.atmel.com...sp?tool_id=2725
----------------
In pag 3. faci trimitere la un datasheet. Ca elevul sa priceapa ce-i acolo are nevoie de limba engleza avansati si cunostinte medii de circuite digitale si arhitectura microprocesoarelor. :jytuiyu
Dupa parerea mea tutorialul are ca tinta pe cei care nu stiu engleza si nici circuite digitale. Asa ca datasheet-ul va fi chineza veche pentru orice incepator. Aici va trebui sa explici tu in locul datasheet-ului si explicat la greu, cat mai clar.
----------------
Ia un tutorial bun si/sau niste cursuri despre AVR in engleza si vezi ce ii lipseste sau ce ar putea fi inbunatatit.
Eu as baga la inceput un cuprins.
----------------
In pag.6 faci presupunerea ca elevii tai au facut C in liceu. Poate au facut, poate nu. In general trimiterile catre scoala nu sunt de dorit.
----------------
Iti recomand sa pui versiuni fisierului doc. Acum e doar unul dar pe parcursul dezvoltarii vor fi mai multe si pot aparea incurcaturi.
----------------
La sfarsit ai scris TO BE CONTINUED..., era mai bine VA URMA, ca sa priceapa toata lumea ca nu e vreo injuratura.
----------------
Nu inteleg de ce ai scris in header Tutorial Low Cost. Va fi de vanzare? Si oricum am presupus ca elevii nu stiu engleza.
----------------


Sper sa nu iei in nume de rau ca am venit cu observatii. Apreciez ce vrei sa faci si incerc sa ajut.

Spor la treaba in continuare. :aplauze

#3 OFFLINE   ole

ole

    Membru

  • Membri
  • PipPip
  • 341 posts

Posted 29 October 2010 - 08:13 PM

Multumesc pentru raspuns. Chiar de critici de genul asta am nevoie. Stiu ca am luat-o pe multe scurtaturi, am amestecat engleza cu romana si am presupus ca se cunoaste C. Pe cat imi permite timpul am sa incerc sa dezvolt in romana insa nu ma pot apuca acum sa ii invat C pentru ca la urma urmei e tutorial de AVR nu C. Explic doar notiunile care nu se intalnesc in programarea PC-ului.

Legat de AVR Studio: am dat un alt link fata de cel de la producator fiindca pentru a obtine ultima versiune iti cere sa completezi nu stiu ce formular ceea ce mie si poate si altora nu le place. De AVR Toolchain nu stiam. am sa schimb cand imi va permite timpul.

Cuprins si toate celelalte detalii vin la vremea lor. Ce e scris acum a fost scris azi noapte la ora 12... Din pacate nu am timp sa caut tutoriale gata facute.

Versiuni la fisier nu cred ca am sa pun. Mai curand data ultimei modificari. Altfel ajung la prea multe versiuni.

"TO BE CONTINUED..." e pus sa se inteleaga ca nu am terminat de scris prima parte din lipsa de timp.

"Tutorial low cost" - pentru ca este pentru incepatori absoluti in electronica, care nu au uneltele necesare si poate nici fonduri foarte vaste. In tutorial folosesc minimul necesar.

Astept pareri si pe parcurs :)

#4 OFFLINE   RoGeorge

RoGeorge

    Electronist

  • Membri
  • PipPipPipPipPip
  • 2,685 posts
  • Locatie:Bucuresti - Cluj

Posted 29 October 2010 - 10:38 PM

Nu e musai sa fie ATmega8.
Auzisem ca ATmega8 nu s-ar prea gasi ca nu se mai fabrica si ca a devenit cam scump. N-am verificat daca asa e. Tot din familia AVR este de exemplu si ATtiny13 dar cu 8 pini, dintre care 2 alimentari si 1 Reset care la nevoie poate fi folosit si el. Merge si la 3 si la 5V, are si convertor ADC si timer, PWM, comparator analogic, frecventa maxima 20 MHz. Ultima oara cand am cumparat de pe strada Maica Domnului din Bucureasti costa cam 1 euro. Cred ca la nevoie un ATtiny13 ar fi suficient pentru lectii introductive, se pot face cu el o gramada de minunatii.

Pentru cei (ca mine) care urasc site-urile ce cer inregistrare si e-mail fara rost ca apoi sa-si gaseasca mailul plin de spam-uri le recomand sa foloseasca mailinator.

Ce este mailinator?
Este un site la care:
- sunt "deja create" toate adresele posibile de e-mail la mailinator.com.
- oricine poate intra sa citeasca mail-ul fara parola inscrieri sau alte prostii
- mail-ul se pastreaza o perioada limitata, cateva zile, nu mai stiu exact cat

La ce foloseste? E ideal pentru site-uri care cer sa te inregistrezi si iti trimit confirmare prin e-mail dar la care nu ai chef sa le dai adresa ta. De exemplu la Atmel cand vrei sa download-ezi AVRStudio. Le dai ca e-mail orice adresa iti trece prin cap, de exemplu miaubauhau1900noaptea@mailinator.com pe urma intri la http://miaubauhau190....mailinator.com si acolo iti gasesti mail-ul de confirmare pe care il poti citi tu sau oricine altcineva care se duce la adresa aia.

#5 OFFLINE   ole

ole

    Membru

  • Membri
  • PipPip
  • 341 posts

Posted 26 November 2010 - 08:35 PM

Am mai scris ceva ceva in tutorial. Astept pareri.

#6 OFFLINE   diablero

diablero

    Nou venit

  • Membri
  • Pip
  • 98 posts
  • Locatie:Bucuresti

Posted 01 December 2010 - 01:22 PM

Am citit tutorialul tau (oarecum in viteza, deci putin superficial) dar cred ca este o idee buna si este bine scris (deocamdata eu vreau doar sa te laud si sa te incurajez). Am sa ma gandesc cu ce poate fi completat si am sa mai intervin (intotdeauna este loc de mai bine). Oricum, felicitari pentru munca depusa!

#7 OFFLINE   ole

ole

    Membru

  • Membri
  • PipPip
  • 341 posts

Posted 27 February 2011 - 12:57 PM

Sunt in pana de idei pentru teme legate de Timere si PWM. Rog pe cineva mai inspirat ca mine sa ma ajute :nebunrau:
Astept sugestii de teme pe MP.

#8 OFFLINE   alex75

alex75

    Nou venit

  • Membri
  • Pip
  • 23 posts

Posted 18 March 2011 - 01:26 PM

Multumim pt efortul depus la crearea acestui tutorial.

#9 OFFLINE   severika

severika

    Nou venit

  • Membri
  • Pip
  • 29 posts
  • Locatie:BUCURESTI

Posted 20 April 2011 - 03:09 PM

Te rugam sa nu mai folosesti diacritice in text, nu merg pe toate calculatoarele, si sunt inutile oricum.

#10 OFFLINE   ole

ole

    Membru

  • Membri
  • PipPip
  • 341 posts

Posted 20 April 2011 - 04:25 PM

Textul a fost scris folosind Office 2003 si este citit corect si de versiunile mai noi de Office. Am folosit diacritice fiindca mi se pare ca adauga o nota de profesionalism si e ceva mai usor la citit. E drept ca de cand cu messenger este tot una ca e scris cu sau fara diacritice. Limba romana le are si am vrut sa scriu corect.

Numai de curiozitate: cu ce versiune de Office ai deschis si nu ti-a afisat corect?

#11 OFFLINE   geoil

geoil

    Nou venit

  • Membri
  • Pip
  • 16 posts

Posted 31 May 2011 - 11:28 PM

Nu stiu cui adresezi tu tutorialul insa nu incepatorilor. Este scris intr-un mod greoi si exprimarea este cam din topor. In primul rand pentru lucrul cu microcontrolere trebuie sa ai macar notiuni despre componentele electronice altfel nu ai nici o sansa. Banuiesc ca nu se adreseaza unor astfel de incepatori. deci trecem este considerand ca cei care se apuca de lucrul cu microcontrolere cunosc ce-i acela o rezistenta, un condensator, o dioda, etc...Astfel ca eliminam partea cu "daca nu ati mai folosit un letcon". In primul rand pentru un incepator intr-ale microcontrolerelor trebuie sa-i expui modul in care sa gandeasca...adica indiferent ca este vorba de programare intr-un limaj de asamblare sau C, indiferent ca este vorba despre un simplu software pentru PC sau unul pentru microcontrolere totul incepe de la schema-bloc sau diagrama logica a lucrului pe care doresti sa-l faca microcontrolerul. Banuiesc ca atunci cand concepi un program, indiferent de complexitatea lui pui mai intai pe hartie o schema-bloc, nu?

Intr-o alta ordine de idei cred ca trebuia sa le expui mai intai ce-i acela un pin si ce face el sau macar link-uri catre astfel de documente care se gasesc din plin pe internet. Daca cei carora le adresezi tutorialul nu stiu ce-i acela un microcontroler si cu ce se mananca nu vor reusi prea multe. vor ramane cu ideea ca este un alt gandac electronic cu multe picioare.

Pe de alta parte parerea mea este ca atunci cand incepi un tutorial despre un microcontroler mai ales unor incepatori trebuie sa le expui mai intai modul de realizare al programului in limbaj de asamblare. Mai apoi poti trece la C. Sau mai bine le poti face pe amandoua in paralel. Dar nu doar in C. Eu am cunostinte aprofundate despre microcontrolere si am lucrat foarte mult cu ele dar asa ca mi-a venit usor sa inteleg ce ai vrut de fapt sa spui acolo. Ca de alt fel si celor care ti-au scris mesaje mai inainte care-ti multumeau pentru tutorial, insa pentru cineva care vede asa ceva pentru prima oara este "chineza" si nu va intelege nimic de acolo.

Undeva in partea a 4-a ai ajuns deja la PWM. Foarte repede ai ajuns acolo. Cred ca aici trebuia sa ajungi mai tarziu. In locul tau bagam niste exemple in care aratam modul in care se implementeaza cateva functii simple ale unor porti logice: un exemplu de SAU logic intre semnalele de la doi pini la care legam 2 butoane, sau un SI logic atunci cand apasam 2 butoane, modul in care sa supraveghezi un pin printr-o rutina simpla si ce actiune iei atunci cand acel pin schimba starea si mai apoi sa tratezi intreruperile. Cate intreruperi are un procesor? Da cati pini? Trebuia sa bagi niste exemple simple de apasare a butonului si incrementare a aprinderii unor leduri. Si exemplelele pot continua.

Nu vreau sa par prea acid sau ingamfat sau ca as vrea sa dau lectii. Eu unul consider ca este complicat si este nevoie de curaj si timp sa faci ceea ce faci tu, dar nu este usor sa faci un tutorial si mai ales pentru incepatori. Cred ca ai vointa, dar eu unul cred ca ai inceput tutorialul gresit. Nu cred ca cineva te-ar fi condamnat daca te inspirai si din alte lucrari. Nu de alta dar n-ar fi avut de ce, esti singurul care incearca sa faca ceva.

Spor la treaba si multa bafta!

#12 OFFLINE   ole

ole

    Membru

  • Membri
  • PipPip
  • 341 posts

Posted 31 May 2011 - 11:41 PM

Multumesc pt timpul acordat citirii tentativei de tutorial. Stiu ca am luat-o foarte pe scurtatura si ca am presupus multe. Insa a fost un fel de improvizatie pentru ca colegii mei sa poata avea un prim contact cu acest "gandac cu picioare".
Timpul consumat pentru a scris asa ceva este intradevar o problema motiv pentru care se poate observa ca este tot versiunea din februarie (lipsa de timp pentru a continua).
Legat de partea cu lectonul... facultatea in ziua de azi din ce am observat se bazeaza 90% pe teorie. Astfel, poti sa stii ce-i aia rezistenta, condensator, bobina, tranzistor, led, dar sa nu stii sa lipesti.
Eu am cerut pareri pe parcurs despre cum e structurat si restul aspectelor si colegii au zis ca e ok...

Am avut de la inceput dubii in ceea ce priveste incercarea mea de a face asa ceva. Acum m-am lamurit ca nu sunt omul potrivit din mai multe considerente.
Consider proiectul incheiat.

Multumesc inca o data pentru timpul acordat pt a citi si apoi pentru a-mi scrie. Daca ar fi mai multi ca tine poate ca s-ar invata mai usor.

#13 OFFLINE   diablero

diablero

    Nou venit

  • Membri
  • Pip
  • 98 posts
  • Locatie:Bucuresti

Posted 01 June 2011 - 10:40 AM

Nu trebuie sa te demobilizezi, asa cum spune si ultimul coleg, este de admirat faptul ca ai incercat sa faci ceva. Orice carte insa, se adreseaza de la inceput unei (sau unor) categorii bine definite de cititori. Daca te adresezi incepatorilor, trebuie sa "pornesti mai de departe", iar daca te adresezi unor utilizatori mai experimentati, poti considera anumite elemente gata cunoscute (nu este o critica, este doar un sfat, sau o observatie generala). Oricum, respect pentru efort!

#14 OFFLINE   ole

ole

    Membru

  • Membri
  • PipPip
  • 341 posts

Posted 01 June 2011 - 11:53 AM

Nu trebuie sa te demobilizezi, asa cum spune si ultimul coleg, este de admirat faptul ca ai incercat sa faci ceva. Orice carte insa, se adreseaza de la inceput unei (sau unor) categorii bine definite de cititori. Daca te adresezi incepatorilor, trebuie sa "pornesti mai de departe", iar daca te adresezi unor utilizatori mai experimentati, poti considera anumite elemente gata cunoscute (nu este o critica, este doar un sfat, sau o observatie generala). Oricum, respect pentru efort!


Ma asteptam sa primesc un astfel de raspuns. Nu e vorba neaparat ca ma demobilizez dar nici timpul nu-mi prea permite sa continui. In limita timpului am sa incerc sa continui cu celelalte interfete ca sa stie lumea cam de ce este capabil un Mega8.

Cu_reclama

Cu_reclama
  • Membri

#15 OFFLINE   pusu

pusu

    Membru

  • Membri
  • PipPip
  • 518 posts
  • Locatie:Zalau

Posted 11 June 2011 - 08:42 AM

Am avut de la inceput dubii in ceea ce priveste incercarea mea de a face asa ceva. Acum m-am lamurit ca nu sunt omul potrivit din mai multe considerente.
Consider proiectul incheiat.


Eu zic ca trebuie sa continui.
Criticile anterioare probabil nu tin cont de faptul ca orice carte exceleaza la 1-2 capitole, care sunt restul sunt tratate mai superficial. Din aceasta cauza sunt necesare in biblioteca mai multe carti ce trateaza acelasi subiect. Daca acest tip de critici ar fi luate in seama, n-ar mai publica nimeni nimic.
Este de apreciat efortul depus de tine!




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users