Sei sulla pagina 1di 7

/ / Aval i acao de Pr oj et os de Si st .

Mi cr ocont r ol ados
/ / Dani l o Hungar o Mi chel et t i r a68453
/ / Decl ar acao de var i avei s
unsi gned l ong changeTi me;
i nt bot ao1=0;
i nt bot ao1pr essi onado=0;
i nt bot ao2=0;
i nt bot ao2pr essi onado=0;
i nt di f =0;
i nt i ;
/ / Decl ar acao dos pi nos do ar dui no
i nt car 1R=2;
i nt car 1Y=3;
i nt car 1G=4;
i nt car 2R=5;
i nt car 2Y=6;
i nt car 2G=7;
i nt ped1R=8;
i nt ped1G=9;
i nt ped2R=10;
i nt ped2G=11;
i nt Nbot ao1=12;
i nt Nbot ao2=13;
voi d setup( ) {
/ / Decl ar acao como sai das
pi nMode( car 1R, OUTPUT) ;
pi nMode( car 1Y, OUTPUT) ;
pi nMode( car 1G, OUTPUT) ;
pi nMode( car 2R, OUTPUT) ;
pi nMode( car 2Y, OUTPUT) ;
pi nMode( car 2G, OUTPUT) ;
pi nMode( ped1R, OUTPUT) ;
pi nMode( ped1G, OUTPUT) ;
pi nMode( ped2R, OUTPUT) ;
pi nMode( ped2G, OUTPUT) ;
/ / Decl ar acao dos sensor es dos bot oes
pi nMode( Nbot ao1, I NPUT) ;
pi nMode( Nbot ao2, I NPUT) ;

/ / I ni ci al i zacao dos est ados i ni ci ai s
di gi t al Wr i t e( car 1R, HI GH) ;
di gi t al Wr i t e( car 1G, LOW) ;
di gi t al Wr i t e( car 1Y, LOW) ;
di gi t al Wr i t e( car 2R, HI GH) ;
di gi t al Wr i t e( car 2G, LOW) ;
di gi t al Wr i t e( car 2Y, LOW) ;
di gi t al Wr i t e( ped1R, HI GH) ;
di gi t al Wr i t e( ped1G, LOW) ;
di gi t al Wr i t e( ped2R, HI GH) ;
di gi t al Wr i t e( ped2G, LOW) ;
del ay( 2000) ;
di gi t al Wr i t e( car 1R, LOW) ;
di gi t al Wr i t e( car 2R, LOW) ;

/ / var i avel usada na cont agem do t empo
i nt v = mi l l i s( ) ;
changeTi me = 0;

/ / Pi scadas dos amar el os i ni ci ai s
whi l e( changeTi me<3000) {
di gi t al Wr i t e( car 1Y, HI GH) ;
di gi t al Wr i t e( car 2Y, HI GH) ;
del ay( 100) ;
di gi t al Wr i t e( car 1Y, LOW) ;
di gi t al Wr i t e( car 2Y, LOW) ;
del ay( 100) ;
changeTi me=mi l l i s( ) - v;
}
}
/ / Loop que def i ne se abr i r ou nao a passagemdo pe
voi d loop( ) {
i f ( bot ao2pr essi onado==0) {
f ase1nor mal ( ) ;
}
el se{
f ase1pedest r e( ) ;
}
i f ( bot ao1pr essi onado==0) {
f ase2nor mal ( ) ;
}
el se{
f ase2pedest r e( ) ;
}
}
/ / Test e dos bot oes, sal vando se al gumaper t ado ema
voi d t est ebot ao( ) {
bot ao1=di gi t al Read( Nbot ao1) ;
i f ( bot ao1==HI GH) {
bot ao1pr essi onado=1;
}
bot ao2=di gi t al Read( Nbot ao2) ;
i f ( bot ao2==HI GH) {
bot ao2pr essi onado=1;
}
}
/ / Decl ar acao do est ado vei cul ar 1, sempedest r es
voi d f ase1nor mal ( ) {
/ / Est ado i ni ci al do semaf or o nesse per i odo
di gi t al Wr i t e( car 1G, HI GH) ;
di gi t al Wr i t e( car 1R, LOW) ;
di gi t al Wr i t e( car 2R, HI GH) ;
/ / t est a os bot oes enquant o esper a o del ay
f or ( i =0; i <10; i ++) {
t est ebot ao( ) ;
del ay( 500) ;
}
/ / pr oxi mo est ado do semaf or o nesse per i odo
di gi t al Wr i t e( car 1G, LOW) ;
di gi t al Wr i t e( car 1Y, HI GH) ;
f or ( i =0; i <4; i ++) {
t est ebot ao( ) ;
del ay( 500) ;
}
/ / ul t i mo est ado do semaf or o nesse per i odo
di gi t al Wr i t e( car 1Y, LOW) ;
di gi t al Wr i t e( car 1R, HI GH) ;
f or ( i =0; i <2; i ++) {
t est ebot ao( ) ;
del ay( 500) ;
}
}
/ / Decl ar acao do est ado vei cul ar 2, sempedest r es
voi d f ase2nor mal ( ) {
di gi t al Wr i t e( car 2G, HI GH) ;
di gi t al Wr i t e( car 2R, LOW) ;
di gi t al Wr i t e( car 1R, HI GH) ;
f or ( i =0; i <10; i ++) {
t est ebot ao( ) ;
del ay( 500) ;
}
di gi t al Wr i t e( car 2G, LOW) ;
di gi t al Wr i t e( car 2Y, HI GH) ;
f or ( i =0; i <4; i ++) {
t est ebot ao( ) ;
del ay( 500) ;
}
di gi t al Wr i t e( car 2Y, LOW) ;
di gi t al Wr i t e( car 2R, HI GH) ;
f or ( i =0; i <2; i ++) {
t est ebot ao( ) ;
del ay( 500) ;
}
}
/ / Decl ar acao do est ado vei cul ar 1, com pedest r es
voi d f ase1pedest r e( ) {
di gi t al Wr i t e( car 1G, HI GH) ;
di gi t al Wr i t e( car 1R, LOW) ;
di gi t al Wr i t e( car 2R, HI GH) ;
di gi t al Wr i t e( ped2G, HI GH) ;
di gi t al Wr i t e( ped1R, HI GH) ;
di gi t al Wr i t e( ped2R, LOW) ;
f or ( i =0; i <10; i ++) {
t est ebot ao( ) ;
del ay( 500) ;
}
di gi t al Wr i t e( car 1G, LOW) ;
di gi t al Wr i t e( car 1Y, HI GH) ;
f or ( i =0; i <5; i ++) {
t est ebot ao( ) ;
di gi t al Wr i t e( ped2G, HI GH) ;
del ay( 100) ;
di gi t al Wr i t e( ped2G, LOW) ;
del ay( 100) ;
}
di gi t al Wr i t e( ped2R, HI GH) ;
f or ( i =0; i <2; i ++) {
t est ebot ao( ) ;
del ay( 500) ;
}
di gi t al Wr i t e( car 1Y, LOW) ;
di gi t al Wr i t e( car 1R, HI GH) ;
f or ( i =0; i <2; i ++) {
t est ebot ao( ) ;
del ay( 500) ;
}
/ / quando r eal i za a passagemdo pedest r e, a var i avel
/ / ar mazena o est ado de pr essi onado do bot ao r eset
bot ao2pr essi onado=0;
}
/ / Decl ar acao do est ado vei cul ar 2, compedest r es
voi d f ase2pedest r e( ) {
di gi t al Wr i t e( car 2G, HI GH) ;
di gi t al Wr i t e( car 2R, LOW) ;
di gi t al Wr i t e( car 1R, HI GH) ;
di gi t al Wr i t e( ped1G, HI GH) ;
di gi t al Wr i t e( ped2R, HI GH) ;
di gi t al Wr i t e( ped1R, LOW) ;
f or ( i =0; i <10; i ++) {
t est ebot ao( ) ;
del ay( 500) ;
}
di gi t al Wr i t e( car 2G, LOW) ;
di gi t al Wr i t e( car 2Y, HI GH) ;
f or ( i =0; i <5; i ++) {
t est ebot ao( ) ;
di gi t al Wr i t e( ped1G, HI GH) ;
del ay( 100) ;
di gi t al Wr i t e( ped1G, LOW) ;
del ay( 100) ;
}
di gi t al Wr i t e( ped1R, HI GH) ;
f or ( i =0; i <2; i ++) {
t est ebot ao( ) ;
del ay( 500) ;
}
di gi t al Wr i t e( car 2Y, LOW) ;
di gi t al Wr i t e( car 2R, HI GH) ;
f or ( i =0; i <2; i ++) {
t est ebot ao( ) ;
del ay( 500) ;
}
bot ao1pr essi onado=0;
}

Potrebbero piacerti anche