Hola definitivamente el puerto USB tiene muchas ventajas, una de ellas he importante es que pudes alimentar tu circuito directamente desde el, soporta 500 mA.
Pero si quieres simplificarte las cosas usa el puerto paraleo,este tiene 8 bits de datos que pueden ser configurados como entradas y salidas, 4 bits de control que se configuran igual como entradas y salidas, y 5 bits de estatus que solo pueden ser configuradas como entradas, si juntas los bits de control con los de datos tienes 12 salidas suficientes para controlar dispositivos varios , los 5 bits de status los puedes utilizar para sensores de presencia y otros,
Los Dificil¡
ahora lo dificil es hacer el "driver" o "controlador", por software, pero si eres bueno programando no hay problema, yo en lo personal utilizo "lenguaje m" de Matlab y utilizo la caja de herramientas de adquisición de datos si tu utilizas C puedes importar las librerias a Matlab y trabajar en m.
si quieres ver los manuales de Matlab y Data Adquisition toolbox
www.mathworks.com
El Hardware¡
Si requieres de mas salidas puedes ampliar la capacidad del puerto para tener mas salidas. Necesitas diseñar un hardware te paso unos circuitos que hice en PCB wizard
los diagramas de los debo por que los converti y no los guarde, en el primer circuito veras que 4 integrados el primero que vez mas cerca del puerto paraleo vertical es el 74HCT245 este integrado sirve para proteger el puerto, los otros cuatro horizontales restantes son 74HCT573 estos son registro con flipflops que retienen los 8 bits en su memoria interna de esta forma puedes convertir 8 bist de datos en 32 bits con los bits de control controlas el latch de cada integrado Hojo necesitas hacer un driver para este hardware, el cual no tengo aun jejeje, el otro circuito que te mando es una etapa de reles que utiliza el ULN2803A para accionar 8 reles con una capacidad de 10 amp. que se conecta al circuito antes mencionado fijate que los dos circuitos utilizan alimentacion externa al puerto paralelo.
El problema¡
El problema con el puerto paralelo es que soporta muy poca corriente de estrada y salida y debes utilizar alimentacion externa para alimentar tus circuitos si tienes un corto y no esta protegido el puerto paralelo se te quemara o dañara
Si utilizaras un hardware que utilizara USB no requiririas que el circuito tuviese alimentacion externa con conectar el cable USB del computador al circuito quedaria alimentado