Xhack
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.
Xhack

Un forum dedicato all'hacking
 
IndiceIndice  PortalePortale  CercaCerca  Ultime immaginiUltime immagini  RegistratiRegistrati  Accedi  

 

 LED lampeggiante con la porta parallela (e il C)

Andare in basso 
AutoreMessaggio
BlackLight
Moderatore
Moderatore
BlackLight


Numero di messaggi : 277
Età : 37
Data d'iscrizione : 22.08.07

LED lampeggiante con la porta parallela (e il C) Empty
MessaggioTitolo: LED lampeggiante con la porta parallela (e il C)   LED lampeggiante con la porta parallela (e il C) EmptyVen Set 28, 2007 4:04 pm

In un momento di ozio ho avuto questa idea oggi, quella di fare un circuito semplicissimo per illuminare un LED a intermittenza collegandolo alla porta parallela del pc. Il circuito è il seguente (semplicissimo, e si può usare per un numero a piacere di LED in parallelo):

LED lampeggiante con la porta parallela (e il C) Led

Il codice C per pilotarlo (sotto Linux) è un semplice codice che, in questo caso, scrive sulla porta parallela il valore binario 0000 0001 (ovvero attiva solo il primo data pin della porta, supponendo che il LED è collegato ad esso). In tal modo il LED viene alimentato in diretta con una corrente di +5V, entra in conduzione e si illumina. Dopo un secondo viene scritto sulla porta il valore binario 0000 0000, e il LED viene spento, e così via. In pratica la porta parallela può essere usata come un generatore di onde quadre. Volendo si può fare quello che si vuole, aumentare o diminuire gli intervalli on/off, collegare più LED in parallelo e giocare con i valori scritti sulla porta per accenderli e spegnerli, collegarlo ad un circuito integratore con operazionale in modo da avere un'onda triangolare a partire da un'onda quadra e avere quindi un LED che si accende gradualmente...

Eccovi il mio codice in C:

Codice:
#include <stdio.h>
#include <stdlib.h>
#include <asm/io.h>

#define PORT            0x378

main()  {
        // Attivo la porta
        if (ioperm(PORT,3,1)<0)
                exit(1);

        while (1)  {
                // Scrivo 1111 1111 sulla porta
                // in modo da alimentare tutti i data pin
                outb(0xFF,PORT);

                // Aspetto un secondo
                sleep(1);

                // Disattivo i data pin scrivendo 0000 0000 sulla porta
                outb(0,PORT);

              // Aspetto un secondo
                sleep(1);
        }
}

Buon hacking.
Torna in alto Andare in basso
http://blacklight.gotdns.org
 
LED lampeggiante con la porta parallela (e il C)
Torna in alto 
Pagina 1 di 1
 Argomenti simili
-
» Porta Ethernet

Permessi in questa sezione del forum:Non puoi rispondere agli argomenti in questo forum.
Xhack :: Other :: Elettronica-
Vai verso: