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

M.U.T. Modulo Unico Telematico. Specifiche tecniche interfaccia automatica per i Software Gestionali

M.U.T. Modulo Unico Telematico. Specifiche tecniche interfaccia automatica per i Software Gestionali M.U.T. Modulo Unico Telematico Specifiche tecniche interfaccia automatica per i Software Gestionali Data Redazione Documento 28/02/2011 Data Pubblicazione Documento Versione 2.1.0 Responsabile CNCE Giuseppe

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

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

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

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

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

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

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

3. La sintassi di Java

3. La sintassi di Java pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer

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

Applicazioni grafiche

Applicazioni grafiche Applicazioni grafiche I grafici all interno di un form sono realizzati attraverso gli oggetti del namespace System.Drawing. Graphics. Il namespace è incluso automaticamente nel progetto, quindi non è necessaria

Dettagli

Le variabili di Visual Basic consentono di memorizzare temporaneamente valori durante

Le variabili di Visual Basic consentono di memorizzare temporaneamente valori durante Tiipii dii Datii iin Viisuall Basiic Le variabili di Visual Basic consentono di memorizzare temporaneamente valori durante l'esecuzione di un'applicazione. Alle variabili è associato un nome, utilizzato

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

Script PHP per Configurare gli Accessi ad Internet di un router CISCO

Script PHP per Configurare gli Accessi ad Internet di un router CISCO Script PHP per Configurare gli Accessi ad Internet di un router CISCO Autore Roberto Bandiera 9 dicembre 2014 Obiettivo: scrivere uno script PHP per poter controllare da remoto la configurazione di un

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

Verifica della correttezza formale del numero di partita IVA

Verifica della correttezza formale del numero di partita IVA Verifica della correttezza formale del numero di partita IVA A tutti i soggetti che intraprendono un attività rilevante ai fini Iva (impresa, arte, professione), al momento della presentazione della dichiarazione

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

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

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

ASP 3.0 Il Sito Dinamico

ASP 3.0 Il Sito Dinamico www.idstudio.it ASP 3.0 Il Sito Dinamico di Lorenzo Garassino Introduzione e scopo del libro 1. Scenario 1.1. Il panorama 1.2. Sito Statico o Dinamico? 1.3. Prospettive 2. Cos è ASP 2.1. Descrizione 2.2.

Dettagli

In questa puntata analizzeremo

In questa puntata analizzeremo Quarta parte Implementazione del protocollo MODBUS ASCII Quinta parte Simulatore PLC Il programma di supervisione Applicazione embedded 104 In questa puntata analizzeremo l ultima parte per quello che

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

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

Controllo di un braccio meccanico

Controllo di un braccio meccanico Relazione di sistemi Alunni: Manfredi Giovanni Luca, Iaffaldano Giovanni Classe 5 A etb Coordinatore: Prof. Ettore Panella 1. Descrizione Controllo di un braccio meccanico Si vuole sviluppare un sistema

Dettagli

per le decisioni economiche e

per le decisioni economiche e Elaborazione automatica dei dati per le decisioni economiche e finanziarie VBA-MODULO 2 L ambiente VBA e la programmazione Università di Foggia Facoltà di Economia Prof. Crescenzio Gallo c.gallo@unifg.it

Dettagli

rif.: ma-mp-color ver. 10.0.1 del 16/2/2010

rif.: ma-mp-color ver. 10.0.1 del 16/2/2010 Modulo P rif.: ma-mp-color ver. 10.0.1 del 16/2/2010 Manuale del modulo Color Grayscale per la linea di sistemi di visione artificiale HQV / Vedo. Questo manuale illustra le modalità di impiego del modulo

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

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

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

Il formato BITMAP. Introduzione. Il formato BITMAP

Il formato BITMAP. Introduzione. Il formato BITMAP Il formato BITMAP Introduzione Il Bitmap è il formato di visualizzazione delle immagini dei sistema operativo Windows e, anche se è uno dei formati più vecchi, è ancora molto utilizzato e soprattutto è

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

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

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

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

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

Linguaggi di Programmazione

Linguaggi di Programmazione Corso di Base Visual Basic è un linguaggio di programmazione WUI (Windows User Interface) di casa Microsoft, abbastanza potente e molto semplice nella sintassi e nelle funzionalità, adatto quindi sia al

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

Capitolo 7: Internet All-in-One

Capitolo 7: Internet All-in-One Capitolo 7: Internet All-in-One 7.1 Cos è Internet All-in-One Terminata la parte introduttiva all argomento, possiamo finalmente andare ad approfondire Internet All-in-One, il software che abbiamo sviluppato

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

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

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

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

Userform : Come crearle

Userform : Come crearle Ads by GoogleFree Excel Tutorial A Dedicated Website To Free Excel Tutorial Your-Tutorial.infoOffice Open XML Work With XML Data Saved in Office 2007 Documents. Try Free! www.altova.com/officeopenxml Finora

Dettagli

1238 1*8 2 +2*8 1 +3*8 0

1238 1*8 2 +2*8 1 +3*8 0 COGNOME E NOME: Università degli Studi di Brescia ELEMENTI DI INORMATICA E PROGRAMMAZIONE ALLIEVI Ingegneria GESTIONALE PARTE A.1 - ELEMENTI 00/00/0000 NUM. MATRICOLA PER RITIRARSI SCRIVERE QUI "RITIRATO"

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

Laboratorio Algoritmi 2014 Secondo Semestre

Laboratorio Algoritmi 2014 Secondo Semestre Laboratorio Algoritmi 2014 Secondo Semestre Lunedì 14:30 17:30 Aula 2. Ricevimento: inviare e-mail a frasca@di.unimi.it. 44 ore (9 CFU) Linguaggio di programmazione: MATLAB Esame : progetto e/o prova scritta

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

Servizi web in LabVIEW

Servizi web in LabVIEW Servizi web in LabVIEW Soluzioni possibili, come si utilizzano. 1 Soluzioni possibili WEB SERVER Dalla versione 5.1 di LabVIEW è possibile implementare un Web server che consente di operare da remoto sul

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

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

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

PROGRAMMA FINALE SVOLTO CLASSE 1 BT A.S. 2014/15

PROGRAMMA FINALE SVOLTO CLASSE 1 BT A.S. 2014/15 Istituto di Istruzione Superiore V. Bachelet Istituto Tecnico Commerciale - Liceo Linguistico Liceo Scientifico Liceo Scienze Umane Via Stignani, 63/65 20081 Abbiategrasso Mi PROGRAMMA FINALE SVOLTO CLASSE

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

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

è importante farci conoscere e comunicare ai giovani la nostra passione e poi, si sa, da cosa nasce cosa... Premessa. Il Progetto.

è importante farci conoscere e comunicare ai giovani la nostra passione e poi, si sa, da cosa nasce cosa... Premessa. Il Progetto. La Radio nelle scuole, storia di un progetto portato a termine dalla Sezione ARI di Padova in collaborazione con l Istituto Tecnico Industriale F. Severi di Padova. è importante farci conoscere e comunicare

Dettagli

Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda)

Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda) Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda) Il candidato realizzi inoltre il sito Internet del centro che deve permettere, tra

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

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

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

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE CORSO INTRODUTTIVO DI INFORMATICA NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE Dott. Paolo Righetto 1 CORSO INTRODUTTIVO DI INFORMATICA Percorso dell incontro: 1) Alcuni elementi della configurazione hardware

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

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

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

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

Laboratorio di Informatica Lezione 2

Laboratorio di Informatica Lezione 2 Laboratorio di Informatica Lezione 2 Cristian Consonni 30 settembre 2015 Cristian Consonni Laboratorio di Informatica, Lezione 2 1 / 42 Outline 1 Commenti e Stampa a schermo 2 Strutture di controllo 3

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

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

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

CONTROLLI AUTOMATICI E AZIONAMENTI ELETTRICI Ingegneria Meccatronica

CONTROLLI AUTOMATICI E AZIONAMENTI ELETTRICI Ingegneria Meccatronica CONTROLLI AUTOMATICI E AZIONAMENTI ELETTRICI Ingegneria Meccatronica CONTROLLI AUTOMATICI e AZIONAMENTI ELETTRICI INTRODUZIONE A MATLAB Ing. Alberto Bellini Tel. 0522 522626 e-mail: alberto.bellini@unimore.it

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

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

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

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

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50 Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE 4.50 Inizializzazione: creazione del nuovo progetto e del file sorgente in ambiente JCreator Al lancio del programma si apre la finestra

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

RenderCAD S.r.l. Formazione

RenderCAD S.r.l. Formazione Corso Descrizione La durata di questo corso è complessivamente di ore 150 di cui 85 ore di teoria, 35 ore di pratica e 30 ore di stage in azienda. Nel nostro territorio esiste una richiesta di tale figura,

Dettagli

Il software e la programmazione

Il software e la programmazione Il software e la programmazione Concetti base sul software Elementi di programmazione Cenni sul linguaggio Pascal Che cosa è il software Determina ciò che un computer può fare Include istruzioni memorizzate

Dettagli

Indice. 1.13 Configurazione di PHP 26 1.14 Test dell ambiente di sviluppo 28

Indice. 1.13 Configurazione di PHP 26 1.14 Test dell ambiente di sviluppo 28 Indice 25 184 Introduzione XI Capitolo 1 Impostazione dell ambiente di sviluppo 2 1.1 Introduzione ai siti Web dinamici 2 1.2 Impostazione dell ambiente di sviluppo 4 1.3 Scaricamento di Apache 6 1.4 Installazione

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

VBScript. VBScript. Visual Basic Scripting Edition. Linguaggio di script per browser e server Microsoft Deriva da Visual Basic, ma è interpretato

VBScript. VBScript. Visual Basic Scripting Edition. Linguaggio di script per browser e server Microsoft Deriva da Visual Basic, ma è interpretato VBScript Visual Basic Scripting Edition 1 VBScript Linguaggio di script per browser e server Microsoft Deriva da Visual Basic, ma è interpretato 2 Pag. 1 Principali caratteristiche Fine istruzione singola

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

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

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

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

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

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

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

Linguaggio e Architettura

Linguaggio e Architettura Parte 1 Linguaggio e Architettura IL LINGUAGGIO DELL INFORMATICA 1.1 1 Importante imparare il linguaggio dell informatica L uso Lusodella terminologia giusta è basilare per imparare una nuova disciplina

Dettagli

APPUNTI SU ADO (ACTIVEX DATA OBJECTS)

APPUNTI SU ADO (ACTIVEX DATA OBJECTS) APPUNTI SU ADO (ACTIVEX DATA OBJECTS) Introduzione ADO (Activex Data Object) è il sistema di accesso a database che noi utilizzeremo in ambiente Microsoft, sia da Visual Basic sia da pagine ASP. Activex

Dettagli

Note operative per Windows 7

Note operative per Windows 7 Note operative per Windows 7 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