Realizado

Desenvolvimento / Finalização de um projeto em C+ (Arduino)

Publicado em 06 de Novembro de 2024 dias na TI e Programação

Sobre este projeto

Aberto

Preciso finalizar um código de um projeto de segurança, porem busco um profissional com plenos conhecimentos para finalizar esse código C++

Contexto Geral do Projeto

1. Estado Inicial - DISPONIVEL O sistema começa com o LED verde aceso, indicando que a doca está disponível para receber um veículo. O LED vermelho está desligado, e o buzzer está desativado. O intertravamento está ativo (porta fechada). Cenário Inicial: A doca está livre. O LED verde sinaliza que está pronta para receber um veículo. 2. Veículo Entra na Doca - DETECÇÃO do veículo assim que a carreta começa a estacionar e passa pela fotocélula (estado low), o sistema muda para o estado veiculo_presente. O código chama a função detectarVeiculo(). O tempo de retardo é calculado com base no valor do potenciômetro. Durante o tempo de retardo (máximo de 10 segundos), o LED verde começa a piscar para indicar ao motorista que ele está na posição correta para estacionar. Se, durante esse período, o veículo sair da fotocélula (estado high), o led verde volta a acender continuamente, indicando que a doca está livre novamente. O sistema volta ao estado DISPONIVEL. Se a carreta permanece na posição após o tempo de retardo, o led verde é desligado, o led vermelho acende, e o buzzer é ativado por 4 segundos para alertar que a doca está bloqueada. Cenário: A carreta chega e aciona a fotocélula. O LED verde começa a piscar, indicando que o veículo está se aproximando da doca. Se a carreta permanece na posição até o final do retardo, o led verde desliga, o led vermelho acende, e o buzzer soa para indicar que a carreta está na posição correta, e o motorista deve parar. 3. Liberação do Veículo - botoeira de liberação com o veículo estacionado e o led vermelho aceso, o operador pode pressionar a botoeira de liberação (estado no para low). O sistema verifica se o veículo está presente e se a liberação ainda não foi ativada. Se a liberação for autorizada, a função liberarVeiculo() é chamada: O led vermelho é desligado, e o led verde começa a piscar para indicar que o veículo pode se mover. Enquanto a fotocélula estiver low (veículo presente), o led verde continuará piscando. Quando o veículo sai (fotocélula high), o led verde permanece aceso, indicando que a doca está novamente disponível para outro veículo. Cenário: O motorista da carreta recebe autorização para sair ao ver o LED verde piscando após o operador pressionar a botoeira de liberação. Quando a carreta deixa a fotocélula, o LED verde permanece aceso, indicando que a doca está livre. 4. Cancelamento da Liberação - botoeira de cancelamento durante o estado de liberacao_ativa, o operador pode cancelar a autorização pressionando a botoeira de cancelamento (estado nc para low). Ao cancelar, o led verde é desligado, o led vermelho acende novamente, e o veículo não está mais autorizado a sair. Cenário: Se a botoeira de cancelamento for pressionada durante a liberação, o LED vermelho acende, indicando que a carreta não deve se mover. 5. Saída Não Autorizada do Veículo Se o veículo sai sem autorização (estado low para high na fotocélula sem liberação), o sistema ativa a função sinalizarsaidanaoautorizada(). O LED vermelho pisca, e o buzzer soa por 7 segundos como alerta de saída não autorizada. Após o alerta, o sistema volta ao estado DISPONIVEL. Cenário: Se a carreta sai da doca sem a autorização do operador, o LED vermelho pisca e o buzzer soa por 7 segundos para alertar sobre a saída não autorizada. 6. Cancelamento do Alerta Durante o estado de ALERTA_ATIVO, o operador pode pressionar a botoeira de cancelamento para desativar o alerta. O led vermelho é desligado, o buzzer para de soar, e o led verde acende para indicar que a doca está disponível novamente. Cenário: O operador desativa o alerta de saída não autorizada pressionando a botoeira de cancelamento. O sistema volta ao estado normal de disponibilidade.

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Bug ou alteração pequena
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Funções necessárias Outro
Outras funções necessárias Programador C++

Prazo de Entrega: Não estabelecido

Habilidades necessárias

Outro projetos publicados por A. S. C.