Ioana ANDRONESCU - Trolly, prietenul studenților

Pot fi contactată la adresa: Login pentru adresa

Introducere

Se spune că râsul este benefic, diminuând stările de stres și oboseală. Trolly a fost creat pentru a aduce zâmbetul pe buzele studenților stresați pentru care timpul pare prea crud. Aceștia nu numai că vor avea mai mult randament, dar vor avea și un prieten care le va fi alături, spunându-le bancuri și cântând cântecul lor preferat - Trololo. Astfel, deadline-urile vor părea că trec mai repede și mai ușor.

Descriere generală

Hardware-ul conține:

  • placuţa de bază care are atașate:
    • microprocesorul ATmega324a
    • butoane și led-uri
  • cablajul cu soclul SD
  • cablajul cu difuzorul și amplificatorul LM386

Schema bloc este următoarea:

Software-ul permite:

  • citirea de pe cardul SD a cântecului a bancurilor
  • trecerea de la o stare la alta (cântec-banc, banc-râs, cântec-râs, banc-banc etc.)

Detalii legate de conectarea și funcționarea componentelor folosite:

Microprocesorul interconectează părțile de bază ale proiectului, după cum se poate observa și din schema de mai sus. Comunicarea acestuia cu cardul SD se realizează prin standardul Serial Peripheral Interface Bus (SPI). Cântecul și bancurile (de peste 1 minut) salvate pe cardul SD sunt în format WAV, fiind convertite la o rată de 22050Hz și 8 biți pe eșantion, MONO. Fișierele cu râs le-am convertit la o rată de 11025Hz și tot 8 biți pe eșantion. Pentru a le reda corect trebuie să avem un timer care să genereze o întrerupere. În fiecare întrerupere trebuie să citim un sample din fisier (un octet) și să-l punem pe ieșirea unui al doilea timer care a fost configurat în modul PWM cu rezoluția de 8 biți.

Fișierele vor fi redate cu ajutorul unui difuzor conectat la pinul OC1A al microprocesorului.

Alimentarea plăcuței se va realiza prin cablul USB.

Studentul va putea interacționa cu jucăria de pluș prin intermediul a 3 butoane conectate la Port A de pe plăcuta de bază. La apăsarea unuia dintre butoane, cele 2 led-uri se vor aprinde. Trecerea de la o stare la alta (cântec-banc, banc-râs, cântec-râs etc.) se va face prin apăsarea butonului ce corespunde stării respective și se va sesiza prin faptul că cele 2 led-uri vor clipoci.

  • Butonul 1: redă cântecul Trololo
  • Butonul 2: redă un banc
  • Butonul 3: redă râsul

Hardware Design

Listă componente

Componentele pentru etapa 1 sunt cele care apar în listă.

Componente pentru etapa 2:

  • Butoane și led-uri:
Denumire Cantitate
PUSH BUTON KRS1243 3
Rezistențe butoane, 10K 3
Led-uri roșii 5 mm 2
Rezistențe led-uri 560 ohmi 2
  • Cablaj cu soclu SD:
Denumire Cantitate
Soclu SD 1
Diode 1N4007 2
Rezistențe, 1K6 3
Rezistențe, 3K3 3
  • Cablaj difuzor:
Denumire Cantitate
Difuzor, 32 ohmi 1
Amplificator audio LM386 1
Condensator electrolitic 330MF 1
Condensator ceramic 47NF 1
Condensator electrolitic 100uF 1
Rezistență, 10 ohmi 1

Scheme folosite pentru realizarea proiectului

1. Schema pentru plăcuța de bază:

2. Schema pentru montajul difuzorului:

3. Schema pentru montajul soclului SD:

4. Schema pentru butoane și led-uri:

Rezultate obținute după conectarea componentelor

1. Montaj pentru SD

2. Montaj pentru difuzor

3. Montaj final

Software Design

Codul aplicației conține următoarele fișiere:

  • main.c: fișierul de bază
  • mmc.c: fișierul care conține funcțiile pentru SPI (comunicarea cu cardul SD)
  • pff.c: fișierul care conține funcțiile pentru sistemul de fișiere FAT
  • mmc.h: fişierul hearder asociat mmc.c
  • pff.h: fişierul header asociat pff.c
  • diskio.h: fişierul header asociat main.c
  • integer.h: fişierul header pentru definiţiile folosite de FAT

În fişierul mmc.c sunt implementate funcţii care vor face comunicarea efectivă cu cardul SD. Setăm pinii pentru intrare şi iesire conform cu funcţia pe care o îndeplineşte microcontrollerul, şi anume de master, iar cardul SD pe cea de slave.

Fişierul sursă main.c main.c cuprinde funcţiile ce vor apela mmc.c si pff.c. Aici se detectează dacă s-a apăsat un buton şi modul în care se reacţionează la apăsarea acestuia.

Ca mediu de dezvoltare am folosit AVR Studio şi WinAVR.

Rezultate Obţinute

Concluzii

A fost un proiect din care am avut foarte multe lucruri de învățat. Cu toate că am petrecut mult timp lipind, acesta mi s-a părut cea mai interesantă parte. Cel mai nasol a fost că se tot dezlipeau firele (dacă aveți multe fire, nu folosiți din cele de la cablul UTP pentru că sunt mult prea “băţoase”). Apoi, pinii soclului pentru cardul SD au fost incredibil de fini şi s-au rupt, aşa că a fost nevoie să iau alt soclu.

Per ansamblu totul a fost ok, iar proiectul îndeplineşte toate ideile propuse.

Download

Jurnal

  • martie 2013: lipirea componentelor pe plăcuța de bază
  • aprilie-mai 2013: căutarea componentelor necesare
  • mai 2013 (sâmbătă, săptămâna a 13-a):
    • lipirea componentelor pe plăcuța cu difuzorul și conectarea ei la plăcuța de bază
    • lipirea butoanelor pe plăcuța de bază
  • mai 2013 (luni, săptămâna a 14-a):
    • lipirea componentelor pe plăcuța cu soclul SD și conectarea ei la plăcuța de bază
    • lipirea LED-urilor pe plăcuța de bază
  • mai 2013 (miercuri, săptămâna a 14-a):
    • probleme cu soclul SD (s-au rupt câțiva pini, se pare că erau nu numai fragili, ci și proști) și făcut rost de soclu nou
    • scris cod
  • mai 2013 (joi, săptămâna a 14-a):
    • încă scris cod
    • căutarea unor bancuri pe net și melodii și încercarea de a le converti la o lățime de bandă potrivită

Bibliografie/Resurse

pm/prj2013/amocanu/trolly.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