Controllo Remoto di una WebCam di Sorveglianza

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Controllo Remoto di una WebCam di Sorveglianza"

Transcript

1 Controllo Remoto di una WebCam di Sorveglianza Relazione del progetto presentato come approfondimento per l Esame di Stato. Anno Scolastico Realizzato da: Enrico Corneo, Alberto Filigura, Marco Giudici, Matteo Restelli Classe 5 Indirizzo: Informatico Telecomunicazioni Sezione: A

2 Motivazioni sulla scelta dell approfondimento. Si è scelto di realizzare un sistema di video sorveglianza tramite una Webcam montata su due motori passo-passo controllabile da un qualsiasi computer remoto. Abbiamo scelto di realizzare un prototipo di una telecamera a controllo remoto perché ci ha permesso di ampliare le nostre conoscenze nel campo dell elettronica e dell informatica, utilizzando concetti tratti in classe con gli altri studenti, ma poi approfonditi e adattati al nostro caso. IL progetto è suddiviso nelle seguenti parti: Controllo motori Sviluppato da Enrico Corneo & Alberto Filigura Cattura frame video della webcam Sviluppato da Matteo Restelli Settaggio della webcam Sviluppato da Marco Giudici Pubblicazione del servizio on-line tramite pagina ASP Collaborazione tra il gruppo Blocchi Logici Spiegazione dettagliata dei punti sviluppati: Controllo motori Attività svolte: Analisi di fotocopie e fogli tecnici per apprendere il funzionamento della porta parallela, dell elettronica di controllo del motore passo-passo, di alcuni componenti di questa scheda di controllo e del motore stesso. Prova per il funzionamento del motore tramite software già esistente. Stesura di un programma di prova per far muovere il motore passo-passo con richiamo però di funzioni di libreria già esistenti. Raccolta di dati e immagini tramite oscilloscopio di alcuni segnali presenti nel funzionamento dell elettronica di controllo del motore passo-passo. Modifica del programma di prova per far muovere il motore passo-passo di un determinato numero di gradi immessi dall utente in senso orario e antiorario. Realizzazione di una parte della meccanica in alluminio che servirà a far muovere la webcam sia in orizzontale che in verticale. 2

3 Aggiunta del secondo motore e implemento del codice in modo da permettere il movimento della webcam anche in verticale. Modifica del codice per fare in modo che i due motori si muovano all interno di un certo range stabilito, evitando così nella fase di posizionamento ed anche durante l utilizzo l attorcigliamento dei cavi. Assemblaggio dei singoli programmi di gestione dei motori, di cattura del frame e del riconoscimento dell immagine per il posizionamento iniziale, in un unico programma con quattro oggetti diversi. Installazione e assemblaggio di tutti i componenti necessari al movimento e controllo della webcam in una scatola elettrica, con costruzione del circuito di alimentazione e relativo cablaggio. Inizializzazione e movimento motori Per sviluppare la parte di inizializzazione e movimento dei motori si è dovuto apprendere da fotocopie e fogli tecnici il funzionamento di alcuni componenti che serviranno al movimento e al controllo dei motori, quali la porta parallela, i circuiti di controllo dei motori passo-passo, alcuni componenti di questi circuiti di controllo e il funzionamento dei motori stessi. Funzionamento della porta parallela(lpt): La porta parallela è utilizzata per interfacciare il pc ai circuiti di controllo dei motori passopasso; essa è costituita da tre registri chiamati registro dati, registro di stato e registro di controllo. Il registro dati è un registro utilizzato in sola scrittura dal pc, il quale deposita su di esso i dati che successivamente verranno inviati ai circuiti di controllo dei motori; il registro di stato è un registro di sola lettura utilizzato dal pc per ricevere i dati dall esterno, ma nel nostro caso non verrà utilizzato in quanto non ci sono dati da trasmettere verso il pc; il registro di controllo è un registro che viene primariamente utilizzato in scrittura dal pc, nel nostro caso viene utilizzato per l invio del segnale di strobe che serve per comunicare all elettronica che il dato è stabile e che può venire processato. Elettronica di controllo micro-step driver: 3 Questo circuito permette di interfacciare i due motori passo-passo al pc mediante l utilizzo della porta parallela. Il circuito è isolato otticamente dal pc per motivi di sicurezza e permette di collegare fino a sei motori ad un unica porta parallela. Con questo circuito si ha la possibilità di far compiere ai motori oltre che al passo intero e al mezzo passo anche dei micro passi, che nel nostro caso moltiplicherebbero fino a 64 il numero dei

4 passi del motore. Il motore orizzontale quindi, invece di compiere solamente 200 passi al giro sarà in grado di compierne 12800, mentre quello verticale anziché solamente 400. Questa modalità risulta vantaggiosa nel nostro caso, in quanto la webcam si potrà così muovere di un numero maggiore di passi all interno di un singolo grado eliminando totalmente o quasi il funzionamento a scatti. Motori passo-passo: Un motore passo-passo è costituito da un rotore e da uno statore. Il rotore è formato da una coppia di ruote dentate affiancate e solidali all albero e sono costituite da un nucleo magnetico; lo statore è formato anch esso da piccoli denti che si affacciano a quelli del rotore ed è anche costituito da avvolgimenti che percorsi da corrente generano il campo magnetico. I motori passo-passo sono motori che a differenza degli altri hanno anche la possibilità di mantenere fermo l albero in una posizione di equilibrio oltre che girare in senso orario e antiorario. La rotazione avverrà solamente quando si invierà al motore, attraverso la scheda di controllo, una serie di impulsi di corrente secondo una determinata sequenza, in modo da far spostare per scatti successivi la posizione di partenza. Registro a scorrimento HCT4094: L HCT4094 è un registro a scorrimento seriale a 8-stage capace di immagazzinare i dati connessi con ogni fase del segnale di ingresso seriale strobe con quelli di uscita paralleli del buffer 3-state. Le uscite parallele possono essere connesse direttamente alle linee del bus comune. Il dato è spostato ad ogni fronte di salita del segnale di clock(cp). I dati di ogni fase dello shift register sono trasferiti allo storage register quando il segnale d ingresso strobe (STR) è a livello alto. I dati nello storage register appaiono in uscita ogni volta che il segnale di ingresso output enabled (OE) è a livello alto. Dopo aver appreso alcune nozioni fondamentali sul funzionamento dei componenti che si dovevano utilizzare si è provato a far funzionare il motore passo-passo tramite l utilizzo di un software già esistente. Durante queste prove si sono raccolte le immagini, e i relativi dati, delle forme d onda riguardanti i segnali coinvolti nel funzionamento dell elettronica di controllo dei motori, ossia del segnale di strobe, di clock e di data. Questi tre segnali provenienti dalla porta parallela del pc passano prima attraverso degli optoisolatori, in modo da isolare il pc dal circuito di controllo dei motori, per poi giungere al registro di scorrimento HCT

5 Grafici delle forme d onda dei segnali coinvolti Graf. 1 Visualizzazione della sequenza dei segnali. Il primo segnale dall alto è il segnale di dato che verrà inserito nel registro un bit alla volta a ogni fronte di clock. Il secondo segnale è di strobe che serve per indicare che il caricamento del dato nel registro è finito. Il terzo invece è di clock in uscita dalla parallela, utilizzato per il riempimento del registro a scorrimento presente sulla PCB. Graf. 2 Misurazione dell ampiezza d onda del segnale di dato. (4,69 V) Si può notare che la compatibilità di tale dato è di tipo TTL in rispetto dello standard SPI Graf. 3 Misurazione dell ampiezza d onda del segnale di strobe. (4,69 V) Graf. 4 Misurazione dell ampiezza d onda del segnale di clock. (4,84 V) 5

6 Graf. 5 Misurazione del tempo impiegato per ottenere il fronte di discesa del segnale. (1,3us) Graf. 6 Misurazione del tempo impiegato per ottenere il fronte di salita del segnale. (2,1us) Si può notare che il tempo del fronte di salita è più lento di quello di discesa. Dopodiché si è passati alla stesura del codice utilizzando VisualBasic come linguaggio di programmazione. La prima versione permetteva solamente di far muovere continuamente il motore in un verso, poi dopo alcune modifiche si poteva far muovere il motore di un determinato numero di gradi, immessi dall utente, in senso orario o antiorario. Ulteriori modifiche sono state fatte quando si è aggiunto anche il secondo motore, quello sull asse verticale; si è implementato il codice in modo da permettere il movimento di rotazione verticale e si è imposto anche alla webcam di muoversi all interno di un range stabilito, così da poter evitare l attorcigliamento dei cavi durante il movimento. Il codice è stato modificato nuovamente quando si sono assemblati in un unico codice i tre programmi di movimento dei motori, di cattura del frame e di riconoscimento della croce, così da ruotare fino al riconoscimento della croce e posizionarsi in modo da poter essere utilizzata dall utente. Si è inoltre realizzato un telaio in alluminio a cui è stato fissato il motore verticale, sul quale è installata la webcam, che verrà montato sull albero del motore orizzontale così che la webcam possa muoversi in senso orario e antiorario e verso l alto e verso il basso. 6

7 Funzione Motore La funzione definitiva è stata studiata in modo da poter dichiarare due oggetti di tipo motore così da poter dedicare un motore ai movimenti verticali, e l altro ai movimenti orizzontali. Il programma si compone delle seguenti funzioni: Funzione di inizializzazione che si occupa di trovare l indirizzo della porta LPT, tramite la funzione di libreria dedicata interrogando il BIOS del computer in uso, e settare una variabile per il richiamo della porta stessa. Funzione MuoviMotore che si occupa di prendere come parametro il numero di gradi inseriti dall utente di cui deve far muovere il motore, controllare il verso di rotazione, chiamare la funzione di conversione da gradi in passi passandogli come parametro il modulo dei gradi inseriti ed infine chiamare la funzione MuoviMotoreDiPassi passandogli a) il numero di passi ritornati dalla funzione precedentemente chiamata b) il canale del motore c) il verso di rotazione d) la variabile contenete l indirizzo della porta LPT. Funzione di conversione da gradi in passi che si occupa di prendere il numero di gradi passatogli come parametro e il moltiplicatore dei passi al giro del motore ed eseguire la seguente operazione: NumeroPassi = NumeroGradi * Moltiplicatore infine restituire come valore di ritorno il numero di passi. NOTA: Ogni motore passo-passo può compiere duecento passi al giro o multipli di questo. Da qui la decisione di inserire un parametro chiamato appunto moltiplicatore. Funzione MuoviMotoreDiPassi che dopo aver preso in consegna tutti i parametri passati dalla funzione precedente, si occupa di gestire il verso di rotazione calcolando il miglior spostamento, sia per quanto riguarta la brevità del percorso stesso, sia per evitare l attorcigliamento dei cavi. Quindi di chiamare la funzione di libreria che fa eseguire il movimento al motore assegnato al canale passatogli in precedenza. Funzione MotorStepUnlock che si occupa di mandare sul canale della LPT passatogli come parametro la sequenza si sblocco dei motori. La funzione esegue la funzione di libreria dedicata allo sblocco. 7

8 Funzione Cattura Frame Funzione che permette di catturare un frame (immagine) dalla webcam. Questa parte è formata da varie funzioni: Funzione di inizializzazione della classe: Si occupa essenzialmente di vedere se,all interno della directory,in cui sono presenti le pagine asp, è presente la directory temporanea, fondamentale perché è dove verranno salvate le immagini scattate. Una funzione principale (Cattura) che essenzialmente si occupa di: o Creare la finestra di cattura all interno di un form. Questa finestra è necessaria perché contribuirà al salvataggio dell immagine su di un file. o Chiamare la funzione di connessione al driver o Chiamare la funzione di libreria (winapi32.dll) che permette la cattura di un frame dalla webcam. o Chiamare la funzione di salvataggio del frame catturato in un file di tipo o jpg e salvare in una variabile il percorso del file. Chiamare la funzione di libreria (winapi32.dll) di disconnessione dal driver. Tale funzione sarà il metodo di classe chiamato dalla funzione principale di tutto il progetto. Si occuperà quindi di restituire il percorso del file contenente l immagine scattata. Una funzione di connessione al driver: Si occupa essenzialmente di chiamare una funzione di libreria (winapi32.dll) che permette di connettersi al driver e di verificare se questa connessione è avvenuta correttamente oppure no. Una funzione di salvataggio del frame catturato: Si occupa anch essa di chiamare una funzione di libreria (winapi32.dll) che permette il salvataggio di un frame in un file di tipo bmp. Verrà poi chiamata, sempre in questa funzione, un altra funzione che permetterà la conversione dal formato bmp al formato jpg. Una funzione di conversione dal formato BMP al formato JPG: Si occupa dell effettiva conversione dal formato BMP al formato JPG. Utilizza alcune funzioni di libreria essenziali presenti nella libreria VIC32.dll. Questa conversione viene effettuata soprattutto per ridurre lo spazio utilizzato dalle immagini (immagini salvate con il formato BMP occupano molto più spazio di immagini salvate con il formato JPG). Una volta che il file.bmp viene convertito tale file verrà cancellato istantaneamente. Una funzione di cancellazione files: Si occupa di cancellare i files vecchi. Siccome il nome del file è standard (IMG+oralocale) ciò ci permette di confrontare l ora in cui è stato salvato il file con l ora attuale di sistema; il file, quindi, se risulta troppo vecchio viene cancellato opportunamente. 8

9 Funzione Settaggio Webcam Per settaggio della Webcam si intendono tutte le operazioni necessarie per trovare il punto di partenza da cui poter muovere la telecamera. In particolare il settaggio si occupa di analizzare le immagini scattate dalla webcam, utilizzata come macchina fotografica, per individuare una croce nera su sfondo bianco. Il programma che esegue tali operazioni è composto da diverse funzioni, le principali sono: Estrazione del codice RGB dall immagine. Per estrarre il codice RGB di un immagine utilizzo il metodo Point (x,y) fornito dall oggetto PictureBox di Visual Basic. Calcolo dinamico della luminosità e saturazione media dell immagine. Il codice RGB di ogni pixel viene convertito in codice HLS (Hue, Lightness, Saturation) e viene così calcolata la luminosità e la saturazione media dell immagine. Confronto di ogni pixel dell immagine, convertito in codice HSL, con il valore di luminosità media appena calcolato e riempimento di una matrice con pixel bianchi e neri Ogni pixel viene confrontato con i valori di luminosità e saturazione appena calcolati e riempimento di una matrice bidimensionale con pixel bianchi e neri. Calcolo numero massimo di pixel neri di ogni riga e ogni colonna della matrice. Per ogni riga e colonna della matrice vengono calcolati il numero di pixel neri e vengono memorizzati in due vettori. Individuazione dei picchi massimi di pixel neri e calcolo dello scostamento dal centro dell immagine. Vengono ricercati all interno dei vettori i valori massimi e viene calcolato lo scostamento del valore massimo dal centro dell immagine. 9

10 File INI È stato creato un progetto di Visual Basic con tre moduli di classe: 1. clsmirino settaggio webcam 2. clsmotori controllo motori 3. clswebcam cattura frame tutte e tre le classi possiedono proprietà e metodi, utilizzano parametri che possono essere modificati tramite un programma che scrive file di configurazione. Tali file di configurazione sono file.ini che vengono letti da ogni classe che imposta i propri parametri. 10

11 Pubblicazione del servizio on-line tramite pagina ASP Si è realizzato un sito essenzialmente in html & asp che permette di controllare la webcam da remoto. Vi sono 2 pagine asp che permettono il controllo: interfaccia.asp che è la pagina d interfaccia vera e propria cioè la pagina dove viene visualizzata l immagine e la pagina dove l utente, attraverso particolari bottoni, può controllare la webcam da remoto. Questa pagina contiene infatti un form con dei bottoni che permette il passaggio dei dati (tramite il metodo POST ) dalla pagina d interfaccia alla pagina di collegamento. Immagine Interfaccia inviabili al processo di controllo: collegamento.asp che permette di inviare i dati al processo che controlla la webcam. Questa pagina asp inizialmente riceve i dati (tramite il metodo Request.form) dalla pagina d interfaccia. Una volta che li ha ricevuti li elabora e li tratta e crea una stringa da 5 caratteri da inviare al processo che controlla la webcam. Ci sono essenzialmente 5 trame o DE!GR DE=DESTRA o SI!GR SI=SINISTRA o GI!GR GI=GIU o SU!GR o zz!zz GR= Gradi. Numero a 2 cifre. Può essere 10,20,45,90. zz!zz= Trama di default. Viene inviata la prima volta che ci si connette alla webcam. Con questa trama il processo di controllo capisce che è la prima volta che si effettua la connessione alla webcam quindi scatta l immagine senza compiere alcun movimento. Dopo aver quindi creato la trama da inviare, la pagina si occupa di dimensionare un oggetto che permette di connettersi tramite protocollo TCP/IP verso il processo di controllo; la pagina si occuperà di aprire una connessione (socket) sulla porta all indirizzo locale ( ). Questa porta è la porta su cui è in ascolto il processo di controllo. Dopo aver stabilito la connessione la pagina asp invierà la trama precedentemente creata; dopo aver inviato i dati rimarrà in ascolto e successivamente riceverà il percorso del file contenente l immagine scattata. Il percorso del file verrà passato alla pagina d interfaccia tramite una variabile di sessione. Infine la pagina si occuperà di indirizzare il browser (tramite il metodo Response.Redirect) verso la pagina d interfaccia. 11

12 CODICE SORGENTE CLASSI Motori Webcam Mirino Controllo Camera MODULI Declare Main Mirino Motore Ini Webcam FORM Mirino WebCam Winsock FILE INI 12

13 CLASSI 13

14 MOTORI '############################################################################################### '# # '# Enrico Corneo & Alberto Filigura # '# # '# Anno scolastico AREA DI PROGETTO # '# # '# Ambito Informatico - Eletttonico # '# # '# ActiveXMicroStep che tramite chiamate alla dll gestisce il motore passo passo # '# # '############################################################################################### 'Dichiaro che è obligatorio il dimensionameto delle variabili Option Explicit 'Dicharazione delle variabili globali Public icanale As Integer 'Dichiarazione della variabile dedita a contenere il canale in uso Public iangolomassimo As Integer 'Dichiarazione della variabile dedita a contenere il numero di gradi massimo dell'angolo di rotazione del motore Public iangolominimo As Integer 'Dichiarazione della variabile dedita a contenere il numero di gradi minimo dell'angolo di rotazione del motore Public imoltiplicatorestep As Integer 'Dichiarazione della variabile dedita a contenere il fattore di moltiplicazione degli step per il motore Public dposizione As Double 'Dichiarazione della variabile che si ricorda l'ultima posizione 'Dichiarazione delle costanti Const TIME = 1 'In millesimi di secondo Costante di tempo che trascorre tra un passo e l'altro 'Const itemposleep = 20 'Numero passi che vengono effettuati prima di fare lo Sleep Dim itemposleep As Integer 14

15 '############################################################################################### '# # '# Funzione inizialize della classe ActiveXMicroStep # '# # '# Questa funzione si deve occupare di attivare tutto ciò che riguarda l'hardware in parti- # '# colare deve chiamare la funzione di libreria VVIO_CD4094_Inizialize(iLpt, laddruse). # '# Insieme all'inizializzazione della PCB deve recuperare gli indirizzi delle LPT dal bios con # '# la funzione di libreria VVIO_LPT_GetLptFromBios(lAddr0, laddr1, laddr2) e di bloccare la # '# porta che si intende usare con la funzione VVIO_LPT_Lock(iLpt) # '# # '############################################################################################### Private Sub Class_Initialize() Leggi_FileINI 'Nella prima esecuzione setto dposizione a 0 If bprimaesecuzione Then dposizione = 0 Exit Sub bprimaesecuzione = True 'Rendo vera la variabile booleana che controlla se è la prima volta che viene eseguito il programma 'Dichiarazioni delle variabili locali Dim ilpterror As Integer 'Variabile che contiene l'errore restituito dalla funzione VVIO_LPT_GetLptFromBios Dim ierrorlptlock As Integer 'Variabile che contiene l'errore restituito dalla funzione VVIO_LPT_Lock Dim ierrorlptinizialize As Integer 'Variabile che contiene l'errore restituito dalla funzione VVIO_CD4094_Inizialize Dim laddr0 As Long 'Variabile che contiene l'indirizzo della prima Lpt Dim laddr1 As Long 'Variabile che contiene l'indirizzo della seconda Lpt Dim laddr2 As Long 'Variabile che contiene l'indirizzo della terza Lpt Dim laddruse As Long 'Variabile che contiene l'indirizzo della Lpt che è utilizzata 15

16 'Prendo l'elenco degli indirizzi delle lpt sul pc ilpterror = VVIO_LPT_GetLptFromBios(lAddr0, laddr1, laddr2) 'Calcolo quale porta intendo utilizzare If laddr0 <> 0 Then ilpt = 1 laddruse = laddr0 Else If laddr1 <> 0 Then ilpt = 2 laddruse = laddr1 'Blocco la Lpt che utilizzo ierrorlptlock = VVIO_LPT_Lock(iLpt) 'Inizializzo la comunicazione tra PC e PCB passando il numero della porta che utilizzo e il suo indirizzo fisico ierrorlptinizialize = VVIO_CD4094_Inizialize(iLpt, laddruse) End Sub '############################################################################################### '# # '# Funzione di avvio dei motori della classe ActiveXMicroStep # '# # '# Questa funzione si deve occupare di controllache in che vero il motore deve girare, e di # '# chiamare la funzione che provvederà a far girare il motore del numero di passi stabilito. # '# # '############################################################################################### Public Function MuoviMotore(dNumeroGradi As Double) Dim inumeropassi As Integer 'Variabile dedita a contenere il numero di step da fare Dim ierror As Integer 'Variabile dedita a ricevere l'eventuale errore Dim iverso As Integer 'Variabile dedita a contenere il verso di rotazione 16

17 Dim dnuovaposizione As Double 'Variabile dedita a contenere la posizione a cui si deve arrivare 'Controllo se il numero di gradi di cui mi devo muovere è pari a zero allora esco dalla funzione If (dnumerogradi = 0) Then Exit Function 'Controllo e eseguo lo spostamento richiesto dnuovaposizione = (dposizione + dnumerogradi) Mod 360 If dnuovaposizione < iangolominimo Then dnuovaposizione = iangolominimo ElseIf dnuovaposizione > iangolomassimo Then dnuovaposizione = iangolomassimo dnumerogradi = dnuovaposizione - dposizione dposizione = dnuovaposizione 'Controllo il verso If dnumerogradi < 0 Then iverso = 1 Else iverso = -1 'Chiamo la funzione che mi converte il numero di gradi in passi inumeropassi = ConversioneGradiPassi(Abs(dNumeroGradi)) 'Chiamo la funzione che muove il motore ierror = MuoviMotoreDiPassi(iNumeroPassi, ilpt, icanale, iverso, TIME) End Function 17

18 '############################################################################################### '# # '# Funzione di movimento del motore della classe ActiveXMicroStep # '# # '# Questa funzione si deve occupare di chiamare la funzione di libreria che fa muovere il # '# motore dei passi che gli sono stati indicati dalla funzione che ha invocato quest'ultima. # '# # '############################################################################################### Private Function MuoviMotoreDiPassi(iNumeroPassi As Integer, ilpt As Integer, ich As Integer, iverso As Integer, itime As Long) Dim ierror As Integer 'Variabile dedicata al ritorno di un eventuale errore Dim icont As Integer 'Contatore per la scansione dei passi Dim isleep As Integer 'Moltiplico il numero dei passi per il moltiplicatore inumeropassi = inumeropassi * imoltiplicatorestep 'Ciclo che fa muovere di inumeropassi il motore For icont = 0 To inumeropassi 'Chiamata alla funzione di libreria per far muovere un motore di inumeropassi ierror = VVIO_CD4094_NextStepBipolar(iLpt, ich, iverso, 1) Next 'Aspetto un certo periodo di tempo prima di rieseguire il ciclo If isleep > itemposleep Then Sleep itime isleep = 0 Else isleep = isleep + 1 DoEvents 18

19 End Function '############################################################################################### '# # '# Funzione di conversione dei gradi in passi della classe ActiveXMicroStep # '# # '# Questa funzione si deve occupare di convertire il numero di gradi passatogli in passi. # '# Il valore trovato verrà passato come valore di ritorno. # '# # '############################################################################################### Private Function ConversioneGradiPassi(dNumeroGradi As Double) As Integer Dim inumeropassi As Integer 'Variabile dedita a contenere il numero di step da fare 'Eseguo il conto necessario e lo metto nella variabile apposita. inumeropassi = dnumerogradi * (12800# / 360#) 'Passo come valore di ritorno il contenuto della variabile appena riempita ConversioneGradiPassi = inumeropassi End Function '############################################################################################### '# # '# Funzione Sblocca della classe ActiveXMicroStep # '# # '# Questa funzione si deve occupare di disattivare tutto ciò che riguarda l'hardware in parti- # '# colare deve chiamare la funzione di libreria VVIO_CD4094_18245(iLpt, icont, 0, 0, 1). # '# Deve fare una scansione per canale e far uscire dalla Lpt il segnale di arresto. # '# # '############################################################################################### 19

20 Public Sub MotorStepUnlock() End Sub Dim ierror As Integer 'Variabile dedicata al ritorno di un eventuale errore 'Chiamata alla funzione della dll che arresta tutto ierror = VVIO_CD4094_18245(iLpt, icanale, 0, 0, 1) Private Function Leggi_FileINI() Dim spercorsoini As String Dim ret As String Dim RetLen spercorsoini = App.Path spercorsoini = spercorsoini & "\config.ini" ret = Space$(255) RetLen = GetPrivateProfilestring("CONFIGURAZIONE", "ITIMESLEEP", "", ret, Len(ret), spercorsoini) ret = Left$(ret, RetLen) itemposleep = Val(ret) End Function 20

21 WEBCAM '####################################################### '# # '# Cattura di un frame da webcam, salvataggio del # '# frame in un file e successiva conversione da bmp # '# a jpg. Le immagini scattate verranno salvate # '# opportunamente in una cartella temporanea interna # '# alla directory dove è presente l'intero programma # '# # '####################################################### 'Const BASEPATH = "C:\Inetpub\wwwroot\bbb\temp\" Dim BASEPATH As String Dim hcapwnd As Long Private Sub Class_Initialize() Leggi_FileINI 'Creazione della directory \temp se non esiste 'spercorsoattuale = App.Path If (Dir(BASEPATH, vbdirectory) = "") Then MkDir (BASEPATH) End Sub Public Function Cattura() As String Dim spercorso As String frmwebcam.hide 'Cancellazione dei files vecchi nella directory Call CancellaFiles 'Creazione della finestra di cattura hcapwnd = capcreatecapturewindow("vb CAP WINDOW", WS_CHILD Or WS_VISIBLE, 0, 0, 160, 120, frmwebcam.hwnd, 0) 'Chiamata della funzione di connessione al driver. Call DriverConnect(hcapwnd) 'chiamata della funzione che cattura il frame. Call capgrabframe(hcapwnd) 'Chiamata della funzione relativa al salvataggio del frame in un file bmp spercorso = SalvaFrame(hcapwnd) Cattura = spercorso 'Disconnessione dal driver retval = capdriverdisconnect(hcapwnd) 21

22 Unload frmwebcam End Function Public Function Disconnetti() As Boolean 'Funzione per disconnettersi dal driver Disconnetti = capdriverdisconnect(hcapwnd) End Function Private Sub DriverConnect(ByVal hcapwnd As Long) Const CAP_STRING_MAX As Long = 128 Dim retval As Boolean Dim iindice As Integer iindice = 0 'Connessione al driver retval = capdriverconnect(hcapwnd, iindice) If retval = True Then Debug.Print ("Connessione al driver riuscita") Else Debug.Print ("Connessione al driver non riuscita") End Sub Private Function SalvaFrame(hcapwnd As Long) As String Dim sfilename As String Dim retval As Boolean Dim spercorso As String sfilename = BASEPATH & "img" & TIME & ".bmp" 'Salvataggio in un file bmp del frame retval = capfilesavedib(hcapwnd, sfilename) 'Chiamate della funzione di conversione da bmp a jpg spercorso = ConversioneJPG(sFileName) SalvaFrame = spercorso End Function Private Function ConversioneJPG(FileName As String) As String Dim spercorso As String Dim objfso As FileSystemObject Set objfso = New FileSystemObject Dim tmpimage As imgdes Dim tmp2image As imgdes Dim rcode As Long Dim quality As Long 22

23 Dim vbitcount As Long Dim bdat As BITMAPINFOHEADER Dim jpg_fname As String jpg_fname = BASEPATH & "img" & TIME & ".jpg" quality = 75 rcode = bmpinfo(filename, bdat) If (rcode <> NO_ERROR) Then MsgBox "Il file non riesce ad essere trovato", 0, "ERRORE!" Exit Function vbitcount = bdat.bibitcount If (vbitcount >= 16) Then vbitcount = 24 rcode = allocimage(tmpimage, bdat.biwidth, bdat.biheight, vbitcount) If (rcode <> NO_ERROR) Then MsgBox "Memoria non sufficiente", 0, "ERRORE!" Exit Function ' Load image rcode = loadbmp(filename, tmpimage) If (rcode <> NO_ERROR) Then freeimage tmpimage MsgBox "Il file non riesce ad essere caricato", 0, "ERRORE!" Exit Function If (vbitcount = 1) Then rcode = allocimage(tmp2image, bdat.biwidth, bdat.biheight, 8) If (rcode = NO_ERROR) Then rcode = convert1bitto8bit(tmpimage, tmp2image) freeimage tmpimage 23

24 'Chiamata della funzione di salvataggio del file JPG rcode = savejpg(jpg_fname, tmpimage, quality) freeimage tmpimage 'Cancellazione del file.bmp che contiene il frame scattato objfso.deletefile (FileName) 'spercorso = App.Path 'spercorso = spercorso & "\" & jpg_fname ConversioneJPG = jpg_fname End Function Public Function CancellaFiles() Dim bcancella As Boolean Dim snomefile As String Dim snome As String Dim Cartella As Folder Dim file As file Dim spercorsocartella As String Dim objfso As FileSystemObject Set objfso = New FileSystemObject spercorsocartella = BASEPATH Set Cartella = objfso.getfolder(spercorsocartella) For Each file In Cartella.Files snomefile = file.name spercorsofile = file.path bcancella = EstraiDati(sNomeFile) If bcancella = True Then objfso.deletefile (spercorsofile) Next file End Function Private Function EstraiDati(sNome As String) As Boolean Dim bcancella As Boolean Dim soraimg As String Dim sminutiimg As String 24

Visual Basic for Applications (VBA) Francesco Brun Fondamenti di Informatica a.a. 2014/2015

Visual Basic for Applications (VBA) Francesco Brun Fondamenti di Informatica a.a. 2014/2015 Francesco Brun Fondamenti di Informatica a.a. 2014/2015 Scopo di questo approfondimento Lo scopo di questo approfondimento è rispondere alla domanda: e se nella vita mi troverò a dover utilizzare un linguaggio

Dettagli

www.mtcube.com Manuale di ASP

www.mtcube.com Manuale di ASP Manuale di ASP Sommario degli argomenti Che cosa sono le Active Server Pages... 3 Struttura, creazione ed esecuzione della pagina Asp... 3 Variabili e tipi di dati... 4 Numero Intero... 4 Numeri in virgola

Dettagli

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini Introduzione all utilizzo di Visual Basic for Application Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini PROGRAMMAZIONE Insieme delle attività da svolgersi per creare

Dettagli

Struttura logica di un programma

Struttura logica di un programma Struttura logica di un programma Tutti i programmi per computer prevedono tre operazioni principali: l input di dati (cioè l inserimento delle informazioni da elaborare) il calcolo dei risultati cercati

Dettagli

Corso di Visual Basic (Parte 9)

Corso di Visual Basic (Parte 9) Corso di Visual Basic (Parte 9) di Maurizio Crespi La nona lezione del corso dedicato alla programmazione in Visual Basic si pone lo scopo di illustrare le funzioni definibili dall'utente e il concetto

Dettagli

Programmazione in Excel con il linguaggio Visual Basic

Programmazione in Excel con il linguaggio Visual Basic Programmazione in Excel con il linguaggio Visual Basic L'ambiente di programmazione Il foglio elettronico Excel, così come gli altri prodotti Office di Microsoft, possiede un vero e proprio ambiente di

Dettagli

Corso basi di dati Introduzione al VBScript

Corso basi di dati Introduzione al VBScript Corso basi di dati Introduzione al VBScript Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre IL VBScript In Microsoft Visual Basic Scripting Edition, il linguaggio di programmazione

Dettagli

ASP: DOMANDE E RISPOSTE (Q&A)

ASP: DOMANDE E RISPOSTE (Q&A) Autore: Classe: Nicola Ceccon QUINTA INFORMATICA (5IA) Anno scolastico: 2003/2004 Scuola: Itis Euganeo ASP: DOMANDE E RISPOSTE (Q&A) Dispensa La dispensa presenta i contenuti fondamentali di ASP nella

Dettagli

Controllo Winsock di Visual Basic

Controllo Winsock di Visual Basic Controllo Winsock di Visual Basic Il controllo Winsock, non visibile all'utente, consente di accedere ai servizi di rete TCP e UDP. Per creare applicazioni client o server non è necessario conoscere in

Dettagli

A. Carullo Introduzione a Visual Basic. Introduzione a

A. Carullo Introduzione a Visual Basic. Introduzione a Introduzione a Visual Basic 1 Indice degli argomenti trattati Cos è Visual Basic? L ambiente di sviluppo Visual Basic I passi per la creazione di un progetto VB Operazioni più comuni in un progetto VB

Dettagli

Piccola guida a VBA per Word

Piccola guida a VBA per Word Piccola guida a VBA per Word La differenza tra VBA (Visual Basic for Applications) e VB6 (Visual Basic versione 6) Il modello di un documento Word Il progetto di un documento Word Come creare un nuovo

Dettagli

Corso di Visual Basic (Parte 8)

Corso di Visual Basic (Parte 8) Corso di Visual Basic (Parte 8) di MAURIZIO CRESPI Questo mese il corso di programmazione in Visual Basic focalizza la propria attenzione sulle procedure, talvolta dette subroutine L oggetto dell ottava

Dettagli

Lezione II: Web server e ambiente di lavoro

Lezione II: Web server e ambiente di lavoro Lezione II: Web server e ambiente di lavoro In questa lezione, in laboratorio, si mostrerà quali sono i passi necessari per creare ed eseguire una pagina ASP. Brevemente, verrà fatto anche vedere, come

Dettagli

Appunti su ASP (Active Server Pages)

Appunti su ASP (Active Server Pages) Client Client Appunti su ASP (Active Server Pages) Che cosa è ASP Un server web è un computer che contiene tutte le pagine web di un determinato sito web. In tale computer è installato un software che

Dettagli

DAL DIAGRAMMA AL CODICE

DAL DIAGRAMMA AL CODICE DAL DIAGRAMMA AL CODICE Un diagramma di flusso Appare, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da linee orientate che specificano la sequenza

Dettagli

1 Programmazione orientata agli oggetti

1 Programmazione orientata agli oggetti Visual Basic Lo studio di questa unità può essere affrontato con due modalità differenti. Il lettore che ha già esperienza di programmazione in un linguaggio ad alto livello (QBasic, Pascal, C) può tralasciare

Dettagli

Obbiettivi: Fornire le conoscenze di base per creare un semplice gioco, tipo Pimball, in Visual Basic.

Obbiettivi: Fornire le conoscenze di base per creare un semplice gioco, tipo Pimball, in Visual Basic. Animazioni e giochi in Visual Basic Il gioco del Pimball - versione A Matteo Temperoni 4 A Programmatori, ITC "Vittorio Emanuele II", Perugia, a.s. 2005/2006 Obbiettivi: Fornire le conoscenze di base per

Dettagli

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali a Visual Basic Lezione 1 Concetti base e istruzioni condizionali Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Un esempio:

Dettagli

A. Veneziani - Classe V Abacus - Elementi di elaborazione Web con supporto ai DB basati su ASP e Access

A. Veneziani - Classe V Abacus - Elementi di elaborazione Web con supporto ai DB basati su ASP e Access A. Veneziani - Classe V Abacus - Elementi di elaborazione Web con supporto ai DB basati su ASP e Access Prologo Parlando di tecnologie Web legate a Microsoft è naturale integrare le funzioni di ASP 1 con

Dettagli

Algebra Booleana ed Espressioni Booleane

Algebra Booleana ed Espressioni Booleane Algebra Booleana ed Espressioni Booleane Che cosa è un Algebra? Dato un insieme E di elementi (qualsiasi, non necessariamente numerico) ed una o più operazioni definite sugli elementi appartenenti a tale

Dettagli

Lezione 4. Enea Cippitelli e.cippitelli@univpm.it Samuele Gasparrini s.gasparrini@univpm.it

Lezione 4. Enea Cippitelli e.cippitelli@univpm.it Samuele Gasparrini s.gasparrini@univpm.it Corso di Tecnologie per le Telecomunicazioni Utilizzo del sensore Kinect in ambiente Matlab Lezione 4 Enea Cippitelli e.cippitelli@univpm.it Samuele Gasparrini s.gasparrini@univpm.it 1 Outline Skeletal

Dettagli

Applicazione ASP di esempio

Applicazione ASP di esempio Applicazione ASP di esempio Database in rete Prof. Claudio Maccherani Un server web è un programma che gira su un computer sempre collegato ad Internet e che mette a disposizione file, pagine e servizi.

Dettagli

ACCESSO AL REGISTRO DI SISTEMA: LETTURA DEL NOME DEL COMPUTER.

ACCESSO AL REGISTRO DI SISTEMA: LETTURA DEL NOME DEL COMPUTER. Tutorial [Access] Michele de Nittis ACCESSO AL REGISTRO DI SISTEMA: LETTURA DEL NOME DEL COMPUTER. Versione: 1 Data Versione: domenica 12 dicembre 2004 1 Introduzione Questo tutorial nasce per un esigenza

Dettagli

A. Lorenzi Pagine ASP

A. Lorenzi Pagine ASP Pagine ASP Web server software per la gestione di un computer host Internet oppure di un server di rete, che mette a disposizione dati o applicativi per gli utenti della rete Web server IIS (Internet Information

Dettagli

Il blog di Emanuele Mattei in ambito Database

Il blog di Emanuele Mattei in ambito Database Il blog di Emanuele Mattei in ambito Database Programmazione database, ado.net e database mobile Come visualizzare ed inserire le immagini in un database Microsoft Access tramite Ado.Net Riporto l'articolo

Dettagli

DRU-100C Videocamera Digitale USB Manuale Utente

DRU-100C Videocamera Digitale USB Manuale Utente DRU-100C Videocamera Digitale USB Manuale Utente Rev.01 (Agosto,2000) M20000806 Stampato a Taiwan Indice Generale INTRODUZIONE...1 INSTALLAZIONE DELL'HARDWARE...2 INSTALLARE LA VIDEOCAMERA... 2 INSTALLAZIONE

Dettagli

CORSO DI LAUREA IN SCIENZE ERBORISTICHE E DEI PRODOTTI NUTRACEUTICI

CORSO DI LAUREA IN SCIENZE ERBORISTICHE E DEI PRODOTTI NUTRACEUTICI CORSO DI LAUREA IN SCIENZE ERBORISTICHE E DEI PRODOTTI NUTRACEUTICI Informatica con esercitazioni Prof. Onofrio Greco Modulo 1 Concetti di base dell ICT Modulo 2 Uso del Computer e Gestione dei File Modulo

Dettagli

SOLUZIONE SECONDA PROVA INFORMATICA ITC ESAME DI STATO 2002/2003 TRAMONTANA

SOLUZIONE SECONDA PROVA INFORMATICA ITC ESAME DI STATO 2002/2003 TRAMONTANA Esame di Stato Istituto Tecnico Commerciale CORSO SPERIMENTALE Progetto "MERCURIO" Indirizzo: PROGRAMMATORI Soluzione della Seconda Prova - Tema di: INFORMATICA Anno Scolastico: 2002-2003 Riflessioni e

Dettagli

Fratini Service di G. Fratini

Fratini Service di G. Fratini Pag. 1 di 7 Questo è una breve guida su come creare un proprio applicativo che utilizzi l OCX Prgfm1985ELA E un progetto in Visual Basic 6.0, per cui è destinato ai programmatori che utilizzano tale ambiente

Dettagli

Visual Basic FROM C TO DEDICATO AGLI UTENTI CON BASI DI C CHE SI AFFACCIANO AL MONDO DEL VISUAL BASIC. Contiene solo basi di linguaggio

Visual Basic FROM C TO DEDICATO AGLI UTENTI CON BASI DI C CHE SI AFFACCIANO AL MONDO DEL VISUAL BASIC. Contiene solo basi di linguaggio FROM C TO Visual Basic DEDICATO AGLI UTENTI CON BASI DI C CHE SI AFFACCIANO AL MONDO DEL VISUAL BASIC. Contiene solo basi di linguaggio FEDERICO GIUNTOLI Microsoft Visual Basic Questo capitolo ha lo scopo

Dettagli

IL LINGUAGGIO Visual Basic

IL LINGUAGGIO Visual Basic Caratteristiche del linguaggio VB Linguaggio basato sugli eventi IL LINGUAGGI Visual Basic I programmi non sono procedurali, poiche non seguono una sequenza operativa. gni programma si basa infatti su

Dettagli

Elementi di grafica raster

Elementi di grafica raster Elementi di grafica raster Le immagini Una immagine è una rappresentazione spaziale di un oggetto o di una scena Una immagine digitale è una rappresentazione di una scena anche 3D dopo il processo di acquisizione

Dettagli

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web

Dettagli

20 - Input/Output su File

20 - Input/Output su File 20 - Input/Output su File Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

ASP: ESERCIZI E SOLUZIONI

ASP: ESERCIZI E SOLUZIONI Autore: Classe: Nicola Ceccon QUINTA INFORMATICA (5IA) Anno scolastico: 2003/2004 Scuola: Itis Euganeo ASP: ESERCIZI E SOLUZIONI Esercizi Si propongono tre esercizi in ASP che prevedono l'utilizzo di un

Dettagli

Gli XML Web Service. Prof. Mauro Giacomini. Complementi di Informatica Medica 2008/2009 1

Gli XML Web Service. Prof. Mauro Giacomini. Complementi di Informatica Medica 2008/2009 1 Gli XML Web Service Prof. Mauro Giacomini Medica 2008/2009 1 Definizioni i i i Componente.NET che risponde a richieste HTTP formattate tramite la sintassi SOAP. Gestori HTTP che intercettano richieste

Dettagli

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori

Dettagli

UN CLONE IN CLIKE C-LIKE DI SEGUIVISIONE

UN CLONE IN CLIKE C-LIKE DI SEGUIVISIONE IDROID 86 LAB pagg 12-13 23-04-2007 14:57 Pagina 12 I-D01 LAB UN CLONE IN CLIKE C-LIKE DI SEGUIVISIONE PROGRAMMAZIONE Alcuni comportamenti predefiniti attivabili su I-Droid01 sono facilmente riproducibili

Dettagli

Progetto Automi e Linguaggi Parser svliluppato con JLex e cup

Progetto Automi e Linguaggi Parser svliluppato con JLex e cup Progetto Automi e Linguaggi Parser svliluppato con JLex e cup Sviluppato da Santoro Carlo Maurizio Matricola:0108/528 Sviluppo terminato il: 18/06/06 TRACCIA DEL PROGETTO Si costruisca, utilizzando la

Dettagli

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata Esempi di Problema: Prendere un Caffè al Distributore Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica, e Programmi D. Gubiani

Dettagli

Corso di Visione Artificiale. Matlab per Visione. Samuel Rota Bulò

Corso di Visione Artificiale. Matlab per Visione. Samuel Rota Bulò Corso di Visione Artificiale Matlab per Visione Samuel Rota Bulò Cos'è Matlab? MATLAB MATLAB - - MATrix MATrix LABoratory LABoratory Ambiente Ambiente di di sviluppo sviluppo ed ed esecuzione esecuzione

Dettagli

progettare & costruire di GIOVANNI DI MARIA

progettare & costruire di GIOVANNI DI MARIA progettare & costruire di GIOVANNI DI MARIA Interfacciare il PC con il mondo esterno LA PORTA SERIALE DEL PC in uscita con il PIC In questa puntata interfacceremo il Personal Computer con le nostre apparecchiature

Dettagli

Laboratorio di reti II: Gestione di database lato server

Laboratorio di reti II: Gestione di database lato server Laboratorio di reti II: Gestione di database lato server Stefano Brocchi brocchi@dsi.unifi.it 23 marzo, 2009 Stefano Brocchi Laboratorio di reti II: Database 23 marzo, 2009 1 / 32 Uso di database lato

Dettagli

SMS-GPS MANAGER. Software per la gestione remota ed automatizzata dei telecontrolli gsm con e senza gps

SMS-GPS MANAGER. Software per la gestione remota ed automatizzata dei telecontrolli gsm con e senza gps SOFTWARE PER LA GESTIONE DEI TELECONTROLLI SMS-GPS MANAGER Software per la gestione remota ed automatizzata dei telecontrolli gsm con e senza gps Rev.1009 Pag.1 di 10 www.carrideo.it INDICE 1. DESCRIZIONE

Dettagli

Elementi di Informatica

Elementi di Informatica Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica Algoritmi, e Programmi D. Gubiani 29 marzo 2010 D. Gubiani Algoritmi, e Programmi

Dettagli

Cicli in Visual Basic for Application. For contatore = inizio To fine istruzioni Next contatore

Cicli in Visual Basic for Application. For contatore = inizio To fine istruzioni Next contatore Cicli in Visual Basic for Application Le strutture del programma che ripetono l'esecuzione di una o più istruzioni sono chiamate Cicli. Alcune strutture per i cicli sono costruite in modo da venire eseguite

Dettagli

Caratteristiche dell'applicativo da utilizzare Schema generale della procedura e organizzazione dei dati

Caratteristiche dell'applicativo da utilizzare Schema generale della procedura e organizzazione dei dati Esame di Stato Istituto Tecnico Commerciale CORSO SPERIMENTALE Progetto "MERCURIO" Indirizzo: PROGRAMMATORI Soluzione della Seconda Prova Tema di: INFORMATICA Anno Scolastico: 2002-2003 Riflessioni e apparecchiature

Dettagli

Lezione III: Oggetti ASP e interazione tramite form HTML

Lezione III: Oggetti ASP e interazione tramite form HTML Lezione III: Oggetti ASP e interazione tramite form HTML La terza lezione, come le precedenti, ha avuto una durata di due ore, di cui una in aula e l altra in laboratorio, si è tenuta alla presenza della

Dettagli

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Il Software e Il Sistema Operativo Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Cosa Impareremo Programmi e Processi Struttura del Sistema Operativo Sviluppo di Programmi I files e la loro

Dettagli

Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 9

Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 9 Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 9 Anno accademico 2006-07 Titolare corso: Prof. Costanza Torricelli Docente: Dott.ssa Marianna Brunetti Variabili

Dettagli

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM Procedure memorizzate SQL-2003/PSM Procedure memorizzate nel database Programmazione general-purpose Leggere sezione 8.2 di Garcia-Molina et al. Lucidi derivati da quelli di Jeffrey D. Ullman 1 Una estensione

Dettagli

Controllo comunicazioni

Controllo comunicazioni Controllo comunicazioni Il controllo comunicazioni consente di aggiungere nell'applicazione funzioni semplici per comunicazioni attraverso porte seriali nonché funzioni avanzate per la creazione di uno

Dettagli

Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 13

Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 13 Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 13 Anno accademico 2006-07 Titolare corso: Prof. Costanza Torricelli Docente: Dott.ssa Marianna Brunetti I

Dettagli

Data Mining Algoritmi e Programmazione

Data Mining Algoritmi e Programmazione Data Mining Algoritmi e Programmazione Turning Point Professore: Tommaso Gastaldi A cura di: Nello Procaccioli 1 DEFINIZIONE ASK E BID Prima di proiettarsi sul discorso riguardo l algoritmo da utilizzare

Dettagli

Tris, anagrammi e dintorni

Tris, anagrammi e dintorni Tris, anagrammi e dintorni Giocando a tris 1 mi sono sempre chiesto quale fosse la probabilità di vincere la partita iniziando per primo. È in effetti indubbio che le probabilità di riuscita siano superiori:

Dettagli

A.A. 2003-2004. Alessandro Lubisco. Indice

A.A. 2003-2004. Alessandro Lubisco. Indice Laboratorio di indagini campionarie A.A. 2003-2004 Visual Basic for Application in Access 2000 Alessandro Lubisco Indice Definizioni...5 Istruzione...5 Variabile...5 Espressione...5 Espressione numerica...5

Dettagli

Il PLC per tutti PRATICA

Il PLC per tutti PRATICA Settima parte: Settembre 2007 I Relays e la gestione dei dati Ottava parte: Ottobre 2007 Utilizzare il modulo Led a 7 segmenti giganti Nona parte: Novembre 2007 Applicazioni con i display a 7 segmenti

Dettagli

1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/2014. 1.1 Lato client

1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/2014. 1.1 Lato client RETI INFORMATICHE - SPECIFICHE DI PROGETTO A.A. 2013/2014 1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/2014 Il progetto consiste nello sviluppo di un

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

ISI s.r.l. Corso di Access 05 CREARE UN ELENCO MAILING ED INVIARE MESSAGGI DI POSTA ELETTRONICA Pag. 1/6

ISI s.r.l. Corso di Access 05 CREARE UN ELENCO MAILING ED INVIARE MESSAGGI DI POSTA ELETTRONICA Pag. 1/6 Pag. 1/6 Quello che vogliamo ottenere con questo database è un semplice programma che permetta di fare mailing tramite posta elettronica. 1 Dopo aver creato il database con Access 97 o 2000 è necessario

Dettagli

Podium View TM 2.0 Software di cattura delle immagini Visual Presenter Manuale d uso - Italiano

Podium View TM 2.0 Software di cattura delle immagini Visual Presenter Manuale d uso - Italiano Podium View TM 2.0 Software di cattura delle immagini Visual Presenter Manuale d uso - Italiano Indice 1. Introduzione... 2 2. Requisiti di sistema... 2 3. Installa Podium View... 3 4. Connessione all

Dettagli

LA SCHEDA DEL MODULO ARMS

LA SCHEDA DEL MODULO ARMS IDROID 68 LAB 10-13 11-12-2006 14:17 Pagina 10 LA SCHEDA DEL MODULO ARMS BRACCIA E HAND TOOL, 1 COMPONENTI 1. Inizia una nuova fase, e parte subito con un componente di importanza cruciale: una scheda

Dettagli

DISPENSA INTRODUTTIVA ALL'EDITOR DI PAGINE HTML DI STAROFFICE 7

DISPENSA INTRODUTTIVA ALL'EDITOR DI PAGINE HTML DI STAROFFICE 7 DISPENSA INTRODUTTIVA ALL'EDITOR DI PAGINE HTML DI STAROFFICE 7 L editor di pagine HTML si StarOffice è un editor di pagine scritte con il linguaggio HTML. Un testo HTML è un documento ipermediale, scritto

Dettagli

Le L z e ione n e d i d V isu s a u l B asi s c Prof.ssa Paola Goi 1

Le L z e ione n e d i d V isu s a u l B asi s c Prof.ssa Paola Goi 1 Lezione di Visual Basic Prof.ssa Paola Goi 1 VISUAL BASIC E un ambiente di programmazione che permette una programmazione: VISUALE AD EVENTI Per creare programmi applicativi nel sistema operativo Windows.

Dettagli

Interoperabilità. Open Database Connectivity (ODBC)

Interoperabilità. Open Database Connectivity (ODBC) Interoperabilità L utilizzo contemporaneo di sorgenti di dati (data source) eterogenee in singole applicazioni è il principale problema in progetti complessi e distribuiti. La soluzione passa attraverso

Dettagli

Motore passo passo: Laboratorio di Elettronica 1

Motore passo passo: Laboratorio di Elettronica 1 Motore passo passo: Laboratorio di Elettronica 1 Motore passo passo: Cuscinetto Rotore Cuscinetto Statore Laboratorio di Elettronica 2 Motore passo passo: Statore ( #8 bobine contrapposte a due a due:

Dettagli

http://ennius.interfree.it/vba/vba89.htm Stampa questa pagina

http://ennius.interfree.it/vba/vba89.htm Stampa questa pagina 1 of 7 26/02/2007 18.09 Stampa questa pagina Controllo comunicazioni MSCOMM32.OCX per comunicare col Modem e/o chiamare numeri telefonici. Premetto che non ho nè provato, nè intendo farlo, ad usare le

Dettagli

LAVORI ESTIVI DI INFORMATICA PER LA CLASSE IV Sez. Ainf (Prof. Tessore Luca)

LAVORI ESTIVI DI INFORMATICA PER LA CLASSE IV Sez. Ainf (Prof. Tessore Luca) Ministero dell Istruzione, dell Università e della Ricerca Istituto Tecnico Industriale Statale Enrico Mattei Via Martiri di Cefalonia 46-20097 San Donato Milanese Tel. 0255691411 - Fax 025276676 itisando@tin.it

Dettagli

PIANO DI LAVORO DEI DOCENTI

PIANO DI LAVORO DEI DOCENTI Pag. 1 di 6 Docente: Materia insegnamento: SISTEMI ELETTRONICI AUTOMATICI Dipartimento: ELETTRONICA Classe Anno scolastico: 1 Livello di partenza (test di ingresso, livelli rilevati) Sono richieste conoscenze

Dettagli

Introduzione a Visual Basic Premessa

Introduzione a Visual Basic Premessa Introduzione a Visual Basic Premessa Questo testo è stato tratto dal sito, sintetizzato e rielaborato in formato PDF esclusivamente per uso didattico. Il corso è pensato per quanti non hanno alcuna conoscenza

Dettagli

Programmazione di Base Variabili Array Funzioni Strutture di controllo. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Programmazione di Base Variabili Array Funzioni Strutture di controllo. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO) Programmazione di Base Variabili Array Funzioni Strutture di controllo Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO) 3^ parte Com è fatto Arduino Programmazione da USB Nota: Firmware: Insieme

Dettagli

By E.M. note sull'uso di GAMBAS

By E.M. note sull'uso di GAMBAS By E.M. note sull'uso di GAMBAS GAMBAS viene installato sotto Xubuntu nella directory: /usr/share/gambas2 link problema su uso dell'esempio SerialPort http://gambasrad.org/zforum/view_topic?topic_id=1057

Dettagli

Realizzare semplici applicazioni windows

Realizzare semplici applicazioni windows ITIS Mattei - Prof. Luca Tessore Laboratorio in pillole: VisualBasic Realizzare semplici applicazioni windows Prerequisiti: Matematica: operazioni di base e calcolo letterale. Informatica: saper gestire

Dettagli

Hosting Applicativo Installazione Web Client

Hosting Applicativo Installazione Web Client Hosting Applicativo Installazione Web Client Utilizzo del portale di accesso e guida all installazione dei client Versione ridotta Marzo 2012 Hosting Applicativo Installazione Web Client 21 1 - Prerequisiti

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

Dettagli

APPENDICE A Servlet e Java Server Page

APPENDICE A Servlet e Java Server Page APPENDICE A Servlet e Java Server Page A.1 Cosa è una Servlet e come funziona Una servlet è un particolare tipo di applicazione Java, in grado di essere eseguita all'interno di un web server e di estenderne

Dettagli

DUE GRUPPI DI COMANDI

DUE GRUPPI DI COMANDI LEZIONE16 SQL DDL PAG. 1 / 9 PROF. ANDREA ZOCCHEDDU LEZIONE16 SQL DDL LINGUAGGIO SQL DATA DESCRIPTION LANGUAGE DUE GRUPPI DI COMANDI I comandi del linguaggio SQL sono divisi in due grandi gruppi che formano

Dettagli

SISTEMI OPERATIVI 3 febbraio 2014 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR

SISTEMI OPERATIVI 3 febbraio 2014 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR SISTEMI OPERATIVI 3 febbraio 2014 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR Cognome: Nome: Matricola: 1. Ricordate che non potete usare calcolatrici o materiale didattico,

Dettagli

Corso basi di dati Mantenere dati persistenti

Corso basi di dati Mantenere dati persistenti Corso basi di dati Mantenere dati persistenti Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre Problema? Internet è basata sul modello client/server: 1. Il client apre un canale

Dettagli

N.B: Clicca qui per scaricare il file.zip con tutti gli sketch utilizzati per realizzare il sistema di telepresenza.

N.B: Clicca qui per scaricare il file.zip con tutti gli sketch utilizzati per realizzare il sistema di telepresenza. www.marcopucci.it www.creativecommons.org Arduino Tutorial #14 - Sistema di Telepresenza Materiale utilizzato Arduino UNO - WiFi Shield - motorino servo 180 - supporto per smartphone - smartphone. Per

Dettagli

ISTITUTO DI ISTRUZIONE SUPERIORE Cigna Baruffi Garelli

ISTITUTO DI ISTRUZIONE SUPERIORE Cigna Baruffi Garelli Attività svolta 1. UNITÀ DI APPRENDIMENTO 1: RIPASSO E APPROFONDIMENTO DEGLI ARGOMENTI PRECEDENTI 1.1. Concetti elementari di informatica Algoritmo, Dato, Informazione Campi di applicazione e classificazione

Dettagli

INTRODUZIONE. La storia. tratto da a SCUOLA con VISUAL BASIC di C. Fabbi - P.L. Farri

INTRODUZIONE. La storia. tratto da a SCUOLA con VISUAL BASIC di C. Fabbi - P.L. Farri tratto da a SCUOLA con VISUAL BASIC di C. Fabbi - P.L. Farri INTRODUZIONE La storia Visual Studio è software di sviluppo della Microsoft utile a costruire nuovi programmi eseguibili. Nato negli anni '90

Dettagli

PHP e MySQL. Guida scaricata da www.webstyling.it

PHP e MySQL. Guida scaricata da www.webstyling.it Home -> Manuali & Tutorials -> Guida PHP PHP e MySQL E' possibile realizzare delle applicazioni in php appoggiandosi ad un database, quale ad esempio MySQL. Con le novità introdotte ai tempi di MySQL 4.1

Dettagli

Note operative per Windows XP

Note operative per Windows XP Note operative per Windows XP AVVIO E ARRESTO DEL SISTEMA All avvio del computer, quando l utente preme l interruttore di accensione, vengono attivati i processi di inizializzazione con i quali si effettua

Dettagli

Pagine Asp. Pagine Asp

Pagine Asp. Pagine Asp Pagine Asp Architettura web Esistono alcune limitazioni alle applicazioni che si possono realizzare in HTML, ad esempio non è possibile costruire un sito web che consenta all utente di accedere ai dati

Dettagli

PL/SQL Uso di un linguaggio procedurale per un database

PL/SQL Uso di un linguaggio procedurale per un database PL/SQL Uso di un linguaggio procedurale per un database Roberto Basili Corso di Basi Di Dati 1 a.a. 2000-2001 Abstract Questa breve dispensa descrive piu etesamente i contenuti della esercitazione del

Dettagli

WEBTX 01/02/04 / TIP5012 Manuale Installazione & Programmazione

WEBTX 01/02/04 / TIP5012 Manuale Installazione & Programmazione WEBTX 01/02/04 / TIP5012 Manuale Installazione & Programmazione SICURIT Alarmitalia S.p.a. Via Gadames 91 - MILANO (Italy) Tel. (02) 38070.1 (ISDN) Fax (02) 3088067 http://www.sicurit.it E-mail: info@sicurit.it

Dettagli

Corso di Programmazione ad oggetti

Corso di Programmazione ad oggetti Corso di Programmazione ad oggetti Il sistema di I/O del C++ a.a. 2008/2009 Claudio De Stefano 1 Il Modello di Von Neumann Il Modello di Von Neumann prevede che la CPU carichi in maniera sequenziale i

Dettagli

CORSO SULL USO DEGLI STRUMENTI MULTIMEDIALI SCUOLA MAZZINI 2006 Pag. 1 di 6 IMMAGINI -

CORSO SULL USO DEGLI STRUMENTI MULTIMEDIALI SCUOLA MAZZINI 2006 Pag. 1 di 6 IMMAGINI - CORSO SULL USO DEGLI STRUMENTI MULTIMEDIALI SCUOLA MAZZINI 2006 Pag. 1 di 6 IMMAGINI E RISOLUZIONE DELLO SCHERMO VIDEO Ogni PC a seconda della scheda video e del tipo di schermo può supportare diverse

Dettagli

GESTIONE DI MDB in WEB

GESTIONE DI MDB in WEB GESTIONE DI MDB in WEB Il presente documento riporta un esempio generico di gestione di un database di Access. Il lettore può personalizzare in base alle proprie esigenze sia il contenuto del database,

Dettagli

Server Email hmailserver per Windows XP

Server Email hmailserver per Windows XP Server Email hmailserver per Windows XP Prerequisiti per l installazione 1. Windows XP Sp2 2. dotnetfx2.0.exe http://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/netfx20sp2_x86.exe

Dettagli

GENEALOGIA... 1 INTERFACCIA GRAFICA E CONTROLLI VISUALI...

GENEALOGIA... 1 INTERFACCIA GRAFICA E CONTROLLI VISUALI... prof. Claudio Maccherani, Perugia, 2003 INDICE GENEALOGIA... 1 INTERFACCIA GRAFICA E CONTROLLI VISUALI... 1 GENERALITÀ... 1 AMBIENTE DI PROGRAMMAZIONE... 2 CONTROLLI... 3 PROPRIETÀ... 3 EVENTI... 4 METODI...

Dettagli

Uso del computer e gestione dei file

Uso del computer e gestione dei file Uso del computer e gestione dei file 2.1 L AMBIENTE DEL COMPUTER 1 2 Primi passi col computer Avviare il computer Spegnere correttamente il computer Riavviare il computer Uso del mouse Caratteristiche

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

S.C.S. - survey CAD system Tel. 045 / 7971883. Il menu file contiene tutti i comandi predisposti per:

S.C.S. - survey CAD system Tel. 045 / 7971883. Il menu file contiene tutti i comandi predisposti per: 1 - File Il menu file contiene tutti i comandi predisposti per: - l apertura e salvataggio di disegni nuovi e esistenti; - al collegamento con altri programmi, in particolare AutoCAD; - le opzioni di importazione

Dettagli

Java e PL/SQL. Simona Rotolo

Java e PL/SQL. Simona Rotolo Java e PL/SQL Simona Rotolo 2 Con l'uscita di Oracle 8i è possibile costruire componenti software che accedono ai dati Oracle utilizzando in modo congiunto i linguaggi PL/Sql e Java. In tal modo è possibile

Dettagli

Rappresentazione delle immagini

Rappresentazione delle immagini Elaborazione di Segnali Multimediali a.a. 2013/2014 Rappresentazione delle immagini L.Verdoliva In questa prima lezione vedremo come si rappresentano diversi tipi immagini digitali in Matlab. 1 Immagini

Dettagli

Accesso a basi di dati con ASP. Algoritmo per visualizzare un DB

Accesso a basi di dati con ASP. Algoritmo per visualizzare un DB Accesso a basi di dati con ASP 1 Algoritmo per visualizzare un DB 1. creare una connessione tra lo script ASP e il database 2. Costruire una QUERY in linguaggio SQL che opera sul database 3. Recuperare

Dettagli

Hosting Applicativo Installazione Web Client

Hosting Applicativo Installazione Web Client Hosting Applicativo Installazione Web Client Utilizzo del portale di accesso e guida all installazione dei client Marzo 2012 Hosting Applicativo Installazione Web Client Introduzione Le applicazioni CIA,

Dettagli

6 Cenni sulla dinamica dei motori in corrente continua

6 Cenni sulla dinamica dei motori in corrente continua 6 Cenni sulla dinamica dei motori in corrente continua L insieme di equazioni riportato di seguito, costituisce un modello matematico per il motore in corrente continua (CC) che può essere rappresentato

Dettagli