Lampe ein- und ausschalten
-
So hatte ich das gemacht: (Evtl. nach jedem EscapeCommFunction Aufruf noch ein Sleep(1) reinbauen - hatte ich aber nie benötigt)
void Control4094::output(unsigned char data) { if(port==INVALID_HANDLE_VALUE) return; int count=sizeof(data)*8; while(count--) { if(data&1) EscapeCommFunction(port,SETRTS); else EscapeCommFunction(port,CLRRTS); EscapeCommFunction(port,SETDTR); EscapeCommFunction(port,CLRDTR); data>>=1; } SetCommBreak(port); ClearCommBreak(port); }
-
ok danke... und um mein lämpchen anzubauen, muss ich mir extra die platine zusammenlöten?
grüsse
-
hi,
ich hab ma bei conrad geschaut:
http://www1.conrad.de/scripts/wgate/zcop_b2c/flNlc3Npb249UDkwV0dBVEU6Q19BR0FURTAxOjAwMDAuMDJmMS4xNGYxMjQ0NiZ+aHR0cF9jb250ZW50X2NoYXJzZXQ9aXNvLTg4NTktMSZ+U3RhdGU9Mzg0MDI5NTA2OA==?template=PCAT_AREA_S_BROWSE&glb_user_js=Y&shop=B2C&p_init_ipc=X&~cookies=welcher von denen passt?
danke!
-
is wohl der "SMD 74 HC 4094 SO16" oder? hat ne betriebsspannung von 2-6V
-
Du kannst auch direkt an die Parallele Schnittstelle gehen. Aber wie man dort die einzelnen Ausgänge Ein und Ausschalten kann - keine Ahnung.
3 "Lämpchen" könntest du aber an die serielle Schnittstelle dranhängen (DTR, RTS, BREAK).
http://www.oliver-kleinert.de/temp/schalt.PNG
An (1) schließt du den richtigen Pin von der PC-Schnittstelle an (Oder an den Ausgang vom IC).
An (2) kommt vom PC Masse.
An (3) kommt Minus von deiner Stromversorgung (oder vom PC-NT 5 oder 12V abgreifen) und an (4) Plus.
An (5) und (6) kommt dein Lämpchen - oder was auch immer.
Für den Widerstand sollten 5k gehen (je nach Schaltleistung und Transistor).Ich glaube nicht das das das richtige IC ist.
Das sollte das richtige sein: http://www.reichelt.de/inhalt.html?SID=10QFMBFtS4AQoAAG6j8%40M23a65afc3186009637e389c6977800ab;ACTION=3;LASTACTION=4;SORT=artikel.artnr;GRUPPE=A2211;WG=0;SUCHE=4094;ARTIKEL=MOS%204094;START=0;END=15;STATIC=0;FC=667;PROVID=0;TITEL=0
Sogar billiger als ich dachte.
-
ok danke! mal schauen ob ich irgendwo ne anleitung finde wie man das ding programmiert
-
testguest schrieb:
ok danke! mal schauen ob ich irgendwo ne anleitung finde wie man das ding programmiert
Wieso? Den Link hast du doch schon. Achso: Und die Z-Dioden kannst du weglassen - die sind unnötig.
-
naja, ich hab noch nich richtig verstanden, wie ich jetzt die leitung an bzw ausstelle...
EscapeCommFunction(port,SETDTR); EscapeCommFunction(port,CLRDTR);
schaltet das erste an und das zweite aus?
danke für deine hilfe
-
Ja.
-
testguest schrieb:
naja, ich hab noch nich richtig verstanden, wie ich jetzt die leitung an bzw ausstelle...
EscapeCommFunction(port,SETDTR); EscapeCommFunction(port,CLRDTR);
schaltet das erste an und das zweite aus?
danke für deine hilfe
Das erste "setzt" (set) das DTR Signal (Strom an), das zweite "löscht" (clear) es (Strom aus).
Die DTR (Data Terminal Ready) Signalleitung ist beim Modem-Stecker (COM) halt eine Deiner vielen Leitungen...http://www.krems.cc/Die_Kabel_FAQ.15.1.html
9-pol / 25-pol - 1 Schutzerde (Schirm), meist unbelegt 3 2 TxD (Transmit Data - Sendedaten zur Gegenstelle) 2 3 RxD (Receive Data - Empfangsdaten von Gegenstelle) 7 4 RTS (Reqest To Send - Empfangsbereitschaft des Modems) 8 5 CTS (Clear To Send - Sendebereitschaft) 6 6 DSR (Data Set Ready) 5 7 GND (Signalmasse) 1 8 DCD (Data Carrier Detect, man ist verbunden) 4 20 DTR (Data Terminal Ready) 9 22 RING (DCE hat Ruf erkannt)
-
und um die anderen pins zu nutzen müsste ich die erst verstärken? ich mess da ne spannung von 0,08v
.
-
hi,
ich hab das jetzt mal mit nem kleinen programm getestet und nem messgerät versucht zu messen#include <windows.h> #include <iostream> using namespace std; int main() { HANDLE hCom; hCom = CreateFile( "COM1", GENERIC_READ | GENERIC_WRITE, 0, // exclusive access NULL, // default security attributes OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL ); if (hCom == INVALID_HANDLE_VALUE) { cout<<"error gettin handle\n"; return 0; } else cout<<"got handle\n"; BOOL comreturn=EscapeCommFunction(hCom,CLRRTS); if(comreturn) cout<<"returned true\n"; else cout<<"returned false\n"; return 0; }
er gibt mir überall true zurück, allerding bleibt die spannung immer bei knapp 12 volt. ich hab sicher auch am sicheren pin gemessen ^^
liegts am programm oder was mache ich falsch?danke für hilfe!
-
ups ich mein natürlich "am richtigen pin"...
der com-port müsste auch der richtige sein, am zweiten liegt meine irda schnitstelle die aber atm im bios deaktiviert ist
-
*husd* closehandle vergessen... geht aber trotzdem nicht
-
hi,
also das mit den lampen is ganz einfach, schreib mir mal ne mail was du genau willst. ich schreibe gerade an einem prograechen und baue an einer hardware mit der ich meine eisenbahn steuern kann. sieht schon ganz gut aus, weichen stellen sich schon.
maito: marc_sperfeld@web.de