SuperCar 

Identificazione progetto

progetto 3

autore

email

note

Supercar al PORTB

Alessandro Calzavara

eyescream@gmail.com

Effetto luci sul byte di LEd montati  di default sulla Micro-GT mini

Premessa

Questo e' il mio primo programma percui come tutti inizio con un semplice gioco di luci. Questo "Hello World" della programmazione dei PIC e' una pietra miliare e una tappa obbligata per tutti i neofiti.

Per non essere troppo banale implemento due effetti luminosi impostabili dallo stato di un bit al pin RA0.

Schema elettrico con descrizione


Download schema elettrico

Figura 1

Nello schema elettrico di figura 1, integrato nella Micro-GT, notiamo la presenza di un ponte resistivo a 8 vie con il primo piedino che corrisponde al comune. Se dovesse mancarvi il ponte per irreperibilita' e' possibile montare delle resistenze da 1/4 di watt in posizione verticale e creando poi con reofori e saldature il ritorno comune come visibile nella foto.

Figura 2

La freccia rossa indica la posizione nel PC della rete resistiva simulata con otto resistenze il cui comune e' creato in fili saldato oppure usando i pezzi dei reofori di avanzo.  Il comune e' in questo caso l'ultimo foro a destra, quello piu' vicino al margine del PCB.

I valori resistivi dipenderanno dal tipo di LED montati, ma teniamo presente che la porta del PIC 16F876 non sopporta piu' di 25mA e che la tensione applicata a livello logico alto e' TTL ovvero +5V.

Tipicamente, con dei LED di nuova fattura sara' sufficiente lasciare passare circa 1 o 2 milliampere.  Ogni valore compreso tra 220ohm e 1kohm sara' accettabile e cambiera' al massimo la luminosita' dei LED stessi. Il calcolo corretto si fa togliendo il valore V-gamma del led impiegato quando in conduzione, dalla tensione TTL presente all'uscita del PIC diviso il valore in milliampere consigliato dal databook del led che intenderemo usare.

Questa formula mi restituira' il valore in ohm di ogni singola resistenza da impiegare nella rete resisteva che andiamo a costruire.

Circuito stampato descrizione

Lo stampato e' semplicemente quello della Micro-GT mini che potete avere semplicemente aprendo con Eagle i file Eagle che ottenete scaricando il file scheletro da cui potete partire per fare le vostre pubblicazioni in questo foro.  Lo si riporta solo per dovere di formato dell'articolo.


Figura 3


Nel Layout notiamo nel lato superiore, dentro al rettagolo rosa,  i LED, la rete resistiva, e il conettore strip line maschio a 8 posizioni in cui si dovra' innestare il cavetto flat da riportare sul PORTB del PIC, ovvero sul conettore evidenziato in giallo. Il pin RB0 e' quello che nella serigrafia e' indicato con S10 e dovra' per coerenza essere collegato al LED 1, ovvero quello piu' a destra. (una eventuale inversione del flat non compromette la funzionalita' di questo semplice esercizio.

Figura 4

E' bene fissare le saldature dei cavetti flat usando un po di colla a caldo. Saranno piu' solidi e maneggevoli.


Firmware

La fase di debug del programma e' stata realizzata con RealPic simulator,  che e' uno  strumento semplice efficace ed intuitivo. Il salvataggio del progetto della simulazione e' scaricabile da questo link (funzionera' solo se sul vostro PC e' istallato il RealPic simulator).

   

figura 5

download progetto di simulazione Realpic Simulator

La presenza del tasto A settato normal 1 -> pressed 0, ovvero con la restinza in pullup, consente il cambio di effetto luminoso da normale supercar a boucing (rimbalzi).

Potete scaricare il file zippato dell'intero progetto in Mplab al segunte indirizzo-> download effetto luci supercar con Micro-GT mini

/*****************************************************************

*                                                               supercar                                                                      *

*                                                                                                                                                    *

*                                                       G-Tronic Robotic                                                              *

*                                                             23/02/2012                                                                    *

*                                                                                                                                                   *

*                        Questo programma sviluppato per PIC16F876A                                     *

*                                               piattaforma Micro-GT mini                                                      *         

*                                       realizzato da Calzavara Alessandro                                               *

*                                                                                                                                                   *

****************************************************************/

#include <pic.h>

#include "delay.h"

#include "settaggi.h"

 

void supercar(void){

           PORTB = 0b0000001;

           DelayMs(255);

          for(int i = 0; i < 7; i++){

          PORTB = PORTB << 1;

          DelayMs(255);

           }

     for(int j = 0; j < 6; j++){

     PORTB = PORTB >> 1;

     DelayMs(255);

     }

}

 

void pong(void){

   PORTB = 0b10000001;

   DelayMs(255);

   PORTB = 0b01000010;

   DelayMs(255);

   PORTB = 0b00100100;

   DelayMs(255);

   PORTB = 0b00011000;

   DelayMs(255);

   PORTB = 0b00100100;

   DelayMs(255);

   PORTB = 0b01000010;

   DelayMs(255);

}

void main(void){

    settaggi(); //impostazione della direzione e del preset dei PORT

    while(1){

    if(RA0 == 0){

   DelayMs(25);

   if(RA0 == 0){ // doppio controllo anti rimbalzo

   supercar();

  }

}

    if(RA0 == 1){

      pong();

    }

  }

}


 

Scarica il programma compilato, file hex, effetto luci supercar per Micro-GT mini -> download

Il precedente codice, scritto in C con l'ambiente Mplab della microchip.


Potete vedere un filmato dell'effetto supercar nel seguente filmato caricato su youtube, putroppo quella notte non avevo sottomano un pulsante da collegare a RA0, quindi non si vede il cambio di effetto. Fatelo voi durante le vostre prove.

 

 

 


 

Questo progetto è ridistribuibile secondo i termini di licenzaCreative Commons Attribuzione-Condividi allo stesso modo 3.0 Italia

 

Note aggiuntive

Visita i siti web sviluppati da Marco Visentini:

http://www.bb-yewilliam.it/    (il bed end brekfast di Jenny per chi fosse di passaggio a Padova)

http://www.amministrazionibugno.it/   (l'agenzia di amministrazione condominiale dell'amico Massimiliano)

  Pagina precedente