#include <LiquidCrystal.
h>
#include <Servo.h>
LiquidCrystal lcd(13,12,11,10,9,8); // indica a que pines se conecto la pantalla lcd
Servo talanqueraE;
Servo talanqueraS;
//datos del primer servo
int TRIGGER=2;
int ECHO=3;
int TIEMPO;
int DISTANCIA;
//datos segundo servo
int triggerdos=5;
int echodos=6;
int total=10;
int tiempodos;
int DISTANCIAdos;
void setup()
[Link](9600);
//primer servo y sensor
pinMode(TRIGGER, OUTPUT);
pinMode(ECHO, INPUT);
[Link](4);
//segundo servo y sensor
pinMode(triggerdos, OUTPUT);
pinMode(echodos, INPUT);
[Link](7);
[Link](16,2);
void entrada(){
digitalWrite(TRIGGER, HIGH);
delay(1);
digitalWrite(TRIGGER, LOW);
TIEMPO=pulseIn(ECHO, HIGH);
DISTANCIA=TIEMPO/58.2;
if(total == 0){
//[Link]("AGOTADO");
delay(2);
}
else{
if (DISTANCIA>=0 && DISTANCIA <=50){
[Link](180);
total=total-1;
delay(2);
else{
[Link](0);
delay(2);
void salida(){
digitalWrite(triggerdos, HIGH);
delay(1);
digitalWrite(triggerdos, LOW);
tiempodos=pulseIn(echodos, HIGH);
DISTANCIAdos=tiempodos/58.2;
if(total == 10){
//[Link]("VACIO");
[Link](0);
delay(0);
else{
if(DISTANCIAdos>=0 && DISTANCIAdos <=50){
[Link](180);
total=total+1;
delay(2);
else{
[Link](0);
delay(2);
}
void loop()
//[Link]("Disponible: ");
//[Link](total);
[Link]("Disponible: ");
[Link](total);
if(total == 10){
[Link](0,1);
[Link]("PARQUEO VACIO");
else if(total == 0){
[Link](0,1);
[Link]("PARQUEO LLENO");
[Link](0);
delay(2);
delay(1000);
entrada();
salida();
[Link]();
Mejorado
#include <LiquidCrystal.h> #include <Servo.h> LiquidCrystal lcd(13,12,11,10,9,8); // Asegúrate de que los pines están correctos Servo talanqueraE;
Servo talanqueraS; // Datos del primer servo y sensor int TRIGGER = 2; int ECHO = 3; int TIEMPO; int DISTANCIA; // Datos del segundo servo y
sensor int triggerdos = 5; int echodos = 6; int total = 10; // Cambié este valor al inicial de 10 int tiempodos; int DISTANCIAdos; void setup()
{ [Link](9600); // Primer servo y sensor pinMode(TRIGGER, OUTPUT); pinMode(ECHO, INPUT); [Link](4); // Segundo servo y
sensor pinMode(triggerdos, OUTPUT); pinMode(echodos, INPUT); [Link](7); [Link](16, 2); } void entrada() { digitalWrite(TRIGGER,
HIGH); delay(1); digitalWrite(TRIGGER, LOW); TIEMPO = pulseIn(ECHO, HIGH); DISTANCIA = TIEMPO / 58.2; if (total > 0) { if (DISTANCIA >= 0 &&
DISTANCIA <= 50) { [Link](180); total = total - 1; delay(100); // Un poco de tiempo para estabilidad } else { [Link](0);
delay(100); // Un poco de tiempo para estabilidad } } } void salida() { digitalWrite(triggerdos, HIGH); delay(1); digitalWrite(triggerdos, LOW);
tiempodos = pulseIn(echodos, HIGH); DISTANCIAdos = tiempodos / 58.2; if (total < 10) { if (DISTANCIAdos >= 0 && DISTANCIAdos <= 50)
{ [Link](180); total = total + 1; delay(100); // Un poco de tiempo para estabilidad } else { [Link](0); delay(100); // Un poco
de tiempo para estabilidad } } } void loop() { [Link](0, 0); [Link]("Disponible: "); [Link](total); if (total == 10) { [Link](0, 1);
[Link]("PARQUEO VACIO"); } else if (total == 0) { [Link](0, 1); [Link]("PARQUEO LLENO "); [Link](0); // Asegúrate de que la
talanqueraS se detenga si está lleno } else { [Link](0, 1); [Link]("ESPACIOS DISPONIBLES"); } delay(1000); // Retardo general para que la
LCD no parpadee demasiado entrada(); salida(); }