Proiectul determina pozitia pe glob a utilizatorului, calculeaza distanta pe care o acesta o parcurge, si ii indica directia generala pe care ar trebui s-o urmeze pentru a ajunge la anumite coordonate. Ideea a venit de la receptoarele GPS comerciale, care prezinta aceste functii (pe langa multe altele). El poate fi folosit in diferite moduri, de exemplu pentru calcularea lungimii unui traseu, pentru a masura usor o distanta lunga (>100), si pentru navigatia simpla. Deoarece produsul nu detecteaza obstacole si nu urmareste drumuri, el poate fi folosit doar in aplicatii de genul aviatie de agrement (se seteaza coordonatele aeroportului de destiantie, si apoi se urmareste directia), navigatie pe suprafete acvatice de forma convexa, sau pentru deplasare off-road (“pe aratura”).
Proiectul foloseste un modul GPS (si o antena activa pentru acesta), pentru a capta semnalul de pozitionare globala transmis de sateliti, precum si cel de calibrarea transmis de statiile terestre. Deoarece modulul GPS si antena functioneaza la 3V, am folosit un translator de nivel ajustabil (MAX3002) pentru a ma asigura de functionarea corecta a modulului. Comunicatia cu GPS-ul se face serial, prin protocul NMEA. Modulul se conecteaza deci pe portul D al microcontrolerului.
Datele de la GPS, cele calculate de AVR, precum si un indicator grafic al directiei se face pe un LCD grafic de Nokia 3310. Si pentru acesta a fost nevoie de un translator de nivel (efectiv aceeasi componenta, MAX3002 avand 8 canale la dispozitie). Comunicatia se face prin SPI, pe portul B al microcontrolerului.
Pentru input-ul utilizatorului (pentru functia dorita si pentru indicarea coordonatei finale), se foloseste o tastatura matriciala cu 16 taste. Aceasta e legata la portul C
Utilizatorul alimenteaza schema, se deplaseaza intr-o zona exterioara unei cladiri (masina, vapor, avion, sub cerul liber) asteapta aprox 40 de sec pentru initializarea GPS-ului, care ii arata pozitia curenta. Apoi, cu ajutorul butoanelor A-E selecteaza functia dorita (A-functionare normala, B- calcul lungime traseu, C-calcul distanta in linie dreapta de la punctul in care s-a apasat B, D-introducere coordonate, E-afisare directie pana la coord introduse la D).
Componente hardware folosite:
Am obtinut produsul hardware urmator:
Am avut dificultati in realizarea hardware datorita componentelor SMD pe care am fost nevoit sa le folosesc (GPS, MAX3002, conector coaxial). Aceasta, impreuna cu realizarea schemei in Eagle si imprimarea propriu-zisa, mi-a ocupat foarte mult timp. Cel mai greu de lipit totusi a fost LCD-ul de Nokia. Din aceasta cauza nu am avut timp suficient sa implementez complet partea software.
Am avut de ales intre 2 varianta: sa cumpar componente scumpe, DIP, care se lipesc usor, sau componente SMD mai iefitine si mai greu de lipit. Din motive pecuniare, am fost nevoit sa aleg varianta a 2-a. Aceasta alegere nu s-a dovedit foarte inspirata, avand in vedere numarul de mare de zile pe care a trebuit sa le aloc exclusiv proiectarii si lipirii placutei. Un sfat pentru viitori studenti: Verificati atent preturile, precum si posibilitatile de lipire ale componentelor necesara inainte de a alege proiectul. Daca nu aveti experienta in lipit, nu alegeti circuite integrate SIMD (rezistentele si capacitatile SMD se pot lipi relativ usor, insa pentru diferitele modele SMD de circuite integrate, cel mai adesea este foarte greu).
Desi as fi dorit sa duc la bun sfarsit acest proiect, din motivele aratate mai sus am fost nevoit sa abandonez implemntarea completa a firmware-ului.
O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună .
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.
Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.