Náhodný zvuk s náhodným číslem


int piezo = 10;
int button = 11;

const int n = 3;
const int nw = 4;
const int ne = 9;
const int c = 1;
const int sw = 7;
const int se = 8;
const int s = 6;
const int dot = 2;

void setup() {
pinMode(piezo, OUTPUT);
pinMode(button, INPUT);
for(int a = 1; a<=9; a++){
pinMode(a, OUTPUT);
digitalWrite(a, HIGH);
}
}

void loop() {
if(digitalRead(button) == HIGH){
int nahodne = random(3,6);
int frekvence = nahodne * 500;
tone(piezo, frekvence);
rozsvit(nahodne);
delay(1000);
}
else {
zhasni();
noTone(piezo);
}
}

void rozsvit(int cislo) {
switch(cislo) {
case 0:

case 1:
digitalWrite(ne, LOW);
digitalWrite(se, LOW);
break;
case 2:
digitalWrite(n, LOW);
digitalWrite(ne, LOW);
digitalWrite(c, LOW);
digitalWrite(sw, LOW);
digitalWrite(s, LOW);
break;
case 3:
digitalWrite(ne, LOW);
digitalWrite(n, LOW);
digitalWrite(c, LOW);
digitalWrite(se, LOW);
digitalWrite(s, LOW);
break;
case 4:
digitalWrite(ne, LOW);
digitalWrite(nw, LOW);
digitalWrite(se, LOW);
digitalWrite(c, LOW);
break;
case 5:
digitalWrite(n, LOW);
digitalWrite(nw, LOW);
digitalWrite(c, LOW);
digitalWrite(se, LOW);
digitalWrite(s, LOW);
break;
case 6:
digitalWrite(n, LOW);
digitalWrite(nw, LOW);
digitalWrite(c, LOW);
digitalWrite(se, LOW);
digitalWrite(sw, LOW);
digitalWrite(s, LOW);
break;
case 7:
digitalWrite(n, LOW);
digitalWrite(ne, LOW);
digitalWrite(se, LOW);
break;
case 8:
digitalWrite(n, LOW);
digitalWrite(ne, LOW);
digitalWrite(c, LOW);
digitalWrite(nw, LOW);
digitalWrite(s, LOW);
digitalWrite(se, LOW);
digitalWrite(sw, LOW);
break;
case 9:
digitalWrite(n, LOW);
digitalWrite(ne, LOW);
digitalWrite(c, LOW);
digitalWrite(nw, LOW);
digitalWrite(s, LOW);
digitalWrite(sw, LOW);
break;
default:
zhasni();
break;
}
}

void zhasni() {
for(int a = 1; a<=9; a++){
pinMode(a, OUTPUT);
digitalWrite(a, HIGH);
}
}