Parallelport LEDs

Mål:

Att Koppla in 8 dioder till en linux datorn och styra dom individuelt är enkelt. Det enda som behövs är en parallel port, några dioder och lite kablar, Om man vill kan man dessutom byta ut dioderna mot till exempel relän. Till den kan man till exemepel koppla in en bordslampa och sedan styra den via script eller till exempel crontab. Kopplar man sedan in till exempel en ir mottagare kan man styra upp till 8 elektriska apparater i huset via fjäärkontrollen. Något sånt hade jag tänkt göra senare, men jag börjar först med att kolla så att jag lyckas programmera parallel porten rätt.

För att se resultatet av mitt projektet kan du gå in på http://nojja.foxure.com/cam/, Där kan även vem som helst stänga och starta dioderna via en php modul

Material

Jag använde några motstånd och dioder som jag hade hemma när jag lödde ihop det här. Som mjukvara tog jag k74. Ett väldigt enkelt program.

Parallel porten

De pinnar som är intressanta på parallel porten är 2 till 9, de portarna är antingen i low logic mode, och ligger då på 0volt eller high logic mode och är då på 5volt. Pinnarna 18 till 25 är GND, det spelar ingen roll vilken man använder. Det finns även 4 portar till som man kan styra induviduellt. De ligger på en annan address och jag har inte tagit mej tid att kolla hur man kontrollerar det.

Seriekoppla dioden med ett modstånd, lämpligt motstånd borde vara ungefär 500ohm. Koppla sedan så det längre benet på dioden går till dataportarna, och det kortare till någon av GND pinnarna.

k74

Använd sedan programet k74 för att skicka ut ström och stänga av ström på dataportarna. Programmet finns på freshmeat. Källkoden går att ladda ner härifrån, jag har även en kompilerad version för nedladdning. Hurvida den fungerar bra på andra linux versioner vet jag inte:)

k74-10.tar.gz

För att installare.
wget http://www.foxure.com/parallelport/k74-10.tar.gz
tar -zxvf k74-1.0.tar.gz
./configure
make
make install

Usage: k74 [options] [bit] [command] ...

Options
    -v  --verbose     issue copyright statement during operation
    -V  --version     display version information
    -h  --help        display program usage information
    -p  --port n      set parallel port for next operation (0,1,2)
                      (n may also be 0x378, 0x278, or 0x3bc)
Bits
    n                 bit number, zero through seven
    all               all bits, mask 0xff
    lower             lower half of byte, mask 0x0f
    upper             upper half of byte, mask 0xf0

Commands
    set               set the bits
    clear             clear the bits
    toggle            change the state of the bits
    write n           write decimal number n to the port
    read              read the port and print on stdout in decimal

Examples
    # k74 all set                (turns on all bits)
    # k74 6 clear                (turns off bit six)