Professional Documents
Culture Documents
Tema:Semafor La Intersecție: Lucrare Practică Nr.4
Tema:Semafor La Intersecție: Lucrare Practică Nr.4
4
Tema:Semafor la intersecție
#define k 4000
#define j 2000
#define z 3000
unsigned long time=0;
byte state = 1;
int k1=11;
int j1=12;
int z1=13;
int kp1=10;
int zp1=9;
int k2=8;
int j2=7;
int z2=6;
int kp2=5;
int zp2=4;
int btn = 2;
int st = 0;
void setup()
{
CPB.71420.04.04
Mod Coala Nr.document Semnat Data
Elaborat Corotaș Iosif Lit. Coala Coli
Verificat Rișcovoi Alina 1 1
Tema:Semafor la interseție
A-218
pinMode(k1, OUTPUT);
pinMode(j1, OUTPUT);
pinMode(z1, OUTPUT);
digitalWrite(k1, state);
pinMode(kp1,OUTPUT);
pinMode(zp1,OUTPUT);
digitalWrite(kp1, state);
pinMode(k2,OUTPUT);
pinMode(j2,OUTPUT);
pinMode(z2, OUTPUT);
digitalWrite(z2, state);
pinMode (kp2,OUTPUT);
pinMode(zp2, OUTPUT);
pinMode(btn, INPUT);
digitalWrite(zp2, state);
}
void loop()
{
st = digitalRead(btn);
if (st == 1)
{
for (int i=0; i<10; i++)
{
digitalWrite(k1, 0);
digitalWrite(k2, 0);
digitalWrite(z1, 0);
digitalWrite(z2, 0);
digitalWrite(zp2, 0);
digitalWrite(zp1, 0);
digitalWrite(kp1, 0);
digitalWrite(kp2, 0);
digitalWrite(j2, 1);
digitalWrite(j1, 1);
delay(1000);
digitalWrite(j2, 0);
digitalWrite(j1, 0);
delay(1000);
}
}
else
{
switch(state)
{
case 1:
if(millis()-time>j)
{
time=millis();
//выводит количество миллисекунд с момента начала выполнения
программы
digitalWrite(k1, 1);
digitalWrite(z2, 1);
digitalWrite(zp2,1);
digitalWrite(kp1,1);
digitalWrite(j1,0);
digitalWrite(j2,0);
state=2;
}
break;
Coala
2
Mod Coala Nr.document Semnat Data
case 2:
if(millis()-time>1000)
{
time=millis();
digitalWrite(z2,0);
digitalWrite(zp2,0);
state=3;
}
break;
case 3:
if(millis()-time>1000)
{
time=millis();
digitalWrite(z2,1);
digitalWrite(zp2,1);
state=4;
}
break;
case 4:
if(millis()-time>1000)
{
time=millis();
digitalWrite(z2,0);
digitalWrite(zp2,0);
state=5;
}
break;
case 5:
if(millis()-time>1000)
{
time=millis();
digitalWrite(z2,1);
digitalWrite(zp2,1);
state=6;
}
break;
case 6:
if(millis()-time>1000)
{
time=millis();
digitalWrite(z2,0);
digitalWrite(zp2,0);
state=7;
}
break;
case 7:
if(millis()-time>1000)
{
time=millis();
digitalWrite(z2,1);
digitalWrite(zp2,1);
state=8;
}
break;
Coala
3
Mod Coala Nr.document Semnat Data
case 8:
if(millis()-time>1000)
{
time=millis();
digitalWrite(z2,0);
digitalWrite(zp2,0);
digitalWrite(kp2,1);
digitalWrite(j2,1);
state=9;
}
break;
case 9:
if(millis()-time>k)
{
time=millis();
digitalWrite(k2,1);
digitalWrite(j2,0);
state=10;
}
break;
case 10:
if(millis()-time>j)
{
time=millis();
digitalWrite(j1,1);
state=11;
}
break;
case 11:
if(millis()-time>z)
{
time=millis();
digitalWrite(j1,0);
digitalWrite(k1,0);
digitalWrite(kp1,0);
digitalWrite(z1,1);
digitalWrite(zp1,1);
state=12;
}
break;
case 12:
if(millis()-time>1000)
{
time=millis();
digitalWrite(z1,0);
digitalWrite(zp1,0);
state=13;
}
break;
case 13:
if(millis()-time>1000)
{
time=millis();
digitalWrite(z1,1);
digitalWrite(zp1,1);
state=14;
}
break;
Coala
4
Mod Coala Nr.document Semnat Data
case 14:
if(millis()-time>1000)
{
time=millis();
digitalWrite(z1,0);
digitalWrite(zp1,0);
state=15;
}
break;
case 15:
if(millis()-time>1000)
{
time=millis();
digitalWrite(z1,1);
digitalWrite(zp1,1);
state=16;
}
break;
case 16:
if(millis()-time>1000)
{
time=millis();
digitalWrite(z1,0);
digitalWrite(zp1,0);
state=17;
}
break;
case 17:
if(millis()-time>1000)
{
time=millis();
digitalWrite(z1,1);
digitalWrite(zp1,1);
state=18;
}
break;
case 18:
if(millis()-time>1000)
{
time=millis();
digitalWrite(z1,0);
digitalWrite(zp1,0);
digitalWrite(kp1,1);
digitalWrite(j1,1);
state=19;
}
break;
case 19:
if(millis()-time>k)
{
time=millis();
digitalWrite(j1,0);
digitalWrite(k1,1);
digitalWrite(kp1,1);
digitalWrite(z1,0);
digitalWrite(zp1,0);
state=20;
}
break;
Coala
5
Mod Coala Nr.document Semnat Data
case 20:
if(millis()-time>j)
{
time=millis();
digitalWrite(j2,1);
state=21;
}
break;
case 21:
if(millis()-time>z)
{
time=millis();
digitalWrite(j2,0);
digitalWrite(k2,0);
digitalWrite(kp2,0);
digitalWrite(z2,1);
digitalWrite(zp2,1);
state=22;
}
break;
case 22:
state=1;
}
break;
}
}
delay(20);
}
Coala
6
Mod Coala Nr.document Semnat Data