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

drukschakelaar aansluiten op de com-poort

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

Ik wil graag een drukschakelaar (met zo'n lichtje erin) aansluiten op m'n pc zodat als je 'm indrukt dat er een (zelfgemaakt) programmatje wordt uitgevoert en dat het lampje gaat branden zodat je kunt zien dat het programma actief is en als je 'm nogmaals indrukt dat ie dan vanzelfsprekend weer uit gaat.

nou heb ik alleen geen idee op welke pinnetjes van de compoort je dit moet aansluiten en hoe dit precies werkt, het programmeerwerk zal niet al te moeilijk zijn, maar ik moet natuurlijk wel weten hoe zoiets wordt aangestuurd.

Iemand enig idee waar hier meer informatie over te vinden is of het mij misschien kan vertellen want ik heb al heel wat gezocht op google en got maar nix bruikbaars kunnen vinden.

bvd.

  • Jaap-Jan
  • Registratie: Februari 2001
  • Laatst online: 07:27
Je kunt de schakelaar aansluiten op DSR (pin 6) het lichtje kan op het DTR (pin 4) pinnetje (zorg dat die 'laag blijft' in het programma). Let er wel op dat je niet veel meer dat 20mA van die poort kan trekken, dus als het lichtje iets anders is als een LED, dan kun je het niet rechtstreeks op de COM- poort aansluiten.

En het aansturen, tja. dat kan op zoveel verschillende manieren. Ik heb het een keer voor school in C++ moeten doen. Ik maakte hier gebruik van de Windows API. Dat ziet er dan zo uit (voor het laten knipperen van de LED):
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
#include <windows.h>
#include <iostream>
#include <conio.h>

using namespace std;

int main()
{
    int sleep_time = 200;

    DCB dcb;
    HANDLE hCom;
    BOOL fSuccess;
    char *pcCommPort = "COM1";

    hCom = CreateFile( pcCommPort,
            GENERIC_READ | GENERIC_WRITE,
            0,    // comm devices must be opened w/exclusive-access
            NULL, // no security attributes
            OPEN_EXISTING, // comm devices must use OPEN_EXISTING
            0,    // not overlapped I/O
            NULL  // hTemplate must be NULL for comm devices
    );
    
    if (hCom == INVALID_HANDLE_VALUE) {
        cout << "CreateFile failed with error " << GetLastError() << ".\n";
        return (1);
    }
    
    fSuccess = GetCommState(hCom, &dcb);
    if (!fSuccess) {
        cout << "GetCommState failed with error " << GetLastError() << ".\n";
        return (2);
    }

    cout << "Geef aan hoe snel het LEDje moet knipperen (in milliseconden): ";
    while (!(cin >> sleep_time))
    {
        cin.clear();
        while (cin.peek() != '\n')
            cin.ignore();
        cerr << "Alleen getallen kunnen worden ingevoerd" << endl
        << "Geef aan hoe snel het LEDje moet knipperen (in milliseconden): ";
        cin.get();
    }

    while ( kbhit() == NULL )
    {
        //set DTR high

        dcb.fDtrControl=DTR_CONTROL_ENABLE;
        SetCommState(hCom, &dcb);
        Sleep(sleep_time);

        //set DTR low
        dcb.fDtrControl=DTR_CONTROL_DISABLE;
        SetCommState(hCom, &dcb);
        Sleep(sleep_time);
    }

    return 0;
}


Allemaal niet verschrikkelijk netjes, maar het werkt.

[ Voor 82% gewijzigd door Jaap-Jan op 12-12-2004 17:56 ]

| Last.fm | "Mr Bent liked counting. You could trust numbers, except perhaps for pi, but he was working on that in his spare time and it was bound to give in sooner or later." -Terry Pratchett


  • Resistor
  • Registratie: April 2001
  • Niet online

Resistor

Niet meggeren!

Je zou ook voor een idee in [rml][ How-To] Winamp Poort control - deel 2[/rml] kunnen kijken :)

What will end humanity? Artificial intelligence or natural stupidity?


  • dion_b
  • Registratie: September 2000
  • Laatst online: 08:13

dion_b

Moderator Harde Waren

say Baah

This sounds like a case for... CME :+

Move OH->CME

Oslik blyat! Oslik!


  • -=bas=-
  • Registratie: Oktober 2000
  • Laatst online: 22-04 02:56
De printerpoor werkt ook makkelijk voor dit soort zaken en je kan er heel wat meer knopjes, lampjes en andere dingen aan hangen.
Er zijn al redelijk wat topics hierover geweest. :)

Senile! Senile Oekaki


  • tafkaw
  • Registratie: December 2002
  • Laatst online: 23-11 13:13
Aan de joystick poort kun je ook gewoon een knopje hangen. Wat je dan doet is een joystick nabootsen en dus kun je tot (meende ik) 8 knopjes aansluiten. Het ledje doe je dan dmv wat hardware (iets van een flipflop en een triac ofzo)

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 00:26

memphis

48k was toen meer dan genoeg.

De Parallelle poort FAQ

Een aardig startpunt lijkt mij.......

Er zijn mensen die mij een GOD vinden


Verwijderd

Topicstarter
Bedankt voor de replys, ik zal eens ff gaan pielen..
Pagina: 1