Os Sistemas Embarcados
Por: Sara • 29/6/2018 • 846 Palavras (4 Páginas) • 341 Visualizações
...
[pic 5][pic 6][pic 7]
[pic 8][pic 9][pic 10][pic 11]
Tempo: 50 segundos Tempo: 5 segundos Tempo: 5 segundos
Sinal Principal Sinal Principal Sinal Principal
- Escreva o código e mostre o resultado de sua execução(sugestão: utilize printf para mostrar o sinal de cada pino(HIGH ou LOW)
- Agora repita o item anterior fechando somente o sinal quando estiverem carros esperando o sinal abrir, garantindo que a via Primária tem prioridade e, que a via secundária tem prioridade na ausência de veículos na via principal.
#define VDP 2
#define AMP 3
#define VMP 4
#define VDS 5
#define AMS 6
#define VMS 7
#define BTN1 0
#define BTN2 1
int pins[6]= {VDP, AMP,VMP,VDS,AMS,VMS};
int btns[2] = {BTN1,BTN2};
int states1[6] ={HIGH,LOW,LOW,LOW,LOW,HIGH};
int states2[6] ={LOW,HIGH,LOW,LOW,LOW,HIGH};
int states3[6] ={LOW,LOW,HIGH,HIGH,LOW,LOW};
int states4[6] ={LOW,LOW,HIGH,LOW,HIGH,LOW};
int viaP=5;
int viaS=0;
int p=0;
void setup(){
for(int i=0;i
pinMode(pins[i], OUTPUT);
}
for(int i=0;i
pinMode(btns[i], INPUT);
}
}
void verificarVia1(){
if (p){
setstate(4);
delay(2000);
}
if (viaP !=0){
setstate1(states1);
for (int i = 0; i
printf("%s\n", "Carro na via principal");
}
viaP=0;
viaS=9;
}
}
void verificarVia2(){
if (viaS !=0){
setstate(2);
delay(2000);
setstate(3);
for (int i = 0; i
printf("%s\n", "Carro na via secundaria");
}
p=1;
viaS=0;
viaP=2;
}
}
void setstate(int newstate[]){
for (int i=0; i
digitalWrite(pins[i],newstate[i]);
}
}
void setstate(int statenumber){
switch (statenumber){
case 1: setstate(states1);
break;
case 2: setstate(states2);
break;
case 3: setstate(states3);
break;
case 4: setstate(states4);
break;
}
}
void loop(){
//inicia com via princpal aberto 5 carros
verificarVia1();
verificarVia2();
}
void blink(){
}
- Considere agora que existam um botão de pedestre na via princial chamado BPP e um botão de pedestre na secundária chamado BPS. Como ficaria o item anterior neste caso?
Implemente.
- Implemente um sistema de alarme de incêndio que, ao detectar uma temperatura superior a 80 graus celsius, dispara um alarme e aciona os sprinklers apenas do local com o aumento de temperatura.
- Considere 10 sensores e 10 sprinklers e os sensores setam em high quando a temperatura ultrapassa 80 graus celcius.
#define SEN1 1
#define SEN2 2
#define SEN3 3
#define SEN4 4
#define SEN5 5
#define SEN6 6
#define SEN7 7
#define SEN8 8
#define SEN9 9
#define SEN10 10
#define SPK1 1
..
#define SPK10 10
int sensores[10]={SEN1,SEN2,SEN3,SEN3,SEN4,SEN5,SEN6,SEN7,SEN8,SEN9,SEN10};
int sprinklers[10] ={SPK1,...,SPK10};
int
...