Numero Random

Hola a todos, estoy intentando hacer que me de un numero random utilizando un CI 7448 y un display 7 segmentos Catodo Comun, este es mi codigo hasta ahora y no se como hacerlo ayuda por favor

int A=13, B=12, C=11, D=10;
int display1[4]={A,B,C,D};
int i=0;
int randNumber;

void setup() {

for(;i<4;i++){
pinMode(display1*,OUTPUT);*

  • }*
  • i=0;*
    }
    void loop() {
  • randomSeed(millis());*
  • randNumber=random(10);*
    _ digitalWrite(display1*,randNumber);_
    _
    delay(500);_
    _
    }_
    void numeros(int a){
    _
    switch(a){_
    _
    case 0:_
    _
    digitalWrite(A,LOW);_
    _
    digitalWrite(B,LOW);_
    _
    digitalWrite(C,LOW);_
    _
    digitalWrite(D,LOW);_
    _
    break;_
    _
    case 1:_
    _
    digitalWrite(A,HIGH);_
    _
    digitalWrite(B,LOW);_
    _
    digitalWrite(C,LOW);_
    _
    digitalWrite(D,LOW);_
    _
    break;_
    _
    case 2:_
    _
    digitalWrite(A,LOW);_
    _
    digitalWrite(B,HIGH);_
    _
    digitalWrite(C,LOW);_
    _
    digitalWrite(D,LOW);_
    _
    break;_
    _
    case 3:_
    _
    digitalWrite(A,HIGH);_
    _
    digitalWrite(B,HIGH);_
    _
    digitalWrite(C,LOW);_
    _
    digitalWrite(D,LOW);_
    _
    break;_
    _
    case 4:_
    _
    digitalWrite(A,LOW);_
    _
    digitalWrite(B,LOW);_
    _
    digitalWrite(C,HIGH);_
    _
    digitalWrite(D,LOW);_
    _
    break;_
    _
    case 5:_
    _
    digitalWrite(A,HIGH);_
    _
    digitalWrite(B,LOW);_
    _
    digitalWrite(C,HIGH);_
    _
    digitalWrite(D,LOW);_
    _
    break;_
    _
    case 6:_
    _
    digitalWrite(A,LOW);_
    _
    digitalWrite(B,HIGH);_
    _
    digitalWrite(C,HIGH);_
    _
    digitalWrite(D,LOW);_
    _
    break;_
    _
    case 7:_
    _
    digitalWrite(A,HIGH);_
    _
    digitalWrite(B,HIGH);_
    _
    digitalWrite(C,HIGH);_
    _
    digitalWrite(D,LOW);_
    _
    break;_
    _
    case 8:_
    _
    digitalWrite(A,LOW);_
    _
    digitalWrite(B,LOW);_
    _
    digitalWrite(C,LOW);_
    _
    digitalWrite(D,HIGH);_
    _
    break;_
    _
    case 9:_
    _
    digitalWrite(A,HIGH);_
    _
    digitalWrite(B,LOW);_
    _
    digitalWrite(C,LOW);_
    _
    digitalWrite(D,HIGH);_
    _
    break;_
    _
    }_
    _
    }*_

@VicenteMaya bienvenido al foro Arduino pero otra vez, alguien que llega y solo mirá su problema y no se toma 5 minutos para ver otros hilos y entender como se postea.
Ahora ve a tu mensajeria privada y sigue las instrucciones para editar tu primer post.

Hola Vicente, tu código tiene varios errores, pero antes de entrar en ellos quisiera saber si tu circuito electrónico funciona bien.

Me refiero a que si identificaste cada uno de los segmentos de tu display (a, b, c… g), conectaste una resistencia de 330 ohms hacia los pines correctos del 7448 (a, b, c… g), los pines 3, 4, 5 y 16 a +5V y el pin 8 a GND.

const byte A=13, B=12, C=11, D=10;
const byte display1[4]={A,B,C,D};
byte randNumber;

void setup() {
   randomSeed(analogRead(0));
   for (byte i=0; i<4; i++){
      pinMode(display1[i], OUTPUT);
   }
}

void loop() {
   randNumber = random(10);
   numeros(randNumber);
   delay(500);
}

void numeros(byte a){
   switch (a){
   case 0:
      digitalWrite(A,LOW);
      digitalWrite(B,LOW);
      digitalWrite(C,LOW);
      digitalWrite(D,LOW);
      break;
   case 1:
      digitalWrite(A,HIGH);
      digitalWrite(B,LOW);
      digitalWrite(C,LOW);
      digitalWrite(D,LOW);
      break;
   case 2:
      digitalWrite(A,LOW);
      digitalWrite(B,HIGH);
      digitalWrite(C,LOW);
      digitalWrite(D,LOW);
      break;
   case 3:
      digitalWrite(A,HIGH);
      digitalWrite(B,HIGH);
      digitalWrite(C,LOW);
      digitalWrite(D,LOW);
      break;
   case 4:
      digitalWrite(A,LOW);
      digitalWrite(B,LOW);
      digitalWrite(C,HIGH);
      digitalWrite(D,LOW);
      break;
       case 5:
      digitalWrite(A,HIGH);
      digitalWrite(B,LOW);
      digitalWrite(C,HIGH);
      digitalWrite(D,LOW);
      break;
   case 6:
      digitalWrite(A,LOW);
      digitalWrite(B,HIGH);
      digitalWrite(C,HIGH);
      digitalWrite(D,LOW);
      break;
   case 7:
      digitalWrite(A,HIGH);
      digitalWrite(B,HIGH);
      digitalWrite(C,HIGH);
      digitalWrite(D,LOW);
      break;
   case 8:
      digitalWrite(A,LOW);
      digitalWrite(B,LOW);
      digitalWrite(C,LOW);
      digitalWrite(D,HIGH);
      break;
   case 9:
      digitalWrite(A,HIGH);
      digitalWrite(B,LOW);
      digitalWrite(C,LOW);
      digitalWrite(D,HIGH);
   }
}

Hay una función bit a bit que te podría simplificar tremendamente tu código: Se trata de bitRead(variable,bit) que lee un bit de la variable dada y devuelve un 0 o un 1 según el caso. Recuerda que el bit menos significativo es el 0 que corresponde a tu variable A.

for (byte i=0; i<4; i++){
   digitalWrite(display1[i], bitRead(randNumber, i));
}