Estacionamiento con Control de Pluma
1:17
Explicación breve:Cpp
// Configuración de pines const int sensorEntrada = 2; // Sensor que detecta autos que entran const int sensorSalida = 3; // Sensor que detecta autos que salen const int pluma = 4; // Señal para activar/desactivar la pluma de acceso // Pines del display de 7 segmentos (asumiendo display de cátodo común) const int segPins[7] = {5, 6, 7, 8, 9, 10, 11}; // Matriz con los segmentos a encender para cada dígito (0-9) // Orden de segmentos: a, b, c, d, e, f, g (1 = encendido, 0 = apagado) byte numeros[10][7] = { {1, 1, 1, 1, 1, 1, 0}, // 0 {0, 1, 1, 0, 0, 0, 0}, // 1 {1, 1, 0, 1, 1, 0, 1}, // 2 {1, 1, 1, 1, 0, 0, 1}, // 3 {0, 1, 1, 0, 0, 1, 1}, // 4 {1, 0, 1, 1, 0, 1, 1}, // 5 {1, 0, 1, 1, 1, 1, 1}, // 6 {1, 1, 1, 0, 0, 0, 0}, // 7 {1, 1, 1, 1, 1, 1, 1}, // 8 {1, 1, 1, 1, 0, 1, 1} // 9 }; const int capacidadMaxima = 8; // Cupo máximo del estacionamiento int contador = 0; // Cantidad de autos actualmente // Variables para control de rebote (debounce) unsigned long lastDebounceTimeEntrada = 0; unsigned long lastDebounceTimeSalida = 0; const unsigned long debounceDelay = 50; int lastEntradaReading = LOW; int lastSalidaReading = LOW; int entradaState = LOW; int salidaState = LOW; void setup() { // Configuración de pines para sensores y actuadores pinMode(sensorEntrada, INPUT); pinMode(sensorSalida, INPUT); pinMode(pluma, OUTPUT); // Configuración de pines para el display de 7 segmentos for (int i = 0; i debounceDelay) { if (lecturaEntrada == HIGH && entradaState == LOW) { // Si se detecta la entrada de un auto if (contador debounceDelay) { if (lecturaSalida == HIGH && salidaState == LOW) { // Si se detecta la salida de un auto if (contador > 0) { contador--; // Decrementa el contador } actualizarDisplay(); delay(500); } salidaState = lecturaSalida; } lastSalidaReading = lecturaSalida; } void actualizarDisplay() { // Actualiza el display de 7 segmentos para mostrar el valor de "contador" // Se asume que el contador es siempre menor a 10 (solo un dígito) for (int i = 0; i < 7; i++) { digitalWrite(segPins[i], numeros[contador][i]); } }
actualizarDisplay() para refrescar el display de 7 segmentos conectados a los pines 5 al 11.Reviews
Skilled Azure P.K.E. Meter
Properties
Properties describe core aspects of the project.
Pricing & Availability
Distributor | Qty 1 |
|---|
Controls
Welcome 👋
Flux helps you build PCBs faster with an AI teammate!
Create your account to collaborate, stay updated, fork your own version, and get instant answers from our AI agent.

AI-Powered Component Placement
Let AI place your components intelligently. AI Placement analyzes your schematic and positions components for optimal routing, signal integrity, and board density.
From Schematic to Layout in Seconds
Skip the tedious manual placement. AI Placement generates a starting layout you can refine, saving hours of repetitive work on every new design.
Works With Auto-Layout
Pair AI Placement with Auto-Layout for a complete AI-driven PCB design flow — from component placement through trace routing, all with one click.