Adela STAN (78409) - Adelmega336CA

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul are urmatoarele functionalitati:

  • conectarea prin bluetooth la un dispozitiv cu Android (telefon)
  • aplicatia instalata pe telefon va putea trimite anumite comenzi prin bluetooth
  • pe baza comenzilor primite, placuta va raspunde cu ajutorul unor fisiere audio

Comenzile vor contine detalii legate de:

  1. timp: telefonul trimite prin bluetooth placutei ora curenta; placuta va da play unor fisiere audio de tip wav, astfel incat sa citeasca aceasta ora
  2. data: asemanator, placuta va citi data curenta
  3. vreme: asemanator, placuta va citi temperatura minima, respectiv maxima, pentru ziua curenta

Am ales sa fac acest proiect deoarece mi se pare interesanta si de actualitate integrarea cu alte dispozitive mobile.

Adelmega336CA este nu numai un ceas/calendar, ci si o modalitate rapida de a afla cum va fi vremea in locatia curenta peste cateva ore.

Descriere generală

Descriere:

  • Android phone: telefonul pe care este instalata aplicatia pentru proiect; acesta are locatia, dar si bluetooth-ul activat
  • Bluetooth module: modulul de bluetooth 4.0 cu adaptor (compatibil 3.3V si 5V) folosit pentru primirea datelor de la telefon
  • Micro SD card: cardul pe care vor fi stocate fisierele .wav
  • Buzzer: buzzer pasiv, folosit pentru a auzi raspunsul placutei

Hardware Design

Piese achizitionate:

  • toate piesele de baza sugerate
  • fire mama-tata si tata-tata
  • breadboard
  • tranzistor NPN 2n2222 TO-92
  • buzzer pasiv: Folosit la redarea fisierelor audio

  • card micro sd 8gb class4: Folosit la stocarea fisierelor audio

  • modul bluetooth 4.0 cu adaptor: Folosit pentru receptionarea comenzilor; de asemenea, a fost folosit pentru debug - afisarea mesajelor de eroare

  • modul slot card micro SD: Folosit pentru stocarea fisierelor .wav ce sunt redate cu ajutorul buzzerului

Schema electrica:

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare: Atmel Studio 7.0
  • librării şi surse 3rd-party: pff.h, sd.h, usart.h, spi.h - din laboratorul 4, solutii publice; aplicatia Serial Bluetooth Terminal 1.14 pentru Android - singura aplicatie mobila pe care am putut-o folosi pentru comunicarea prin bluetooth cu placuta (intrucat este vorba despre un bluetooth LE)
  • algoritmi şi structuri necesare: dupa incarcarea aplicatiei pe placa, aceasta va astepta o comanda prin bluetooth; dupa primirea unei comenzi, aceasta va fi parsata dupa cum urmeaza - delimitatorul va fi considerat caracterul ”:”; o comanda va fi de forma: “c:ff:ff”, unde:
    • c - tipul comenzii; poate avea valorile:
      • t - time
      • d - date
      • w - weather
    • ff - nume fisier; se vor transmite cate doua fisiere pentru fiecare tip de comanda, dupa cum urmeaza:
      • t - primul fisier va fi ora (de exemplu: daca primim 13, inseamna ca este ora 13, asa ca se va da play fisierului 13.wav, apoi fisierului care citeste “hours”); al doilea fisier va reprezenta minutele (se va citi numarul primit .wav, apoi fisierul care citeste “minutes”) - exemplu: t:13:32 ⇒ “13 hours 32 minutes”
      • d - primul fisier va fi ziua din luna; al doilea va fi luna din an - exemplu: d:23:may ⇒ “23 of May”
      • w - primul fisier va fi temperatura minima; al doilea fisier va fi temperatura maxima - exemplu: w:23:27 ⇒ “23 degrees maximum 27 degrees minimum”
  • surse şi funcţii implementate -ideea softului este urmatoarea:
    • initializarea usart si setarea tuturor pinilor de iesire folositi
    • asteptarea unei comenzi prin bluetooth
    • parsarea acesteia dupa algoritmul de mai sus
    • asteptarea unei noi comenzi, etc

Rezultate Obţinute

Am testat fiecare componenta in parte, acestea functionand cu succes: pot produce sunete cu ajutorul buzzerului, pot citi fisierele de pe microsd si pot transmite si primi date via bluetooth. Datorita unor probleme la recunoasterea bluetoothului de catre dispozitivele android (poate fi vizibil doar prin intermediul unor aplicatii de comunicare cu ble devices), nu am putut transmite comenzile vocale, asa cum mi-am propus initial. Acestea pot fi transmise insa sub format text.

Aspectul final al proiectului:

Concluzii

A fost primul proiect de acest gen realizat de mine. Overall, experienta a fost interesanta, intrucat am invatat ce presupune implementarea partii de hardware si lucrul cu o placuta, insa si frustranta, din cauza debuggingului uneori greoi sau neintuitiv.

Download

Bibliografie/Resurse

pm/prj2018/dghilinta/adelastan.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