Los programas grandes primero son chicos.
Una tarea importante se resuelve atendiendo subtareas mas elementales.
Si tienes tantos módulos pues simplemente te pones a ver como hacer funcionar cada uno y no todos a la vez.
Comprendiendo 1, 2, el siguiente vas creciendo en tu conocimiento de Arduino.
Casi todo por no decir TODO tiene librerías. Estas librerías tienen ejemplos, asi que lo tienes todo resuelto.
Unico problema. Que las librerías estan hechas para su sensor o dispositivo y si usan o no delay(X) no les importa pero a ti si.
Entonces, cuando veas un delay() sospecha que luego te dará problemas pero tampoco puedes eliminarlo poruqe por ejemplo un sensor Ultrasonico requiere de ciertos tiempos para enviar un burst y luego escuchar su eco.
Ve a Documentacion => Indice de temas tutoriales => millis() porque será de ayuda.
También lee maquinas de estado porque lo vas a necesitar.