Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[LPT] ledjes op je printerpoort

Pagina: 1
Acties:

Verwijderd

Topicstarter
naja na even klooien is het me gelukt om ledjes op mijn printerpoort te zetten . het resultaat is iets waar ik mee verder kan stelt nog niks voor 8 ledjes op 1 printerpoort. (ohja als je denkt leuk idee. this wel min of meer buiten de specificaties dus niet je mobo printerpoort gebruiken ...) stukje code om ledjes aan te sturen
poort 2-9 van je lpt poort zijn binaire poort en de laatste 7 zijn iig grounds dus daar mee moet je spelen. als je je vergist merk je dat het niet werkt . had ik ook last van door weerstand te gebruiken blaas je niet zo snel je printerpoort op (geen kans op kortsluiting). ledjes kan je bijvoorbeeld om je monitor hangen als looplichtje :o

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
include <conio.h> //nodig voor _outp
#include <iostream.h> // nodig voor cout
const long delay=108000; // delay tussen ledjes wisselen

    
void led(int i)
{
    long z;
    for (z=0 ; z<= delay; z++ )
    {
            //(dit stukje is voor 2 loop lichten van 4 ledjes ;-) )
                _outp(0x278,i);
                _outp(0x278,i/16);
    
    }

}

void main()
{
    char a;
    int i; //teller voor looplichtje 
    _outp(0x279,0xFF); // 
    _outp(0x27A,0x00); // ik weet niet zeker of deze nodig is ;-)
    _outp(0x278,0x00); // alle ledjes uit :)
    cout << "druk om een toets om te starten";
    cin >> a;
    while (true) //oneindige lus
    {

        for (i=16 ; i <= 128 ; i*=2)
        {
            led(i);

        }
        for ( i=128 ; i >= 16 ; i/=2)
        {
            led(i);
        }
        
    }

}

[ Voor 3% gewijzigd door Verwijderd op 12-01-2004 06:40 . Reden: codetag toegevoegd ]


Verwijderd

Thnx maar er zijn al veel progjes voor ook onder windoos, das iets handiger als oude shit

En je kon volgens mij max 16 ledjes aansturen op die manier via een iets ingewikkelder schakelingetje

[ Voor 38% gewijzigd door Verwijderd op 30-11-2002 01:50 ]


  • spacy
  • Registratie: Februari 2002
  • Laatst online: 30-11 15:52

spacy

+++

c++ ? woei dat roept MTS herinneringen op,
maar daar stuurden we onze paralelle creaties meestal voor het gemak maar aan met basic (+/- 6 jaar geleden) evenals 3 kanaals looplichtje van je ramplankie,

  • Rockster
  • Registratie: Juni 2002
  • Laatst online: 10:26
Dit stukje code is alleen bruikbaar onder win9x ivm met het direct aanspreken van de lpt-poort, onder winnt/xp zul je een andere oplossing (windows API of dll) moeten gebruiken. Je kunt idd het aantal lichtjes wat je kunt aansturen verhogen d.m.v multplexing
:)

volgende keer code tags?

[ Voor 1% gewijzigd door Rockster op 30-11-2002 01:58 . Reden: typootje ]

Mitsu PUHZ-SHW112YAA + ERSC-VM2C


  • Banzi
  • Registratie: Juni 2001
  • Laatst online: 10-11 10:38
Zoiets was ik jaren terug ook al achter... Toen ik op de middelbare school zat heb ik er een basic programma voor geschreven wat nog best wel uitgebreid was... Met VU-functies, strobo-functies, en nog veel meer... De hardware ook wat aangepast dat de poort niet alleen ledjes, maar ook 220V lampen aanstuurde...

Overigens staat standaard de LPT1 niet op poort 278, maar 378...

Ik zag, ik nam en ik kwam...


  • JER00N
  • Registratie: Maart 2002
  • Niet online
hoe sluit je die ledjes aan dan? gewoon direct op de lpt-pinnetjes :?
heb je een schema?
en btw, werkt dat progje ook onder dos?

  • Rockster
  • Registratie: Juni 2002
  • Laatst online: 10:26
De LED's kun je aansluiten op de databits 0 t/m 7, zou er wel een weerstandje tussendoen :P

Mitsu PUHZ-SHW112YAA + ERSC-VM2C


  • BaRF
  • Registratie: Augustus 2001
  • Laatst online: 08:37

BaRF

bijna kerst

het is veel leuker om, net als ik heb gedaan, optoŽs ofzo er tussen te zetten, dan kún je er tenminste wat mee, zoals lampen schakelen enzo :)

The space between is where you'll find me hiding, waiting for you


Verwijderd

Topicstarter
http://www.beyondlogic.org/porttalk/porttalk.htm voor om het draaien van proggie in w2k

je moet de leds aansluiten op pins 2-9 en je aarde (das de gene waar de weerstand aanzit) op eentje va de laatste 6 . stel je doet precies verkeerd om dan doet het niet maar is de boel niet doorgebrand . heb ik ervaring mee

ehm ik zat te kijken maar ik krijg dit proggie iig niet aan de praat in freebsd in linux zijn er wel mogelijkheden ... (via beetje assembly wat opv eel plekken wordt uitgelegd)

  • AxzZzeL
  • Registratie: November 2001
  • Laatst online: 10:17

AxzZzeL

maakt oogsnoep

Hier staat volgens mij het schema dat bedoelt wordt:
http://casemods.pointofnoreturn.org/cpumeter/tutorial-2.html

Ik heb em zelf al ingebouwd en naast die CPUmeter op die site kan je ook via Winamp die LEDs aan sturen.

Ontopic: Is het mogelijk om een soort knightrider looplicht te maken via dat programma?

Waarom makkelijk doen als het ook moeilijk kan?


Verwijderd

Topicstarter
met mijn programma ja :) eitje.

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <conio.h>
#include <iostream.h>
const long delay=72000;
const long tussendelay = 5000;
int ledjes[20]={0,0,0,0,0,0,1,2,4,8,16,32,64,128,0,0,0,0,0,0};  
void ledterug(int(i))
{
    int tot,tel1,tel2;
    
    long z;
    for (z=0 ; z<= delay; z++ )
    {
        tot=0;
        for (tel2=5;tel2>=0;tel2--)
        {
            for (tel1=0;tel1<=tel2;tel1++)
                tot+=ledjes[i+tel1];
            _outp(0x278,tot);
            tot=0;  
        }   
    }

}

void ledheen(int i)
{
    int tot,tel1,tel2;
    
    long z;
    for (z=0 ; z<= delay; z++ )
    {
        tot=0;
        for (tel2=5;tel2>=0;tel2--)
        {
            for (tel1=0;tel1<=tel2;tel1++)
                tot+=ledjes[i-tel1];
            _outp(0x278,tot);
            tot=0;  
        }   
    }
}
void main()
{
    
    int i;

    _outp(0x279,0xFF);
    _outp(0x27A,0x00);
    _outp(0x278,0x00);
    cout << "druk enter voor knightrider lampjes :)";
    cin.get();
    while (true)
    {
            

        for (i=6 ; i <= 19 ; i+=1)
        {
            ledheen(i);

        }
        for ( i=14 ; i >= 0 ; i-=1)
        {
            ledterug(i);
        }
        
    }

}


hierboven is knightrider idee (dus 1 vel ledje met daarachter steeds minder velle. alles is even uit en dan weer terug)
effe wee functies herschreven :) zodat het een beetje normaler lijkt ;-)

[ Voor 46% gewijzigd door Verwijderd op 12-01-2004 06:41 ]

Pagina: 1