Introducere

Acest proiect isi propune sa creeze un Analizator Spectral folosind ATMega16 si un ecran LCD NOKIA 3310 (PCD8544). Ideea a pornit atunci cand am vazut urmatorul articol vestimentar [1]. Proiectul este unul de actualitate si care prezinta interes.

Descriere generală

Sunetul este preluat de la placa de sunet printr-un jack de 3.5mm stereo ce este conectat direct la microcontroller-ul Atmega16 prin intermediul unui pin al ADC-ului (in proiect s-a ales PA0). Conexiunea intre placa de sunet si placuța de extensie se face printr-un cablu cu doua mufe tata de 3.5 mm.

Pentru afisare se foloseste un display LCD Nokia 3310 controlat de Philips PCD8544 controller/driver [2]. Cei opt pini ai display-ului sunt conectati la Microcontroller conform schemei [3], fiind folositi pini de tipul PCn.

Montajul este alimentat de la placa de baza, realizata in etapa 1 a proiectului [4], cu 5V. Tensiune este coborata folosind 4 diode legate in serie conform schemei. Pentru transformarea din analog in digital se foloseste convertorul integrat al Atmega16 (precizie 10 biti).

Detalii despre implementarea software pot fi gasite la sectiune Software, iar sursele sunt disponibile la sectiunea Resurse. La Bibliografie pot fi gasite materiale foarte utile in realizarea proiectului si anume:

  1. un driver pentru LCD-ul de Nokia 3310 de la Quantum Torque[2].
  2. cod scris in assembler si optimizat pentru MegaAVRs pentru calculul FFT (Fast Fourier Transformation), de pe site-ul ”The Electronic Lives Manufacturing” [7]

Conectarea componetelor se va face dupa urmatoarea schema bloc:

Hardware Design

Componente hardware:

Pe langa componentele necesare realizarii placii de baza(etapa 1), au mai fost achizitionate urmatoarele componente:

1. LCD Nokia 3310 cumparat de la un service GSM din Piata Romana la pretul de 15 RON

2. 5 rezistente 3.3k

3. 5 rezistente 1.8k

4. 1 condensator 1uF/100V

5. Placa test 50×100

6. Cablu plat 10 Fire 1m

7. Pin Header 1×40

8. Bareta

9. Jack audio stero 3.5mm

Componentele au fost cumparate de la:

Conex .

Schema de baza:

Schema LCD:

Software Design

   Limbaj de programare: C
   Mediu de dezvoltare si compilare: WinAVR Programmers Notepad

Etapa de software design a presupus cea mai complicata parte pentru ca oricand pot aparea probleme si de accea este bine sa fie facuta din timp si testata corespunzator. Arhiva cu sursele se gaseste la sectiunea download Download si contine urmatoarele:

- ffft.h ffft.S si fftest.c Fisiere pentru obtinerea transformatei fourier. Acest cod este scris in limbaj de asamblare si optimizat pentru folosire cu ATmega16. Sursele au fost preluate de pe site-ul Elm-chan si nu s-au realizat modificari asupra lor.

- lcd.c, lcd.h Driver pentru Nokia 3310 preluat de pe Quantum Torque si modificat acolo unde a fost necesar (s-a adaugat o functie pentru desenarea unui punct, functie pentru desenarea unei linii in functie de parametrii obtinuti prin transformata fourier si setarea pinilor folositi de ATmega16 si anume PC1-5).

- main.c Functia main care face legatura intre aceste module :

  1. a fost configurat convertorul analog digital de la ATmega16 care sa asculte pe PA0
  2. au fost folosite structuri suplimentare precum buffer, complex_buffer si result pentru a furniza si pentru a prelua datele procesate FFT.
  3. se face si afisarea rezultatelor prin configurarea LCD-ului si apelarea functiei draw_bar() ce primeste ca parametrii: coordonata x, inaltime (rezultat FFT), coordonata y si culoarea (1 - negru; 0 - alb ↔ echivalenta cu stergerea). La orice moment de timp “scena” este redesenata

Rezultate Obţinute

Etapa 1

Etapa 1 a presupus realizarea placii de baza. Traseele au fost obtinute prin corodare in cadrul sesiunii organizate la facultate (pentru detalii a se vedea Jurnalul). Schema dupa care s-au realizat lipiturile poate fi gasita la [5] precum si un tutorial util de lipit [6].

Obs: Modulul de Memory card nu a fost adaugat deoarece in cadrul proiectului actual nu a fost necesar, insa pe viitor poate fi adaugat.

Fig 1: Placuta de baza vedere fata

Fig 2: Placuta de baza vedere spate

Etapa 2

In etapa a 2-a s-a realizat circuitul pentru conectare LCD Nokia3310 la ATmega16 si a intrarii audio conform schemei de mai sus. Tot in aceasta etapa s-a scris si softul pentru interfatare. Obs: In a doua etapa de lipire a pieselor trebuie avuta atentie la aranjarea pieselor pentru interconectarea celor 8 pini ai LCD-ului. Modelul obtinut este unul compact, usor detasabil ce permite folosirea si pe alte placute

Fig 3: Placa de Extensie: Circuit pentru interfatare LCD - ATmega16, Intrare Audio

Fig4: Placa de baza + Extensie

Varianta finala a softului se gaseste la sectiune Download Download si contine arhiva cu sursele necesare, fisierul hex si cu un Makefile asociat.

Fig 5. Testare 1 Scriere text si simboluri pe LCD :D

Fig 6 Test 2

Concluzii

Proiectul a fost unul interesant ce merita incercat deoarece implica aplicarea cunostiintelor dobandite la laboratorul de Proiectarea Microprocesoarelor (interfatare LCD, folosire convertor analog-digital integrat in ATmega16) si este interactiv. In acelasi timp, este un proiect complex caruia trebuie sa ii acorzi timp pentru ca probleme pot aparea oricand.

Cei inetesati de aceasta lucrare ma pot contacta la adresa dragos.diosteanu@cti.pub.ro

Download

Jurnal

13 Martie – Sesiunea de corodat/gaurit/imprimat PCB

Poze Placutze 2010

15-21 Martie – Procurare piese placa de baza

19 martie - 21 martie – Realizare placa de baza

22 martie 2010 - pus bootloader si program de test pe placuta → terminat faza 1

5 aprilie - 12 aprilie – Documentare si alegerea proiectului pentru Etapa 2

20,22 aprilie – Discutie cu asistentul de proiect

10 mai – Procurare Partea a doua de piese

11 mai – Incepere lipire piese. Realizarea conexiunilor cu LCD-ul a constituit o parte destul de dificila datorita lipiturilor foarte fine ce trebuia facute. Aceasta problema a fost rezolvata in cadrul orelor de proiect cu ajutorul asistentului.

16 mai – Finalizare lipire piese

17-19 mai – Research documentatie si incepere scriere cod

22 mai – Realizare wiki (Part 1)

27 mai – Realizare wiki (Part 2)

1 iun – Probleme la testare software pentru ca placa nu este recunoscuta pe calculatorul de acasa

3 iun – Problema era de la Windows7. Am decis sa o testez la facultate si la un coleg. Rezultatele pot fi vazute mai sus. LCD-ul a fost conectat corect si poate fi scris text pe acesta. Mai trebuie realizata functia de desenare linii pentru spectru.

Bibliografie/Resurse/Link-uri

pm/prj2010/dtudose/egalizator.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0