Estamos colaborando con varios makers locales en Kreitek que están haciendo una barrera casera para controlar el paso de vehículos a un recinto. Hay un equipo encargado de la la parte mecánica, otro del montaje eléctrico y aqui nos encargamos de la centralita que controla la barrera.

La barrera dispone de un motor que energizado en un sentido abre la barrera y energizado en el otro la cierra. Para saber cuando está abierta o cerrada se colocan dos interruptores finales de carrera. Para saber si está pasando alguna persona o coche por debajo, se conecta una fotocélula en serie con un lazo inductivo. Tendrá varios pulsadores para poder abrirla o cerrarla, aunque tambien se podrá hacer remotamente por red local.

Todas estas entradas y salidas nos llegan a la centralita que estamos diseñando. Como hardware de partida estamos usando una Xboard relay de DFRobot. DFRobot es una empresa china que se dedica a hacer mezclas de placas libres.

XBoard Relay

En este caso, la xboard relay es una mezcla de un Arduino Leonardo con una Arduino ethernet shield y con una Relay board de 2 reles. Todo ello en una única placa que hace ya todo lo que queremos resulta muy cómodo. Al final compramos 20 placas de estas "para probar", pero compraremos más porque ya las tenemos todas comprometidas para varios clientes.

El software que diseñamos está colgado en parkingBarrera de kreitek y funciona con el siguiente diagrama de estados:

Diagrama de estados

Como se ve en el diagrama, tiene dos funcionalidades.

  • La primera es la básica, un modo abrir/cerrar manual, que con el botón de abrir "abre" y con el botón de cerrar "cierra, siempre que no haya ningún obstáculo". Si lo hubiera, o pasase de improviso, vuelve a subir y anula la orden.

  • La segunda funcionalidad es un modo de apertura-cierre automático, en el que al pulsarse un botón abre, espera a que pase un coche, espera 5 segundos más, y luego cierra en caso de que no hayan obstáculos.

En siguientes artículos iremos mostrando las personalizaciones que nos piden los demás clientes.