   }
 }
 
+void liberaFotocelula() {
+  unsigned long inicio = ti_fotocelula + inicio_ciclo;
+  unsigned long fim = tf_fotocelula + inicio_ciclo;
+  if (!fotocelula_cortou){
+    if (tempo_atual >= inicio && tempo_atual < fim) {
+      fotocelula_liberada = VERDADEIRO;
+    }
+  } else if (tempo_atual >= fim) {
+    fotocelula_liberada = FALSO;
+  }
+}
+
+void leFotocelula(){
+  if (fotocelula_liberada && !fotocelula_cortou){
+    if (ativo(fotocelula)){
+      fotocelula_cortou = VERDADEIRO;
+      reiniciaSaidas();
+    }
+  }
+}
+
 // FERRAMENTAS AUXILIARES
 
-byte leEntrada(byte pino) { return digitalRead(pino); }
+byte lePino(byte pino) { return digitalRead(pino); }
 
 void liga(byte saida) { digitalWrite(saida, LIGA); }
 

}

boolean inativo(byte entrada) {
  if (digitalRead(entrada) == BAIXO) {
    return VERDADEIRO;
  } else {
    return FALSO;

  // SENSORES
  pinMode(sensor_reset, BOTAO); // Mudar para Sensor após os testes.
  pinMode(sensor_mandibula, BOTAO);
  pinMode(fotocelula, BOTAO);
  pinMode(sensor_porta, BOTAO);
  pinMode(sensor_painel, BOTAO);
  pinMode(sensor_maquina, BOTAO);
