Scheda usb L’Hardware 5 ingressi digitali (0=massa, 1=aperto) (tasto di test disponibile sulla scheda); - 2 ingressi analogici - 8 uscite digitali open collector (valori massimi: 50V/100mA, LED di indicazione sulla scheda); - 2 uscite analogiche (da 0 a 5V, impedenza di uscita 1,5K) o onda PWM (da 0% a 100% uscite di open collector; livelli massimi: 100mA/40V, indicatori a LED presenti sulla scheda); - tempo di conversione medio: 20ms per comando; - alimentazione richiesta dalla porta USB: circa 70mA: - include DLL software per diagnostica e comunicazione- test separati degli ingressi/uscite; - funzione di "clear all" e "set all"; - funzione di conteggio sugli ingressi 1 e 2 con possibilità di impostare il periodo dell'antirimba Jumper per settare l’indirizzo !!! Scheda usb Il software Attenzione Driver k8055.dll • Per evitare problemi è necessario che il file dll k8055.dll deve trovarsi nella cartella del file cpp !!! Impostazioni dev_c++ • Procedure generali OpenDevice (CardAddress): Apre il collegamento al dispositivo; CloseDevice: Chiude il collegamento al dispositivo. Procedure convertitore analogico/digitale ReadAnalogChannel (Channel no): Legge lo stato di un canale di ingresso analogico; ReadAllAnalog (Data1, Data2): Legge lo stato di entrambi i canali di ingresso analogici. • Procedure conversione digitale/analogica OutputAnalogChannel (Channel,Data): Imposta il canale di uscita analogico in funzione dei dati; OutputAllAnalog (Data1,Data2): Imposta entrambi i canali di uscita analogici in funzione dei dati; ClearAnalogChannel (Channel): Imposta il canale di uscita analogico al minimo; ClearAllAnalog: Imposta i canali di uscita analogici al minimo; SetAnalogChannel (Channel): Imposta il canale di uscita analogico al massimo; SetAllAnalog: Imposta i canali di uscita analogici al massimo. • Procedure uscita digitale WriteAllDigital (Data): Imposta le uscite digitali in funzione dei dati; ClearDigitalChannel (Channel): Azzera il canale di uscita; ClearAllDigital: Azzera tutti i canali di uscita; SetDigitalChannel (Channel): Imposta il canale digitale; SetAllDigital: Imposta tutti i canali digitali. Procedure e funzioni ingresso digitale ReadDigitalChanneln (Channel): Legge lo stato del canale di ingresso; ReadAllDigital (Buffer): Legge lo stato di tutti i canali di ingresso. • Procedure e funzioni counter ResetCounter (CounterNr): Resetta il contatore di impulsi a 16 bit numero 1 o numero 2; ReadCounter (CounterNr): Legge il contenuto del contatore di impulsi numero 1 o numero 2; SetCounterDebounceTime (CounterNr, Debounce Time): Imposta il tempo di antirimbalzo del contatore di impulsi. File Prova0_0 File header con la definizioni “nascoste delle funzioni della scheda” h vale 0 la dll non è presente e gestisco l’errore Se trovo la dll che gestisce la k8055, apro la connessione con la scheda di indirizzo 3 Controllo se l’ indirizzo è 3 if (foundDLL) { ClearAllDigital(); Azzero tutte le uscite: se sono attive si spengono do{ if (ReadAllDigital()==1) {SetDigitalChannel(1) ; } else {ClearDigitalChannel(1); } } while( 1==1); CloseDevice(); FreeLibrary(hDLL); } } Se premo il pulsante 1 attivo l’uscita 1, altrimenti la spengo3 Esercizio 1 • Modificare il programma in modo che: – il pulsante 2 attivi l’uscita 2; – il pulsante 3 attivi l’uscita 3; – ……………………………… – il pulsante 5 attivi l’uscita 5; Esercizio 2 • Modificare il programma in modo che: – il pulsante 1 attivi l’uscita 1; – il pulsante 2 disattivi l’uscita 1; – il pulsante 3 attivi l’uscita 2; – il pulsante 4 disattivi l’uscita 2; – il pulsante 5 disattivi tutte le uscite;