FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Me alegro de que te funcionara, ahora vamos a ver si puedo ayudarte con tus preguntas. Como tu bien dices, si lo que se quiere encender es una luz, lo ideal es una función que lo encienda y otra que lo apague. Pues bien lo primero que tenemos que hacer es declarar la variable hPort como global, y separar la función de arriba en 4:
Antes de usar el puerto tienes que llamar la función AbrirPuerto y cuando dejes de usarlo CerrarPuerto. Las funciones ActivarRTS y DesactivarRTS hacen lo que parece activar y desactivar RTS, para que funcionen el puerto tiene que estar abierto. En cuanto a lo de encender mas de una luz podemos utilizar además de la salida RTS la DTR con lo cual ya podemos encender 2 luces utilizando 2 circuitos como el anterior. Utilizando una combinación de ambas podríamos controlar hasta 3, pero si necesitas controlar mas ya seria necesario utilizar algún circuito que pueda establecer una comunicación serie, quizá con un microcontrolador PIC. |
#2
|
|||
|
|||
Ayuda con el DTR
Que debo hacer para usar el DTR en el codigo? el pin en db9 es el 6 creo, pero en delphi hay algo para modificar y abris y habilitar???
Mi proyecto es validar un usuario por biometria si está registrado enciende luz verde y si no esta registrado enciende luz roja y que ademas si esta registrado abra una puerta, aunque esto ultimo lo puedo obviar. Gracias por la ayuda. Eder Última edición por Casimiro Notevi fecha: 09-06-2016 a las 08:57:11. |
#3
|
||||
|
||||
Primero de todo, leer nuestra guía de estilo, gracias y bienvenido
|
#4
|
|||
|
|||
Cita:
Un ejemplo muy simple del concepto esta en el siguiente código para el arduino: Código:
char c; void setup() { // put your setup code here, to run once: Serial.begin(9600); pinMode(1,OUTPUT); //Luz Roja pinMode(2,OUTPUT); //Luz Verde pinMode(3,OUTPUT); //Puerta } void loop() { // put your main code here, to run repeatedly: if(Serial.available()>0) { c = Serial.read(); switch(c) { case 'v': digitalWrite(2,HIGH); digitalWrite(3,HIGH); delay(1000); digitalWrite(2,LOW); digitalWrite(3,LOW); break; case 'i': digitalWrite(1,HIGH); delay(1000); digitalWrite(1,LOW); break; default: break; } } } Aclaro que este es sólo un ejemplo. |
#5
|
|||
|
|||
Gracias por el dato
Gracias por la sugerencia. Voy a comprar el Arduino y el código me servirá para programarlo. En ese creo que voy a usar de una vez es comunicación por puerto USB para estar mas en la onda de puertos.
Mil gracias por la prontitud en la respuesta. EderFCR |
|
|
|