Portachiavi POV
Questo progetto, la mia prima esperienza in smd, è un portachiavi che se agitato in aria fa apparire un messaggio. Utilizza il fenomeno della persistenza della visione (POV – Persistence Of Vision – su wikipedia maggiori informazioni su questo fenomeno)
Per farvi capire meglio di cosa parlo, qui di seguito ho realizzato velocemente un video per illustrarne il funzionamento:
Non tenete conto degli sfarfallii visibili nel video: ad occhio nudo si vede benissimo e l’immagine è molto stabile.
Il circuito utilizza un PIC16F1827 e il codice è scritto in Hitech-C. Il messaggio viene mostrato grazie a 8 led (in formato SMD 0805) collegati sulla PORTB. Il tutto è alimentato tramite una batteria a bottone tipo CR2032 alloggiata in un portabatterie sul retro del circuito:
Come avete visto nel video bisogna muovere il circuito con un movimento destra/sinistra per poter visualizzare il messaggio. Per fare in modo che le scritte vengano visualizzate correttamente, quindi, è necessario rilevare la direzione del movimento. Per fare questo ho utilizzato un semplice sensore di tilt a sfera (va bene anche questo). Muovendo il sensore in una direzione, la sfera chiude un contatto, muovendo il sensore nella direzione opposta, la sfera si allontana e il contatto si apre. Rilevando l’apertura/chiusura del contatto posso capire in che direzione il circuito si sta muovendo e quindi eseguire la scansione del led normalmente o a specchio per fare in modo da visualizzare sempre il messaggio dritto.
Quindi: non va assolutamente bene un sensore di tilt a molla del tipo che abbiamo già visto qui.
Sulla scheda sono presenti due pulsanti: il reset e un altro per entrare nella modalità POV. Il circuito difatti è sempre alimentato e va in modalità sleep quando non utilizzato per evitare di consumare la batteria. Appena viene premuto il pulsante di reset il pic esce dalla modalità sleep e fa alcuni effetti con i led, se entro un certo tempo non viene premuto il secondo pulsante, ritorna in sleep.
Il codice è scritto per utilizzare l’oscillatore interno a 32MHz, è comunque consigliabile provare ad abbassare la frequenza in maniera da ottenere un minor consumo della batteria. Per cambiare il messaggio da visualizzare basta cambiare le stringhe messaggio1 e messaggio2.
Nel download sono inclusi il sorgente in formato Eagle, il sorgente in C, il progetto MPLAB, il file HEX già compilato e un PDF già pronto per la stampa del master.
Download