Buscar

Programação em C - Esteira para encher garrafas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Sensores 
S1-> Inicia o processo. Aciona A1. 
S2->Desliga A1. Aciona A2. Após 15s 
desliga A2 e A1 é acionado. 
S3->Desliga A1. Encerra o processo. 
Atuadores 
A1->Motor da esteira. 
A2->Válvula para enchimento da garrafa. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
\ 
S1 S2 S3 
A2 
A1 
INÍCIO 
 
 
 
 
 
FIM 
S1 ativado 
S2 ativado 
S3 ativado 
Motor ligado 
Motor desligado 
e válvula ligada 
Válvula desligada 
e motor ligado 
Motor ligado 
Motor desligado 
#include <stdio.h> 
#include <stdlib.h> 
#include <windows.h> 
 
struct esteira 
{ 
 unsigned int s1:1;//sensor1 
 unsigned int s2:1;//sensor2 
 unsigned int s3:1;//sensor3 
 unsigned int a1:1;//motor1 
 unsigned int a2:1;//válvula de enchimento da garrafa 
 unsigned int :3;//para completar o byte 
 
}status; 
 
int sensor3() 
{ 
 int s3, on_off; 
 do 
 { 
 printf("Digite 3 para ativar o sensor 3\n"); 
 scanf("%d",&s3); 
 }while (s3=!3); 
 printf("Sensor 3 ativado\n"); 
 status.a1=0; 
 printf("Esteira parada.\n"); 
 printf("Processo finalizado\n"); 
 printf(" s1:%d\n s2:%d\n s3:%d\n a1:%d\n a2:%d\n", 
status.s1,status.s2,status.s3,status.a1,status.a2); 
 printf("Digite 1 para reiniciar o processo ou 2 para sair\n"); 
 scanf("%d", &on_off); 
 if(on_off==1) 
 sensor1(); 
 else if(on_off==2) 
 printf("BYE..."); 
 else 
 printf("Opcao invalida"); 
} 
 
int tempo() 
{ 
 int clock; 
 
 for(clock=0;clock<=15;clock++){ //contando o tempo 
 printf("Tempo em segundos = %d\n\n", clock); 
 Sleep(1000); 
 } 
 status.s2=0; 
 printf("Garrafa cheia\n"); 
 status.a2=0; 
 status.a1=1; 
 printf("Esteira rolando...\n"); 
 printf(" s1:%d\n s2:%d\n s3:%d\n a1:%d\n a2:%d\n", 
status.s1,status.s2,status.s3,status.a1,status.a2); 
 sensor3(); 
} 
 
int sensor2() 
{ 
 int s2; 
 do 
 { 
 printf("Digite 2 para ativar o sensor 2\n"); 
 scanf("%d",&s2); 
 }while (s2=!2); 
 status.s2=1; 
 printf("Sensor 2 ativado\n"); 
 status.s1=0; 
 status.a1=0; 
 printf("Motores parados\n"); 
 status.a2=1; 
 printf("Enchendo garrafa...\n"); 
 printf(" s1:%d\n s2:%d\n s3:%d\n a1:%d\n a2:%d\n", 
status.s1,status.s2,status.s3,status.a1,status.a2); 
 
 tempo(); 
 
} 
 
 
int sensor1() 
{ 
 int s1; 
 do{ 
 printf("Digite 1 para ativar o sensor 1\n"); 
 scanf("%d",&s1); 
 }while (s1=!1); 
 status.s1=1; 
 printf("Sensor 1 ativado \n"); 
 status.a1=1; 
 printf("Esteira rolando. . . \n"); 
 printf(" s1:%d\n s2:%d\n s3:%d\n a1:%d\n a2:%d\n", 
status.s1,status.s2,status.s3,status.a1,status.a2); 
 
 sensor2(); 
} 
 
int main() 
{ 
 status.s1=0; 
 status.s2=0; 
 status.s3=0; 
 status.a1=0; 
 status.a2=0; 
 
 sensor1(); 
}

Outros materiais