rrrrrrrrrrr — Arduino Uno simulation

rrrrrrrrrrrrrr

An interactive Arduino Uno circuit simulation you can run free in your browser on Velxio, by dave.

Components

Sketch code

// Contador de 0 a 9 en display de 7 segmentos
// Segmentos A-G conectados a pines 2-8

// Definir pines para segmentos
const int pinA = 2;
const int pinB = 3;
const int pinC = 4;
const int pinD = 5;
const int pinE = 6;
const int pinF = 7;
const int pinG = 8;

void setup() {
  // Configurar todos los pines como salida
  for (int pin = 2; pin <= 8; pin++) {
    pinMode(pin, OUTPUT);
  }
}

// Función para mostrar un dígito (0-9)
void mostrarDigito(int digito) {
  // Todas las salidas LOW al inicio
  for (int pin = 2; pin <= 8; pin++) {
    digitalWrite(pin, LOW);
  }
  
  switch(digito) {
    case 0:
      digitalWrite(pinA, HIGH);
      digitalWrite(pinB, HIGH);
      digitalWrite(pinC, HIGH);
      digitalWrite(pinD, HIGH);
      digitalWrite(pinE, HIGH);
      digitalWrite(pinF, HIGH);
      // pinG LOW
      break;
    case 1:
      // pinA LOW
      digitalWrite(pinB, HIGH);
      digitalWrite(pinC, HIGH);
      // pines D, E, F, G LOW
      break;
    case 2:
      digitalWrite(pinA, HIGH);
      digitalWrite(pinB, HIGH);
      // pinC LOW
      digitalWrite(pinD, HIGH);
      digitalWrite(pinE, HIGH);
      // pinF LOW
      digitalWrite(pinG, HIGH);
      break;
    case 3:
      digitalWrite(pinA, HIGH);
      digitalWrite(pinB, HIGH);
      digitalWrite(pinC, HIGH);
      digitalWrite(pinD, HIGH);
      // pinE LOW
      // pinF LOW
      digitalWrite(pinG, HIGH);
      break;
    case 4:
      // pinA LOW
      digitalWrite(pinB, HIGH);
      digitalWrite(pinC, HIGH);
      // pinD LOW
      // pinE LOW
      digitalWrite(pinF, HIGH);
      digitalWrite(pinG, HIGH);
      break;
    case 5:
      digitalWrite(pinA, HIGH);
      // pinB LOW
      digitalWrite(pinC, HIGH);
      digitalWrite(pinD, HIGH);
      // pinE LOW
      digitalWrite(pinF, HIGH);
      digitalWrite(pinG, HIGH);
      break;
    case 6:
      digitalWrite(pinA, HIGH);
      // pinB LOW
      digitalWrite(pinC, HIGH);
      digitalWrite(pinD, HIGH);
      digitalWrite(pinE, HIGH);
      digitalWrite(pinF, HIGH);
      digitalWrite(pinG, HIGH);
      break;
    case 7:
      digitalWrite(pinA, HIGH);
      digitalWrite(pinB, HIGH);
      digitalWrite(pinC, HIGH);
      // pines D, E, F, G LOW
      break;
    case 8:
      digitalWrite(pinA, HIGH);
      digitalWrite(pinB, HIGH);
      digitalWrite(pinC, HIGH);
      digitalWrite(pinD, HIGH);
      digitalWrite(pinE, HIGH);
      digitalWrite(pinF, HIGH);
      digitalWrite(pinG, HIGH);
      break;
    case 9:
      digitalWrite(pinA, HIGH);
      digitalWrite(pinB, HIGH);
      digitalWrite(pinC, HIGH);
      digitalWrite(pinD, HIGH);
      // pinE LOW
      digitalWrite(pinF, HIGH);
      digitalWrite(pinG, HIGH);
      break;
    default:
      // Apagar todos (no válido)
      break;
  }
}

void loop() {
  for (int i = 0; i <= 9; i++) {
    mostrarDigito(i);
    delay(1000); // 1 segundo por dígito
  }
}

More projects by dave