# Semaforo de tres bombillas usando triac



## jeffmarti (Ago 22, 2007)

Como hacer un semáforo de tres bombillas con un control digital y cada bombilla debe llevar un triac?

por favor si alguien sabe podría ayudarme... gracias


----------



## Fogonazo (Ago 22, 2007)

Semaforo
http://www.clubse.com.ar/download/pdf/notasrevistas09/nota03.htm

En los emisores de los trans. puedes conectar tus triac´s si colocas 3 optoaisladores mejor.


----------



## zopilote (Ago 22, 2007)

Bienvenido jeffmarti

Solo por ser tu primer post y para celebrarlo ,  te envió esto  para que puedas darle buen uso.



--------------
  zopilote


----------



## jeffmarti (Ago 28, 2007)

Muchas gracias por su ayuda


----------



## juanchox (Nov 3, 2009)

hola! me porian decir el valor de las resistencias R5, R6,R7?


----------



## melojose10 (Jun 15, 2011)

Holaaa sera que me podrian decir los valores de r5 r6 r7? por favorrrrrr


----------



## zopilote (Jun 16, 2011)

Como todos no compartimos la misma red electrica (110/220V), es que no se puso ese valor, era de 330 para 220v pero si quieres saber como se llego a eso tienes que leer un poco.


----------



## melojose10 (Jul 23, 2011)

Gracias por tu respuesta... intente montar el circuito en proteus y me da error en la simulacion.. podrias tu pasarme el circuito simulado en algun programa? porfavor ZOPILOTE.. lo necesito para un proyecto de la uni.. gracias de nuevo.


----------



## Automan (Jul 23, 2011)

zopilote dijo:


> . . . envió esto  para que puedas darle buen uso . . .



Ese circuito es perfecto para quemar un 74LSXX, y solo tengo una pregunta para zopilote:

¿Usted comprobo que ese circuito funciona en el mundo real, o ese circuito aun permanece en el mundo virtual?.

Reviselo o mejor armelo, sino sabe de que hablo.


----------



## fernandob (Jul 23, 2011)

jaaa.ya me di cuenta.,.............tenes razon........
pero mejor, que se jorobe el que lo arma sin intentar entenderlo /aprender antes.

pero tenes razon, que burrada..

mas que ayudarse entre ellas se terminan peleando .


----------



## zopilote (Jul 24, 2011)

melojose10 dijo:


> Gracias por tu respuesta... intente montar el circuito en proteus y me da error en la simulacion.. podrias tu pasarme el circuito simulado en algun programa? porfavor ZOPILOTE.. lo necesito para un proyecto de la uni.. gracias de nuevo.





No uso proteus , lo siento no poder mandartelo de esa manera.



Automan dijo:


> Ese circuito es perfecto para quemar un 74LSXX, y solo tengo una pregunta para zopilote:
> 
> ¿Usted comprobo que ese circuito funciona en el mundo real, o ese circuito aun permanece en el mundo virtual?.
> 
> ...





Si lo comprobe en el mundo real.






fernandob dijo:


> jaaa.ya me di cuenta.,.............tenes razon........
> 
> pero mejor, que se jorobe el que lo arma sin intentar entenderlo /aprender antes.
> 
> ...





Entiendo que quieran ayudar, pero solo las confunden.
Y si estan hablando de algo que puede ser mejorado se lo guardan para si mismo.
Lo único cierto es que todo lo que he posteado fue primero probado.


Etolipoz


----------



## fernandob (Jul 24, 2011)

zopilote dijo:


> No uso proteus , lo siento no poder mandartelo de esa manera.
> 
> 
> Si lo comprobe en el mundo real.
> ...


 
te mande un MP , si todos te dicen eso tenes que revisarlo con calma.
y el que inicio esto no puso NADA mas que querer que le manden todo hecho.
por eso varios aca no le dan el gusto.

si gusta la electronica que mas lindo que tener adelante algo para descubrir.
entrar a las datasheets y ver que pasa......
no te lo tomes a pecho, vos sos parte del foro , no estas hace 2 dias.


----------



## R-Mario (Jul 24, 2011)

Oigan yo tengo una pregunta, jeje es algo parecido por eso no quiero crear otro post, si "jeffmarti" se enoja pues tendre que hacer el mio, bueno la duda es esta, Quiero controlar 2 focos de cd, pero quiero usar PWM para controlar el brillo, a primera instancia se me ocurrio hacer lo de la imagen 1 y luego pense que talvez podria hacerlo sin usar compuertas y solo transistores, pero tengo la duda si es correcto hacer esto que hice y aplicarlo al mundo real. claro esta esto esta burdo solo es para mostrar la idea y me digan si esta bien hacerlo sale gracias


----------



## fernandob (Jul 24, 2011)

no esta mal .
pero en el dibujo con transistores siempre emisor comun es mejor para saturacion y no veo problemas de que uses PNP  (lso de arriba) .

luego fijate que mandas el PWm como control comun , y separas en 2 transistores o compuertas el control de cada lampara : por que ??? 
si al fin y al cabo el PWm es comun ?

salvo que me digas que controlaras cada lampara (que prenda una u otra o ambas ) con señales.
por que si usaras una tecla o algo asi , pues que usa solo una compuerta o un solo par de transistores y con las teclas conectas o desconectas lamparas.

pero "la idea "esta bien .


----------



## lubeck (Jul 24, 2011)

> me digan si esta bien hacerlo sale gracias



Segun yo esta mal... 

los transistores de arriba q3 y q4 o y la resistencias a las bases...


----------



## R-Mario (Jul 24, 2011)

fernandob dijo:


> no esta mal .
> pero en el dibujo con transistores siempre emisor comun es mejor para saturacion y no veo problemas de que uses PNP  (lso de arriba) .
> 
> luego fijate que mandas el PWm como control comun , y separas en 2 transistores o compuertas el control de cada lampara : por que ???
> ...



Si efectivamente quiero controlar el encedido de cada lampara por separado con una señal tipica de 5v pero que simpre tengan el brillo que yo diga mediante el pwm, y es cierto los transistores de arriba segun he leido no es bueno usarlos asi, en ese caso entonces ¿Si seria mejor que fueran PNP? y en general entonces si es posible usarlos asi



lubeck dijo:


> Segun yo esta mal...
> 
> los transistores de arriba q3 y q4 o y la resistencias a las bases...



Bueno es que como decia el ejemplo es burdo solo es para mostrar la idea, en realidad falta la polarizacion de cada transistor pero queria saber si la idea esta bien??


----------



## lubeck (Jul 24, 2011)

> Bueno es que como decia el ejemplo es burdo solo es para mostrar la idea, en realidad falta la polarizacion de cada transistor pero queria saber si la idea esta bien??



si le entiendo a fer y creo que es lo mismo...

yo usaria un solo par de transistores npn  q1 y q2...

ahi mandaria el pulso pwm si quisiera prenderlos y para apagarlos pues apago el pwm... o tambien eso  de poner lo pnp...


----------



## R-Mario (Jul 24, 2011)

Sip pero quiero manejar el encedido de cada lampara por separado pero aplicandoloe PWM, ahora que lo piendo tambien podria usar un multiplexor una entrada PWM y varias salidas para cada foco, activandolas con las patillas de seleccion, conocen algun, en realidad necesito controlar 6 focos entonces un multiplexor de 1 a 6 salidas hamm necesitaria 3 lineas para controlar cada salida bueno mejor voy a planear bien pero al menos me quedo conforme de que no estoy loco


----------



## shoker4 (Jul 24, 2011)

Che y no conviene hacer un PWM con un NE555 y 6 transistores de potencia en la salida? va digo, es solo una sugerencia rápida.


----------



## fernandob (Jul 24, 2011)

lo dejo picando por que recien lo encuentro...... me parece que encontre una de esas cosas "sorprendentes" de la electronica.


----------



## R-Mario (Jul 24, 2011)

Aver va de nuevo porque creo que no me entendieron es que luego soy medio wey pa explicar, quiero controlar el brillo de 6 lamparas mediante el uso de PWM, solo dispongo de una salida PWM, ahora ademas de controlar el brillo debo poder prender o apagar las lamparas que yo quiera, para ello dispongo de otras 6 salidas, por ese motivo queria usar el circuito de transistores para que con la salida PWM controle los transistores superiores y solo cuando activara un trasistor de los de abajo, se encendiera esa lampara con el brillo proporcionado por el PWM, oye FERNADOB no te entendi, soy mexicano y a veces no entiendo palabras que emplean como picando y porque dices que "sorprendente"


----------



## fernandob (Jul 24, 2011)

hola, el ultimo mensaje que puse no es para vos, es por una duda que tengo con zopilote , pero no lo compeltare hasta haberlo confirmado al tema.

tu concepto en lineas generales es correcto:
manejas cada lampara con una compuerta en una entrada le pones el control o habilitacion y en la otra el PWM , lo puedes hacer de muchas formas posibles.
eso lo eliges tu ya que sos el que tiene el circuito completo.

mira aca ota forma:

el T. comun sera de las potencia que lso demas.
o si no queres usar ese , y si solo los T de control, pues entonces una compuerta para cada uno con su habilitacion .

en fin..... segun lo que prefieras hay formas.
quizas justito son 6 salidas que ncesitas y encontras un ci que tiene justo 6 y te viene joyita.


----------



## R-Mario (Jul 24, 2011)

A ok sale voy a quemar unos transistores, circuitos y unas resistencias para probar cual me va mejor sale gracias


----------



## fernandob (Jul 24, 2011)

no hay nad para quemar para hacer eso .
o lo haces con T  o con compuertas.
y no da para quemar nada .

ni te digo cis ya que no se que conseguis facil y que no .
pero decis que trabajas con 5v , fijate que hay compuertas y buffers que tienen un control comun para habilitarlos y ahi podes meter el pwm


----------



## 3544t (Jun 27, 2018)

Ocuparé este esquema, quitaré el potenciometro y en vez de regular la potencia regularé el tiempo. El código de Arduino que ocuparé:

#include <LiquidCrystal.h>//Libreria necesaria para LCD

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);//Definiendo los pines de la LCD a utilizar
int tiempo, tiempo2, tiempo3,a,b,c;//Variables para control de tiempos

void setup() {
  // initialize digital pin 13 as an output.
  pinMode(6, OUTPUT);//PIN 6 salida
  pinMode(7, OUTPUT);//PIN 7 salida
  pinMode(8, OUTPUT);//PIN 8 salida
lcd.begin(16, 2);//Se define las dimenciones de la LCD

}

// the loop function runs over and over again forever
void loop() {
  tiempo = analogRead(0);//Declarando el PIN analogo para entrada de Voltaje
  tiempo = map(tiempo, 0, 1023, 0, 60);//Definiendo el rango de numeros que necesito para los tiempos max 60s
  a=0;//Se define como variable contadora se iguala a 0 para el inicio
while(a<=tiempo){ //Estructura repetitiva while con condicion que si 0 es menor o igual al tiempo (0s-60s) puede correr

lcd.print(" Luminaria 1 ");//Imprime el mensaje en la LCD 

lcd.setCursor(0,5);//Defino donde posicionar el numero de los segundos
lcd.print(a);//Imprime numeros de 0 a 60 con retardo de 1s cada uno en la LCD
delay(1000);//Temporizador que controla los segundos 
digitalWrite(6, HIGH);//PIN 6 encendido el tiempo que el usuario ingres (0s-60s)
lcd.clear();//Borra el mensaje de la LCD
a++;//Variable contadora de Uno en Uno hasta cumplir la condicion
}
digitalWrite(6, LOW);//PIN 6 apagar luego de terminar el ciclo while 
lcd.clear();

  tiempo2 = analogRead(1);
  tiempo2 = map(tiempo2, 0, 1023, 0, 60);
  b=0;
while(b<=tiempo2){

lcd.print(" Luminaria 2 ");
lcd.setCursor(0,5);
lcd.print(b);
delay(1000); 
digitalWrite(7, HIGH);
lcd.clear();
b++;
}
digitalWrite(7, LOW);
lcd.clear(); 

  tiempo3 = analogRead(2);
  tiempo3 = map(tiempo3, 0, 1023, 0, 60);
   c=0;
while(c<=tiempo3){

lcd.print(" Luminaria 3");

lcd.setCursor(0,5);
lcd.print(c);
delay(1000);
digitalWrite(8, HIGH);
lcd.clear();
c++;
}
digitalWrite(8, LOW);
lcd.clear();
}


----------



## 3544t (Jul 2, 2018)

Buenas. Estoy intentando hacer que se muestre mediante una LCD y con Arduino (simulando un semáforo), el control del tiempo transcurrido mientras se enciende cada foco y a su vez el tiempo seleccionado que se mantendrá encendido cada foco mediante un potenciómetro.
He logrado que cuente los segundos transcurrido, sin embargo el tiempo de seteado solo se muestra brevemente al inicio de cada ciclo y luego se refresca la pantalla empezando el conteo por separado.
Lo que necesito es que se muestre a la vez el tiempo transcurrido y el tiempo seleccionado sin que se interfieran entre sí.
Nada más lo podré variar mediante un potenciómetro.

Les comparto el código que tengo:

```
#include <LiquidCrystal.h>//Libreria necesaria para LCD

LiquidCrystal lcd(2, 4, 9, 10, 11 , 12);//Definiendo los pines de la LCD a utilizar
int tiempo, tiempo2, tiempo3,a,b,c, val, val2, val3;//Variables para control de tiempos

void setup() {
  // initialize digital pin 13 as an output.
  pinMode(6, OUTPUT);//PIN 6 salida
  pinMode(7, OUTPUT);//PIN 7 salida
  pinMode(8, OUTPUT);//PIN 8 salida
lcd.begin(16, 2);//Se define las dimenciones de la LCD
 

}

// the loop function runs over and over again forever
void loop() { //aquí es el tiempo de seteo
   int sensorValue = analogRead(A0);
     sensorValue = map(sensorValue, 0, 1023, 0, 60);
    Serial.println(sensorValue);
    lcd.print(sensorValue);
    lcd.setCursor(3,1);
    delay(100);

    int sensorValue1 = analogRead(A1);
    sensorValue1 = map(sensorValue1, 0, 1023, 0, 60);
    Serial.println(sensorValue1);
    lcd.print(sensorValue1);
    lcd.setCursor(6,1);
    delay(100);
     int sensorValue2 = analogRead(A2);
    sensorValue2 = map(sensorValue2, 0, 1023, 0, 60);
    Serial.println(sensorValue2);
    lcd.print(sensorValue2);
    lcd.setCursor(9,1);
    delay(100);
  tiempo = analogRead(0);//Declarando el PIN analogo para entrada de Voltaje
  tiempo = map(tiempo, 0, 1023, 0, 60);//Definiendo el rango de numeros que necesito para los tiempos max 60s
  a=0;//Se define como variable contadora se iguala a 0 para el inicio
while(a<=tiempo){ //Estructura repetitiva while con condicion que si 0 es menor o igual al tiempo (0s-60s) puede correr

lcd.print(" Foco 1 ");//Imprime el mensaje en la LCD

lcd.setCursor(9,0);//Defino donde posicionar el numero de los segundos
lcd.print(a);//Imprime numeros de 0 a 60 con retardo de 1s cada uno en la LCD
delay(1000);//Temporisador que controla los segundos
digitalWrite(6, HIGH);//PIN 6 encendido el tiempo que el usuario ingres (0s-60s)
lcd.clear();//Borra el mensaje de la LCD
a++;//Variable contadora de Uno en Uno hasta cumplir la condicion
}
digitalWrite(6, LOW);//PIN 6 apagar luego de terminar el ciclo while
lcd.clear();

  tiempo2 = analogRead(1);
  tiempo2 = map(tiempo2, 0, 1023, 0, 60);
  b=0;
while(b<=tiempo2){

lcd.print(" Foco 2 ");
lcd.setCursor(9,0);
lcd.print(b);
delay(1000);
digitalWrite(7, HIGH);
lcd.clear();
b++;
}
digitalWrite(7, LOW);
lcd.clear();


  tiempo3 = analogRead(2);
  tiempo3 = map(tiempo3, 0, 1023, 0, 60);
   c=0;
while(c<=tiempo3){

lcd.print(" Foco 3");

lcd.setCursor(9,0);
lcd.print(c);
delay(1000);
digitalWrite(8, HIGH);
lcd.clear();
c++;
}
digitalWrite(8, LOW);
lcd.clear();
}
```


----------

