Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Progettazione software per cubo led 4x4x4

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

0
voti

[341] Re: Progettazione software per cubo led 4x4x4

Messaggioda Foto Utenteposta10100 » 22 lug 2009, 20:00

In realtà intendevo un'altra cosa:
Codice: Seleziona tutto
    void check_led(int tempo_effetto)
         {
         // Qui imposti il timer con il tempo richiesto e lo avvii
         tempo_finito = false; // Metti false la variabile booleana di riferimento
         while (!tempo_finito) // cicli fino a quando il timer non causa l'interrupt
             {
             for (z_led=0; z_led<4; z_led++)
                 {
                 acc_leds(map[z_led],z_led);
                 }
             }
         }


Codice: Seleziona tutto
    void interrupt(void)
         {
         if (intcon.T0IF)
            {
            tempo_finito = true; // imposti la variabile booleana a true per indicare che il tempo è finito
            intcon.T0IF = 0; // Spegni il timer
            TMR0 = 0;
            }
         }


Il timer lo utilizzerei solo come... timer! Lo imposti e lo avvii, quando "suona" fermi il ciclo che accende i led.

Cosa ne pensi?
http://millefori.altervista.org
Tool gratuito per chi sviluppa su millefori.

Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (A. Einstein)
Se non c'e` un 555 non e` un buon progetto (IsidoroKZ)

Strumento per formule
Avatar utente
Foto Utenteposta10100
5.550 4 10 13
Master EY
Master EY
 
Messaggi: 4832
Iscritto il: 5 nov 2006, 0:09

0
voti

[342] Re: Progettazione software per cubo led 4x4x4

Messaggioda Foto UtenteGalaxi93 » 22 lug 2009, 22:06

mmm...capisco. Non è quello che pensavo io, ma va bene.
Il problema è che non so proprio come fare il timer, cioè impostare a tot secondi. Mi daresti qualche dritta?
Galaxi93.

Visita il mio sito!! E' ancora in costruzione, ma anche tu puoi contribuire a farlo crescere e darmi dei consigli per migliorarlo! Dai prova, provare non costa nulla! Vieni!
Avatar utente
Foto UtenteGalaxi93
3.118 3 7 13
Master
Master
 
Messaggi: 617
Iscritto il: 15 apr 2009, 16:27

0
voti

[343] Re: Progettazione software per cubo led 4x4x4

Messaggioda Foto Utenteposta10100 » 24 lug 2009, 20:38

Che frequenza usi per il PIC? Quarzo esterno o clock interno?
http://millefori.altervista.org
Tool gratuito per chi sviluppa su millefori.

Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (A. Einstein)
Se non c'e` un 555 non e` un buon progetto (IsidoroKZ)

Strumento per formule
Avatar utente
Foto Utenteposta10100
5.550 4 10 13
Master EY
Master EY
 
Messaggi: 4832
Iscritto il: 5 nov 2006, 0:09

0
voti

[344] Re: Progettazione software per cubo led 4x4x4

Messaggioda Foto UtenteGalaxi93 » 24 lug 2009, 21:28

Quarzo esterno da 16Mhz (da venti nn c'è l'ho).
Galaxi93.

Visita il mio sito!! E' ancora in costruzione, ma anche tu puoi contribuire a farlo crescere e darmi dei consigli per migliorarlo! Dai prova, provare non costa nulla! Vieni!
Avatar utente
Foto UtenteGalaxi93
3.118 3 7 13
Master
Master
 
Messaggi: 617
Iscritto il: 15 apr 2009, 16:27

0
voti

[345] Re: Progettazione software per cubo led 4x4x4

Messaggioda Foto Utenteposta10100 » 28 lug 2009, 22:35

Ciao Galaxy,
non riesco a trovare il tempo per scrivere per bene il codice, ma ti do qualche dritta, poi penso tu sia in grado di proseguire da solo.

Lo scopo è quello di generare un interrupt ogni intervallo di tempo prefissato.
Il tuo quarzo è da 16MHz, questo significa che il PIC esegue una istruzione ogni 1/16 micro secondi, in pratica la frequenza effettiva è di 4MHz.

Vediamo quale dei 2 timer presenti nel PIC è più adatto al tuo scopo.
Il Timer0 è da 8 bit, può contare quindi da 0 a 255 prima di andare in overflow e generare l'interrupt.
Ogni colpo di clock incrementa di 1, quando arriva a 255 genera l'interrupt.
E' possibile settare il PRESCALER, che altro non è che una rete di ritardo che incrementa di 1 il registro del timer ogni x colpi di clock.
Per il timer 0 (guarda a pagina 50del ds) il prescaler può essere settato da 1:2 a 1:256.
Se lo settiamo a 256 il timer andrà in overflow ogni 16.32ms.
Un interrupt ogni 16ms penso distrugga qualsiasi gioco di luci... il PIC passerebbe piu` tempo a star dietro agli interrupt che al programma vero e proprio!
Facciamo lo stesso calcolo per il Timer1 e otteniamo valori ancora una volta troppo piccoli!

Pensi sia possibile mettere un clock esterno, fatto magari con un NE555 per temporizzare gli eventi?
http://millefori.altervista.org
Tool gratuito per chi sviluppa su millefori.

Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (A. Einstein)
Se non c'e` un 555 non e` un buon progetto (IsidoroKZ)

Strumento per formule
Avatar utente
Foto Utenteposta10100
5.550 4 10 13
Master EY
Master EY
 
Messaggi: 4832
Iscritto il: 5 nov 2006, 0:09

0
voti

[346] Re: Progettazione software per cubo led 4x4x4

Messaggioda Foto UtenteGalaxi93 » 29 lug 2009, 23:44

Anche io ultimamente non ho più molto tempo...

Mi sa che mi sono perso un po'...

posta10100 ha scritto:Se lo settiamo a 256 il timer andrà in overflow ogni 16.32ms.
Un interrupt ogni 16ms penso distrugga qualsiasi gioco di luci... il PIC passerebbe piu` tempo a star dietro agli interrupt che al programma vero e proprio!


Specialmente qui! perché non va bene?

posta10100 ha scritto:Pensi sia possibile mettere un clock esterno, fatto magari con un NE555 per temporizzare gli eventi?


Possibile, è possibile, ma non vedo perché complicarmi così la vita. A questo punto mi tengo la mia bella funzione che ho già fatto...
Galaxi93.

Visita il mio sito!! E' ancora in costruzione, ma anche tu puoi contribuire a farlo crescere e darmi dei consigli per migliorarlo! Dai prova, provare non costa nulla! Vieni!
Avatar utente
Foto UtenteGalaxi93
3.118 3 7 13
Master
Master
 
Messaggi: 617
Iscritto il: 15 apr 2009, 16:27

0
voti

[347] Re: Progettazione software per cubo led 4x4x4

Messaggioda Foto Utenteposta10100 » 30 lug 2009, 8:18

Galaxi93 ha scritto:Possibile, è possibile, ma non vedo perché complicarmi così la vita. A questo punto mi tengo la mia bella funzione che ho già fatto..


Quella era la terza possibilita`!

Galaxi93 ha scritto:
posta10100 ha scritto:Se lo settiamo a 256 il timer andrà in overflow ogni 16.32ms.
Un interrupt ogni 16ms penso distrugga qualsiasi gioco di luci... il PIC passerebbe piu` tempo a star dietro agli interrupt che al programma vero e proprio!


Specialmente qui! perché non va bene?


Per avere tempi decenti dovresti creare un contatore che ad ogni interrupt si incrementa di 1 e quando arriva a 61 (in un secondo ci sono circa 61 intervalli da 16.32 ms) comunica in qualche modo alla funzione interessate che e` passato un secondo.
Adesso che ci penso forse si puo` usare il timer2 con prescaler e postscaler... bisogna fare un paio di conticini...

Se decidi di lasciare cosi` il programma allor ricordati della promessa che hai fatto! :wink:
http://millefori.altervista.org
Tool gratuito per chi sviluppa su millefori.

Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (A. Einstein)
Se non c'e` un 555 non e` un buon progetto (IsidoroKZ)

Strumento per formule
Avatar utente
Foto Utenteposta10100
5.550 4 10 13
Master EY
Master EY
 
Messaggi: 4832
Iscritto il: 5 nov 2006, 0:09

0
voti

[348] Re: Progettazione software per cubo led 4x4x4

Messaggioda Foto UtenteGalaxi93 » 31 lug 2009, 23:02

Io direi di lasciare il codice così comè, per adesso. Poi in futuro magari lo migliorerò. L'unico problema è che non posso compilare tutto il codice perché supera i 2k consentiti dalla versione demo. Cosa faccio? Sai di un compilatore che mi possa compilare tale circuito? Oppure mi conviene migliorarlo (anche se non ho idea di come fare)?


Ciao,
Davide.

P.S: Scusa se in questo periodo sono un po' assente, ma ho altro per la testa e da fare (finalmente mi è arrivata la moto!!!).
Galaxi93.

Visita il mio sito!! E' ancora in costruzione, ma anche tu puoi contribuire a farlo crescere e darmi dei consigli per migliorarlo! Dai prova, provare non costa nulla! Vieni!
Avatar utente
Foto UtenteGalaxi93
3.118 3 7 13
Master
Master
 
Messaggi: 617
Iscritto il: 15 apr 2009, 16:27

0
voti

[349] Re: Progettazione software per cubo led 4x4x4

Messaggioda Foto Utenteposta10100 » 1 ago 2009, 10:53

Altri compilatori che consentano di superare i 2K free non li conosco, forse è meglio tentare di ridurre qualcosa nel codice, prova a prendere una singola funzione e vedere se si può fare qualcosa per ridurre le istruzioni, ad esempio eliminare un ciclo for o una serie eccessiva di IF... poi magari la posti e ne discutiamo!

Galaxi93 ha scritto:P.S: Scusa se in questo periodo sono un po' assente, ma ho altro per la testa e da fare (finalmente mi è arrivata la moto!!!).


Anche io ultimamente sono un po preso anche se da oggi sono ufficialmente in ferie per 2 settimane!
http://millefori.altervista.org
Tool gratuito per chi sviluppa su millefori.

Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (A. Einstein)
Se non c'e` un 555 non e` un buon progetto (IsidoroKZ)

Strumento per formule
Avatar utente
Foto Utenteposta10100
5.550 4 10 13
Master EY
Master EY
 
Messaggi: 4832
Iscritto il: 5 nov 2006, 0:09

Precedente

Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 13 ospiti