int P; int D; int mode; int ma; int mb; int mc; int mabc; int ca; int cb; int cc; int cabc; int call; int onel; int twol; long modetime; long pause; void setup() { pinMode(2, INPUT); pinMode(3, INPUT); pinMode(4, INPUT); pinMode(5, INPUT); pinMode(6, INPUT); pinMode(7, INPUT); pinMode(8, INPUT); } void loop() { if (digitalRead(8) == HIGH) { P = 100; } else { P = 50; } D = P*2.5; ma = digitalRead(5); mb = digitalRead(6)*2; mc = digitalRead(7)*4; mabc = ma + mb + mc; ca = digitalRead(2); cb = digitalRead(3)*2; cc = digitalRead(4)*4; cabc = ca + cb + cc; switch(mabc) { case 0: if (cabc == 3) { digitalWrite(13, HIGH); delay(D); digitalWrite(13,LOW); delay(D); } else {if (cabc != 7) { digitalWrite(13, LOW); lisa(); } else { digitalWrite(13, HIGH); } break;} case 4: modetime = 60000; pause = 240000; fox(); break; case 2: modetime = 30000; pause = 120000; fox(); break; case 6: modetime = 12000; pause = 48000; fox(); break; case 1: modetime = 50000; pause = 100000; fox(); break; case 5: modetime = 20000; pause = 40000; fox(); break; case 3: modetime = 60000; pause = 60000; fox(); break; case 7: modetime = 30000; pause = 30000; fox(); break; } } void Dash() { digitalWrite(13, HIGH); delay(D); digitalWrite(13, LOW); delay(P); } void Point() { digitalWrite(13, HIGH); delay(P); digitalWrite(13, LOW); delay(P); } void lisa() { delay(D); Dash(); Dash(); delay(D); Dash(); Dash(); Dash(); if(cabc != 0) { delay(D); Point(); } if(cabc != 0) { if(cabc != 4) { Point(); }} if(cabc != 0) { if(cabc != 4) { if(cabc != 2) { Point(); }}} if(cabc != 0) { if(cabc != 4) { if(cabc != 2) { if(cabc != 6) { Point(); }}}} if(cabc != 0) { if(cabc != 4) { if(cabc != 2) { if(cabc != 6) { if(cabc != 1) { Point(); }}}}} delay(D*2); } void fox() { switch(cabc) { case 4: onel = modetime/(10*D+7*P); twol = modetime - onel*(10*D+7*P); for(int i = 0; i < onel; i++) { lisa(); } digitalWrite(13, HIGH); delay(twol); digitalWrite(13, LOW); delay(pause); break; case 2: onel = modetime/(11*D+9*P); twol = modetime - onel*(10*D+9*P); delay(modetime); for(int i = 0; i < onel; i++) { lisa(); } digitalWrite(13, HIGH); delay(twol); digitalWrite(13, LOW); delay(pause-modetime); break; case 6: onel = modetime/(12*D+11*P); twol = modetime - onel*(10*D+9*P); delay(modetime*2); for(int i = 0; i < onel; i++) { lisa(); } digitalWrite(13, HIGH); delay(twol); digitalWrite(13, LOW); delay(pause-modetime*2); break; case 1: onel = modetime/(13*D+13*P); twol = modetime - onel*(10*D+9*P); delay(modetime*3); for(int i = 0; i < onel; i++) { lisa(); } digitalWrite(13, HIGH); delay(twol); digitalWrite(13, LOW); delay(pause-modetime*3); break; case 5: onel = modetime/(14*D+15*P); twol = modetime - onel*(10*D+9*P); delay(modetime*4); for(int i = 0; i < onel; i++) { lisa(); } digitalWrite(13, HIGH); delay(twol); digitalWrite(13, LOW); delay(pause-modetime*4); break; case 7: digitalWrite(13, HIGH); delay(200); digitalWrite(13,LOW); break; } }