Vai al contenuto | Salta in fondo

Home

Main.InputOutputWithLinux r1.5 - 22 Oct 2006 - 12:51 - IvanGiuliani Fine pagina


Inizio pagina | Salta alle attività

Linux & Hardware Interface on USB Bus

Lo scopo di questo articolo è quello di far conoscere agli utenti una interfaccia che integra un bus I/O digitale e analogico gestibile tramite la ormai nota USB. L'interfaccia in questione K8055 è prodotta in kit o già assemblata dalla Velleman reperibile in Italia da Futura Elettronica.

L'interfaccia K8055 dispone di 5 ingressi e 8 uscite digitali open collector, 2 ingressi analogici e 2 uscite analogiche DAC e PWM (PulseWidthModulation) ed è alimentata direttamente dalla presa USB.

In particolare gli ingressi digitali 1 e 2 dispongono della funzionalità di contatore azzerabile via software e la regolazione del tempo di AntiRimbalzo.

Come facilmente intuibile le applicazioni che possono essere sviluppate sono davvero molteplici, come ad esempio centrali di allarme, centrali domotiche, controllo e rilevazione di grandezze fisiche e chi più ne ha più ne metta.

Per iniziare occore aver procurato una interfaccia K8055, installato un kernel del ramo 2.6 con supporto USBFS abilitato, installato le LibUsb dalla v0.1.8 o superiore, e recuperato uno dei pacchetti software per realizzare i primi esperimenti.

Ho preferito utilizzare il pacchetto k8055-utbm v0.3 prelevabile da http://soft.pmad.net/files/k8055/ invece di quello indicato sul sito della Velleman in quanto è perfettamente funzionante e non mi ha dato problemi di compilazione.

Scaricate e installate il software:

# tar -xvjf k8055-utbm-src-0.3.tbz
# cd k8055_src/
# ./build_linux
Connettete il dispositivo alla porta USB, il led dell'uscita 8 comincia a lampeggiare per un paio di secondi... il dispositivo è pronto a ricevere i comandi! Vediamo la sintassi:
# ./k8055 --help

K8055 version 0.3 UTBM Build
Copyright (C) 2004 by Nicolas Sutre
Copyright (C) 2005 by Bob Dempsey
Copyright (C) 2005 by Julien Etelain and Edward Nys

Syntax : ./k8055 [-P:(number)] [-D:(value)] [-A1:(value)] [-A2:(value)] [-NUM:(number) [-DELAY:(number)]]
 [-DBT1:(value)] [-BDT2:(value)] [-reset1] [-reset2] [-debug]
        -P:(number)             Set board number
        -D:(value)              Set digital output value (8 bits in decimal)
        -A1:(value)             Set analog output 1 value (0-255)
        -A2:(value)             Set analog output 2 value (0-255)
        -NUM:(number)   Set number of measures
        -DELAY:(number) Set delay between two measures (in msec)
        -DBT1:(value)   Set debounce time for counter 1 (in msec)
        -DBT2:(value)   Set debounce time for counter 2 (in msec)
        -reset1                 Reset counter 1
        -reset2                 Reset counter 2
        -debug                  Activate debug mode
Exemple : ./k8055 -P:1 -D:147 -A1:25 -A2:203

Output : (timestamp);(digital);(analog 1);(analog 2);(counter 1);(counter 2)
Note : timestamp is the number of msec when data is read since program start
Example : 499;16;128;230;9;8
499 : Measure done 499 msec after program start
16  : Digital input value is 10000 (I5=1, all other are 0)
128 : Analog 1 input value is 128
230 : Analog 2 input value is 230
9   : Counter 1 value is 9
8   : Counter 2 value is 8
Attiviamo l'uscita digitale 2:
#./k8055 -D:2
Procuratevi un multimetro possibilmente digitale e misuriamo la tensione dall'uscita analogica DAC1:
# ./k8055 -A1:64
# ./k8055 -A1:128
# ./k8055 -A1:255
# ./k8055 -A1:0
Verifichiamo lo stato degli ingressi:
# ./k8055
otterrete un output simile a questo se tenuto premuto il tasto 5:
499;16;128;230;9;8
dove il secondo valore corrisponde all'ingresso 5 (5° bit) in decimale 16.

ATTENZIONE: COLLEGARE AGLI INGRESSI E ALLE USCITE TENSIONI E CARICHI INDICATI NELLE SPECIFICHE DEL PRODUTTORE PENA IL DANNEGGIAMENTO DELLA SCHEDA O DEL PERSONAL COMPUTER. SI CONSIGLIA DI CONNETTERE INTERFACCE DI ESTENSIONE ISOLATE GALVANICAMENTE (FOTOACCOPIATORI-RELE').

Buon divertimento ! ! ! ... Ma non è finita qua

-- GiuseppeVentrella - 07 Jun 2006

Inizio pagina


Sei qui: Main > TipsAndTricks > InputOutputWithLinux



Inizio pagina

Copyright © 2008 dei contributori. Tutto il materiale di questo sito è sotto copyright dei rispettivi autori.
Idee, richieste, problemi riguardanti LUGBari? Invia suggerimenti