|
Per il
software le cose si complicano. |
E' stato scelto il sistema operativo MS-DOS per ragioni di
REAL-TIME e affidabilita'.
Tutte le versioni di Windows, in realtà sono molto lente a causa del multitasking.
Per questa ragione sono poco adatte alla gestione di eventi in REAL-TIME come, ad
esempio, la ricerca dei markers (per effettuare dei sincronismi) all'interno dei
files audio durante il play degli effetti sonori.
Anche l'OUT verso il BUS del PC e' molto lento rispetto al DOS. |
|
|
Il sistema di controllo e il programma di gestione sono stati progettati
nel 1994, dunque prima dell'avvento di Windows 95 e quando la velocità dei PC non era
quella attuale.
La prima versione del sistema era basata su un PC con processore 286 a 16 MHz.
Proprio per
la lentezza del processore molta parte del software è stata scritta in linguaggio
ASSEMBLER.
Con il tempo sia l'hardware che il software hanno subito notevoli
cambiamenti, ma il sistema operativo DOS non e' stato sostituito per via dell'alta
affidabilità e dell' ottima velocità che possiede (squadra vincente non si cambia).
Gli effetti si possono programmare con la precisione di un millesimo
di secondo.
Attualmente il problema della lentezza del PC non esiste più ed è possibile usare
Windows in unione ad un un computer molto veloce.
Windows è molto suscettibile anche nella fase di spegnimento del PC mentre, con
il DOS, per spegnere il tutto basta usare solo l'interruttore senza tanti preamboli.
Proprio per ragioni di velocità e affidabilità il software di controllo e' stato scritto in QUICK BASIC 7.1
PROFESSIONAL (chi lo conosce bene sa che non ha veramente niente da invidiare al
linguaggio C). Il tutto è stato integrato con un abbondante uso di ASSEMBLER
e qualche routine in linguaggio C.
Il timer di precisione (apprezza i mSec.), le routines per la gestione della
memoria estesa, della scheda audio, dell' I/O e delle finestre virtuali sono state
scritte in ASSEMBLER. |
Descrizione del programma |
Questo programma e' dotato di una completa interfaccia utente a finestre mediante la
quale e' possibile impostare un time-line degli eventi e i parametri relativi alle schede
installate.
Il ciclo completo alba-giorno-tramonto-notte si svolge nell'arco di 1024 step.
Il software di controllo permette di creare dei files (programmi) contenenti tutti i
parametri necessari allo svolgimento delle quattro fasi e di tutti gli eventi in esse
inseriti. L'estrema elasticità del sistema permette di creare degli effetti molto
sofisticati che possono essere usati anche in ambito diverso da quello presepistico. |
Finestra di debug |
|
Editor degli eventi audio sincronizzati |
Il software permette di variare tutti i parametri di: tempi,
luminosità, movimenti,
eventi, dissolvenze, suoni.
Ad esempio, in un qualsiasi momento del ciclo, posso inserire un evento che dissolve una
luce oppure muove un motore passo-passo di n steps, oppure esegue un effetto sonoro o
aziona un qualsiasi meccanismo.
L'effetto temporale, ad esempio, e' un evento audio con sincronismi. Vengono usati dei
files con estensione .VOC che permettono di inserire al proprio interno dei markers oltre
al segnale audio. |
|
In questo modo, leggendo e interpretando i markers durante il play del
file, e' possibile effettuare degli eventi sincronizzati con l'audio. L' accensione
(per pochi millesimi di secondo) delle luci che simulano i lampi pochi istanti prima di
sentire il rombo del tuono ne sono un esempio.
Ogni marker è caratterizzato da un valore a cui vengono associate delle determinate serie
di azioni da effettuare (ad esempio aprire o chiudere dei
relè, muovere un motore o
variare una luce).
Vi sono ovviamente anche degli eventi audio senza sincronismi che lavorano in background
durante il normale svolgimento del ciclo. Un esempio di questi e' il rumore del vento. |
Il software permette anche la creazione di eventi dissolvenza indipendenti dal ciclo
stesso. Questo tipo di evento permette di effettuare la dissolvenza anche incrociata e in
momenti diversi tra uno o piu' canali analogici (luci).
In questo modo e' stata creata la
visualizzazione graduale dell'Arcobaleno e della Cometa e l'accensione lenta e progressiva
delle luci nascoste che permettono allo spettatore di vedere le gocce di pioggia durante
il temporale notturno. |
Visualizzazione grafica luminosità |
|
E' anche possibile pilotare dei motori passo-passo.
Si possono
programmare il numero di step da effettuare, il senso di rotazione, il tipo di step (con o
senza passo intermedio) e la velocità di rotazione.
La scheda installata permette di pilotare quattro motori, ma, volendo, se ne possono
aggiungere altre con indirizzi diversi.
In questo modo, con l'evento motore, e' possibile gestire dei movimenti.
Il cambiamento delle fasi lunari e il passaggio della Cometa sono un esempio di evento
motore.
E' possibile comandare determinati relè o altri
canali in uno specifico istante (step)
del ciclo, anche in modo pseudocasuale.
L'accensione delle luci delle case, delle lanterne e dei fuochi sono un esempio di evento
step casuale. In questo modo l'effetto è reso più naturale.
In fase di debug è inoltre possibile visualizzare graficamente l'andamento della
luminosità di ogni canale in ogni istante del ciclo. Questo permette di vedere come si
incrociano le varie luci per ogni step del programma. |
Sono in preparazione il nuovo software di controllo e il nuovo hardware.
(Pronto al 98 %) |
Ora che il problema della velocità dei
computer non esiste più (e ho avuto l'ispirazione) ho iniziato a scrivere il nuovo
software di controllo. Speravo di finirlo per il Natale 2003 ma non è stato così....
Chissà se per il 2007.....
L'immagine a lato mostra la schermata di DEBUG. Questa è la
fase più importante.
Quì si inseriscono tutti i parametri di programmazione dei
vari Canali che controllano il
|
|
|
presepio,
cioè i tempi, la luminosità delle lampade, la velocità dei motori, i
suoni e tutto il resto. Questo
software ha subito nel tempo moltissimi cambiamenti sia strutturali
che grafici. E' stato studiato in modo che possa funzionare sia con
il vecchio hardware che con il nuovo, attualmente in fase di
progettazione e realizzazione. |
|
Particolare cura è
stata rivolta alla gestione degli eventi in background, cioè
a quegli eventi che si devono verificare senza alterare
l'andamento della giornata. Un esempio sono gli eventi con
audio sincronizzato. Durante il loro svolgimento devono
effettuare delle operazioni sincronizzate con l'audio in
maniera del tutto autonoma senza interagire con le altre
operazioni in corso.
La precisione del sincronismo è di un millesimo di secondo.
L'immagine a lato mostra la finestra di programmazione di un
Evento Audio Sincronizzato.
E' scientificamente provato che la complessità di un programma cresce in modo
proporzionale con la pazzia di chi lo scrive, per cui non l'ho ancora terminato. |
|
Il tempo a disposizione è
poco, inoltre me la prendo comoda dato che il vecchio software
esegue comunque egregiamente il suo lavoro.
Il nuovo programma gira in ambiente
Windows (qualsiasi versione da Win95 a WinXp)
e, in unione al nuovo hardware,
permetterà la realizzazione di effetti sempre più realistici. |
Le immagini seguenti
mostrano altre finestre del programma. |
Programmazione
dei Canali analogici
e dei Canali servocomando.
Inserimento manuale (programmazione) dei valori di luminosità
delle lampade o di
spostamento dei servocomandi. |
|
|
|
|
Schermata del 'main program'.
Schermata del programma che gestisce il presepio.
Da notare il piccolo schermo per la webcam. |
|
|
Altra
schermata del 'main program'.
La schermata precedente ma con la barra dei menu attivata.
E' possibile personalizzare il colore di sfondo e la
disposizione dei vari indicatori e comandi. |
|
|
|
|
Programmazione dei Canali digitali.
Programmazione di ogni singolo bit step per step. |
|
Editor della
luminosità.
L' andamento della luminosità dei Canali può essere
modificato anche graficamente agendo con il mouse
direttamente sulla curva. |
|
|
|
Andamento
grafico dei Canali analogici.
Visualizza la luminosità di uno o più Canali in modo
da verificare l'andamento globale. |
|
Editor dei
files audio.
Necessario per inserire i markers di sincronismo per
la creazione dei files audio sincronizzati. |
|
|
|
|
|
|
|
|
Persone hanno visitato questa pagina |
|