7/7/2014 Ramón González: Proyecto PIC: Semáforo
http://ramon-gzz.blogspot.com/2012/05/proyecto-pic-semaforo.html 1/6
Programación y esas cosas...
Ramón González
A ds by O nlineBrowserA dv ertising A d O ptions
8 de mayo de 2012
Proyecto PIC: Semáforo
Cómputo Integrado
Proyecto PIC
Para esta entrega del proyecto PIC decidí hacer algo simple, un semáforo, con
la idea de que nos encontramos en un cruce donde solo hay dos semáforos
que controlan el flujo de autos, por lo que tengo dos semáforos que están
intercambiando de estado para conceder luz verde de uno a otro y sus estados
intermedios de la luz ámbar y luz roja.
Enseguida les muestro material, código y un vídeo del circuito funcionando.
Bueno la idea ya quedo planteada, pero ahora veamos un tanto la lógica de un semáforo.
El semáforo pasa por una serie de estados marcados por diferentes colores de luces, verde, ámbar
y rojo, cada uno representa una acción diferente para la persona que conduce. El verde significa
que el vehículo puede avanzar, y cuando el tiempo esta por terminarse este empieza a parpadear
para avisar a los conductores, luego este se apaga para encenderse la luz color ámbar que significa
precaución y el conductor debe disminuir velocidad y detenerse, luego se enciende la luz roja que
indica alto total, y así da paso a el encendido de la luz verde de otro semáforo, y esto se vuelve un
ciclo.
Mikro Basic Pro for PIC
Programador para PIC-600
Los componentes utilizados no son muy caros, a excepción del PIC y el protoboard.
1 PIC16F628A
2 LED gigante de 10 mm, color ámbar difuso
2 LED gigante de 10 mm, color verde difuso
2 LED gigante de 10 mm, color rojo difuso
6 resistencias de 330 ohms
1 regulador de voltage MC7805CT
1 protoboard
1 pila de 9 volts
Descripción
Herramientas usadas
Material utilizado
Cómputo Ubicuo (14)
Redes de Telecomunicaciones (21)
Teoría de la Información y Métodos deCodificación (9)
Visión Computacional (19)
Etiquetas - Primavera 2013
Automatización y Control de SistemasDinámicos (14)
Redes Neuronales Artificiales (4)
Seguridad de la Información y Criptografía(10)
Verificación y Validación de Software (12)
Etiquetas - Otoño 2012
Cómputo Integrado (20)
Ingeniería de Dispositivos Móviles (19)
Modelado y Simulación de SistemasDinámicos (6)
Sistemas Distribuidos y Paralelos (19)
Etiquetas - Verano 2012
► 2014 (16)
► 2013 (64)
▼ 2012 (105)
► noviembre (10)
► octubre (11)
► septiembre (9)
► agosto (10)
▼ mayo (14)
Verano 2012
Proyecto Arduino:Alcoholímetro
Ecuaciones Diferencialescon Métodos Numéricos
Week 16
Crear Nuevo Dispositivo enADV
JSON en Android
Proyecto PIC: Semáforo
Diseño Android
Archivo del blog
A ds by O nlineBrowserA dv ertising A d O ptions
0 Más Siguiente blog» Crear un blog Acceder
7/7/2014 Ramón González: Proyecto PIC: Semáforo
http://ramon-gzz.blogspot.com/2012/05/proyecto-pic-semaforo.html 2/6
1 broche para pila
Las uniones están hechas con cables cortados de un cable del usado para conexiones Ethernet.
Además use un poco el voltímetro para verificar el voltaje que estaba pasando por el circuito y no
quemar el PIC.
No quiero entrar en detalles de la elaboración, pero resumo en forma general los pasos que yo
seguí.
1. Instalar el programador de PIC en la PC
2. Instalar Mikro Basic Pro for PIC
3. Armar el circuito en el protoboard
4. Verificar el circuito
5. Pasar programa al PIC
6. Probar en el protoboard
El código que hice no es el mejor que pueda haber para un semáforo, pero funciona. Tengo en
cuenta que hay cosas que se pueden haber simplificado, como por ejemplo al indicar cuales son las
entradas o salidas del PIC y reducirlo a una sola línea, y el cambio de semáforo pudo haber sido
realizado con funciones, pero por falta de tiempo este fue el que se compilo para luego pasar al PIC.
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
program pic
main:
dim cambio as byte
cambio = 0
trisb.1 = 0
trisb.2 = 0
trisb.3 = 0
trisb.4 = 0
trisb.5 = 0
trisb.6 = 0
portb = 0
portb.1 = 1
portb.4 = 1
while true
if cambio = 0 then
portb.1 = 1
delay_ms (3000)
portb.1 = 0
delay_ms (400)
portb.1 = 1
delay_ms (400)
portb.1 = 0
delay_ms (400)
portb.1 = 1
delay_ms (400)
portb.1 = 0
delay_ms (400)
portb.1 = 1
delay_ms (400)
portb.1 = 0
delay_ms (400)
portb.1 = 1
delay_ms (400)
portb.1 = 0
portb.2 = 1
delay_ms (1000)
portb.2 = 0
portb.3 = 1
portb.4 = 0
cambio = 1
Procedimiento
Código
Crear Tab Bar en Android
Cambiar Icono de laAplicación
Tareas del Sistema enAndroid
Seguridad en DispositivosMóviles
Prender un Led con un PushButton en Arduino Uno
Aumentar Pines Digitales enArduino Uno
► abril (29)
► marzo (7)
► febrero (13)
► enero (2)
Proyecto Arduino:Alcoholímetro
Cómputo IntegradoProyecto Arduino Comoúltima entrega de proyectopara la materia de Cómputo
Integrado usando un Arduino, deci...
Semáforo con Arduino Uno
Cómputo IntegradoLaboratorio Programa ycircuito para la creación decruce de semáforos conArduino Uno. El estado
verde tiene...
Proyecto PIC: Semáforo
Cómputo IntegradoProyecto PIC Para estaentrega del proyecto PICdecidí hacer algo simple,un semáforo, con la idea de
que ...
Sensor de Alcohol MQ-3
Cómputo IntegradoLaboratorio Para miproyecto Arduino realicé unalcoholímetro donde utiliceuno de los sensores más
comunes p...
Entradas populares
7/7/2014 Ramón González: Proyecto PIC: Semáforo
http://ramon-gzz.blogspot.com/2012/05/proyecto-pic-semaforo.html 3/6
view raw
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
69
70
71
72
73
end if
if cambio = 1 then
portb.6 = 1
delay_ms (3000)
portb.6 = 0
delay_ms (400)
portb.6 = 1
delay_ms (400)
portb.6 = 0
delay_ms (400)
portb.6 = 1
delay_ms (400)
portb.6 = 0
delay_ms (400)
portb.6 = 1
delay_ms (400)
portb.6 = 0
delay_ms (400)
portb.6 = 1
delay_ms (400)
portb.6 = 0
portb.5 = 1
delay_ms (1000)
portb.5 = 0
portb.4 = 1
portb.3 = 0
cambio = 0
end if
wend
end.
pic.mbas hosted with ❤ by GitHub
Aquí les dejo una imagen del circuito creado. En realidad ayuda mucho hacer un circuito un tanto
ordenado y no con cables largos pasando por cualquier lado, ya que así tenemos una visión clara
de por donde se está pasando el voltaje y el flujo del circuito, además de que nos ayuda a identificar
errores fácilmente.
Cabe mencionar que cerca del regulador de voltaje hay un led que use de prueba para verificar si
estaba ingresando corriente, ya que por momentos tenía problemas con los cables que van del
broche de la pila y que conectan al circuito.
Tome un vídeo corto del funcionamiento del proyecto para dejar evidencia de que sí funciona, por lo
menos en este momento, y con esto término mi entrada.
Imagen del circuito
Vídeo
7/7/2014 Ramón González: Proyecto PIC: Semáforo
http://ramon-gzz.blogspot.com/2012/05/proyecto-pic-semaforo.html 4/6
Por Ramón González
Etiquetas: Cómputo Integrado
Esto fue todo para la entrega de este proyecto.
Agradecimientos:
Cecilia Urbina por asesorarme con el uso del programador.
Juan Espinosa por ayudarme a verificar el circuito.
Eduardo Triana por su asesoría en los componentes.
Isaias Garza por encontrar el driver del programador para mi sistema operativo.
Roberto Martínez por su apoyo moral.
Proyectos similares:
Alejandro Avendaño
Respuestas
Responder
12 comentarios:
benjamin martinez 10 de noviembre de 2012, 7:34
Responder
Este comentario ha sido eliminado por el autor.
Evan 16 de febrero de 2013, 12:17
amigo no tienes el archivo para el pic??
Responder
Ramón Esteban González 31 de mayo de 2013, 20:04
Lo siento, cuando hice esta práctica solo me quede con el código mostrado arriba,
los archivos generados por la compilación no los tengo.
fer nando 3 de abril de 2013, 19:29
hola amgigo, cargo el programa y me da estos errores
0 1 mikroCPIC1618.exe -MSF -DBG -pP16F628A -DL -O11111114 -fo8
0 125 All files Preprocessed in 312 ms
0 121 Compilation Started LedBlinking.c
1 400 ; expected, but 'pic' found LedBlinking.c
1 400 ; expected, but 'main' found LedBlinking.c
3 400 ; expected, but ':' found LedBlinking.c
3 369 Specifier needed LedBlinking.c
3 394 Invalid declarator expected'(' or identifier LedBlinking.c
7/7/2014 Ramón González: Proyecto PIC: Semáforo
http://ramon-gzz.blogspot.com/2012/05/proyecto-pic-semaforo.html 5/6
Respuestas
Responder
Respuestas
Responder
Respuestas
Responder
Respuestas
5 400 ; expected, but 'trisb' found LedBlinking.c
6 400 ; expected, but '.1' found LedBlinking.c
6 391 'trisb' Identifier redefined LedBlinking.c
6 369 Specifier needed LedBlinking.c
6 394 Invalid declarator expected'(' or identifier LedBlinking.c
6 400 ; expected, but 'trisb' found LedBlinking.c
6 391 '' Identifier redefined LedBlinking.c
6 312 Internal error '' LedBlinking.c
0 102 Finished (with errors): 04 abr 2013, 03:19:47 LedBlinking.mcppi
Responder
Brayan Poz 5 de junio de 2013, 8:04
Que tipo de fuente usas para tu semaforo exelente proyecto =)
Responder
Ramón Esteban González 6 de junio de 2013, 8:09
Es una pila de 9 volts, que luego pasa por un regulador de 5 volts.
Brayan Poz 19 de junio de 2013, 10:24
Sabes me gusto mucho tu proyecto esta excelente pero y el circuito para armarlo ?
Responder
Ramón Esteban González 18 de octubre de 2013, 23:38
Lo siento pero no realicé el esquema del circuito porque me pareció muy simple, y
la imagen me parece fácil de interpretar.
kar bernal 16 de octubre de 2013, 22:32
men es necesario tener que insertarle codigo ?? o siemplemente con el montaje y la pila
arranca ???
Responder
Ramón Esteban González 18 de octubre de 2013, 23:44
Necesitas insertar el código, de lo contrario el PIC no hará nada.
david caraballo 14 de noviembre de 2013, 10:54
hola una pregunta como paso el programa al pic
porfa respuesta es urgente
Responder
Ramón Esteban González 14 de noviembre de 2013, 11:34
Hola David, si ya tienes instalado el programa y dispones del programador de
PICs, entonces ve esta publicación (http://cecilia-
7/7/2014 Ramón González: Proyecto PIC: Semáforo
http://ramon-gzz.blogspot.com/2012/05/proyecto-pic-semaforo.html 6/6
Entrada más reciente Entrada antiguaPágina principal
Suscribirse a: Enviar comentarios (Atom)
Responder
Introduce tu comentario...
Comentar como: Cuenta de Google
Publicar
Vista previa
Nota: solo los miembros de este blog pueden publicar comentarios.
urbina.blogspot.com/2012/01/letrero-luminoso-movil.html) de una compañera que
grabó video de como pasar el programa, espero te sirva.
Plantilla Awesome Inc.. Con la tecnología de Blogger.
A ds by O nlineBrowserA dv ertising A d O ptions
Top Related