Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Timer Countdown

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[1] Timer Countdown

Messaggioda Foto Utenteforna » 7 ott 2010, 0:14

Salve a tutti ho bisogno di creare un timer countdown utilizzando un pic18f452 7display multiplexati e avrei bisogno di alcune cose:

Per la programmazione ne so poco veramente...avevo in mente una cosa così...veloce...nel senso che ad ogni interrupt mi dà un'impulso che mi fa decrementare il contatore...ovviamente definisco tutti i numeri con il codice in uscita alla porta...

Ora...come faccio ad avere un interrupt ogni secondo? a quanto lo devo far partire il tmr0?

Poi pensavo di usare le divisioni del tmr per multiplexare i display...o mi consigliate di utilizzare un altro timer? il pic18f452 ha 3 timer....
Esiste un buffer? non so come chiamarlo...mi sà che ho sbagliato a dire buffer...vorrei quei chip che abiliti il set invii il codice e lo trattengono per tutto il tempo fino a quando non viene resettato, perché essendo un timer ore minuti secondi perché devo riaggiornare continuamente il display per un'ora? faliciterei la vita anche a quel povero PIC!

Altra cosa...essendo un giocattolo con 3 chiavi da collegare al PIC in modo da identificare quella giusta, come posso fare per scegliere ogni volta in random, quale chiave è quella giusta?

Ho una matrice 3x4 mi conviene settare come uscite le 3 colonne o 4 righe?

Spero di riceve aiuto almeno qui! Grazie mille!!!
Avatar utente
Foto Utenteforna
0 1 3
 
Messaggi: 7
Iscritto il: 16 gen 2009, 23:52

0
voti

[2] Re: Timer Countdown

Messaggioda Foto Utentec1b8 » 7 ott 2010, 9:04

forna ha scritto:Spero di riceve aiuto almeno qui! Grazie mille!!!

Qui ci possiamo provare... almeno!

Richiesta almeno per me un po' confusa.
Provo a rispondere a quello che ho capito e poi chiarirai il resto.

Il PIC che hai scelto è bello robusto, è sicuramente in grado si eseguire il multiplexing dei display senza stressarsi.
Inoltre il multiplexing conviene in quanto meno avaro di energia. Uscite del PIC da usare ne hai a a volontà.

Cosa sono le 3 chiavi che hai? come si leggono? a cosa servono?
La matrice 3x4 che cosa rappresenta?

Il timer0: per ottenere un interrupt ogni secondo devi caricare un valore che dipende dal clock utilizzato. Se ad esempio utilizzi un clock a 4MHz, dovrai caricare il timer 0 con il valore 31250 (tmr0 è a 16 bit) ed un prescaler di 32. Però non conviene, conviene generare degli interrupt più frequenti, diciamo ogni ms, e utilizzare lo stesso interrupt per multiplexare i display.

Di più non saprei cosa dirti senza prima chiarire il resto dei dubbi.

Dimenticavo: lo scopo del progetto? E' per scuola?

EDIT: Il valore da caricare nel timer non è 31250 ma 65536-31250=34286
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[3] Re: Timer Countdown

Messaggioda Foto Utenteforna » 7 ott 2010, 12:35

Allora, in pratica questa cosa mi serve per costruire una finta bomba da usare per le gare di softair, oltre a tutta una cosa artistica c'è questo timer countdown...per disattivare la bomba si può procedere in diversi modi, con lo scollegamento di alcuni fili collegti in logica camblata con porte AND, ci saranno 2 gruppi di fili che se scollegati provvederanno a: aumentare la velocità del timer e al secondo tentativo la farà esplodere, un solo filo la detonizzera! se scoppia si attiva un relé e basta! nessu effetto pirotecnico! heheheheh

un altro metodo è quello di inserire una di queste chiavi, come funzionano....ho fatto un PCB che mi entra preciso preciso nella porta USB con uno ci porto in un pin i 5 volt, poi gli altri 3 pin li utilizzo per poter collegarci il 5volt che andranno all'entrate del PIC così posso creare ben 8 chiavi diverse solo che sono troppe, una mi imposta il PIC in configurazione e tramite una scheda esterna posso cambiare codice e risettare il timer, mentre le restanti 7 dato che sono troppe volevo creare un loop che mi scelga solo 3 combinazioni binarie random, ovvero, 000 001 010 le combinazioni possono essere qualunque non è un problema, il problema è che vorrei che il sotware ne riconosca soltanto una di quelle 3 come abilitatrice del tastierino numerico, dal quale si inserirà il codice per disinnescare la bomba, ed ogni volta che si avvia sceglie internamente quale chiave disattiverà il sistema in random diciamo delle 3 impostate!

Per quanto riguarda il quarzo dovrebbe bastare un 4000hz per fare un programmino del genere no? anche perché con un quarzo di 4mhz dovrei utilizzare una tensione di lavoro non inferiore di 4.2V ed onde evitare problematiche lavoro più piano....
Avatar utente
Foto Utenteforna
0 1 3
 
Messaggi: 7
Iscritto il: 16 gen 2009, 23:52

0
voti

[4] Re: Timer Countdown

Messaggioda Foto Utentec1b8 » 7 ott 2010, 22:07

Chiudo questa discussione.
Ho già espresso in MP al buon forna le motivazioni di tale decisione.
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23


Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti