PCMDPOH

Proiect Care Masoara Distanta Pe O Harta

Introducere

Scenariu: Vrei sa pleci intr-o drumetie si nu cunosti lungimea traseului. Drumul pe care il vei parcurge nu este format din linii frante si este greu de masurat cu rigla. Necesitate: Ai nevoie de o modalitate de a masura lungimea unui traseu curbiliniu, complex. Ar fi util si daca ai cunoaste scara hartii pentru a evita eventualele calcule. Prerequisites: O harta :)

Descriere generala

Proiectul contine, pe langa placuta realizata la Placutiada:

  • LCD, pentru afisarea distantelor
  • ADAPTOR PS/2 - microcontroller, pentru conectarea unui mouse PS/2 direct la microcontroller
  • MOUSE PS/2

Functionalitatea ansamblului:

Pentru o functionare corecta, ansamblul trebuie sa cunoasca atat scara hartii, cat si drumul parcurs. Astfel, pasii de functionare sunt urmatorii:

  • Se tine apasat click dreapta si se masoara scara hartii.
  • Se tine apasat click stanga si se masoara drumul parcurs pe harta. Valoarea afisata pe LCD este corelata cu valoarea scarii.

Hardware Design

Interfatarea LCD-ului la microcontroller se face conform schemei din imagine:

Aceasta conexiune permite folosirea unui singur port pentru LCD si foloseste API-ul prezentat in scheletul de laborator.

Interfatarea Mouse-ului la microcontroller se face conform schemei din imagine:

Protocolul PS/2 este similar cu RJ232 si este prezentat la [1]. Mouse-ul PS/2 este alimentat la 5V (Vcc-ul microcontrollerului).

Software Design

Codul a fost scris pornind de la doua surse de inspiratie:

  1. Protocolul PS/2 explicat la [2].
  2. Api-ul LCD-ului oferit in laboratorul de PM [3]

Note:

  • Nu s-au folosit intreruperi pentru ca se face pooling doar pe un port.
  • Protocolul PS/2 presupune transmiterea unui pachet format din trei frame-uri RS232.
  • Offseturile pe oX si oY sunt in 2's complement.
  • Rezolutia comuna a unui mouse este de 600 DPI. Tinand cont de miscarea relativ inceata a mouseului (din cauza necesitatii unei precizii mari) distanta parcursa intre doua samplinguri va fi mica, deci nu este nevoie sa se faca interpolare (i.e. se transforma traseul complex intr-o linie franta)

Surse

Bibliografie/Resurse

[1] ps2protocol

[2] ps2mouse

[3] lab1

pm/prj2011/amocanu/pcmdpoh.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