Neste tutorial você aprenderá as orientações e procedimentos para simular um semáforo em C Sharp e representá-lo no BluePlant.
Componentes
Software: BluePlant bp-9.1.28;
Seções do Tutorial
1. ARQUITETURA
2. DESENVOLVIMENTO
2.1. Criando novo projeto no BluePlant
2.2. Nomeando as Tags
2.3. Inserindo as Imagens na Tela
2.4. Construindo a lógica
2.5. Inserindo e Confeccionando Objetos na Tela
2.6. Simulando a aplicação
2.7. Lógica comentada
3. VÍDEO
1. ARQUITETURA
2. DESENVOLVIMENTO
Quando o botão Ligar/Desligar for acionado a lógica será executada e com o passar do tempo as rotinas irão ser executadas de acordo com suas condições de funcionalidades.
A simulação do projeto pode ser acessada pelo link: https://drive.google.com/file/d/135azIfbR2pP7RBGWv7rC31boGygyzDf1/view?usp=sharing
2.1. Criando novo projeto no BluePlant
Ao executarmos o BluePlant teremos essa interface, onde há os menus de criar um novo projeto, abrir um projeto já existente e por fim o menu de informações sobre a licença de uso e suas características. Deve-se iniciar clicando em New Project para poder fazer breves configurações.
Nessa janela vamos nomear o projeto e caso queira pode colocar uma descrição, para que assim possa ter uma orientação quando estiver trabalhando com mais de 1 projeto ao mesmo tempo. Além disso, temos a escolha de onde o arquivo será salvo.
Nessa etapa o projeto já está criado faltando agora confeccioná-lo. Sendo assim, vamos para o menu Draw.
Nessa parte do projeto vamos editar o tamanho da tela a qual iremos confeccionar, no exemplo deste projeto iremos adotar 1366x600. Essa alteração é feita nos campos em destaque.
2.2. Nomeando as Tags
Após configurar a tela do tamanho desejado, o próximo passo será denominar as tags de acordo com sua aplicação. Para que essa etapa seja feita, deve-se ir ao menu edit e logo após clicar no submenu tags.
Aqui podemos notar todas as variáveis que foram adotadas para esse projeto. Vale ressaltar que há diversos tipos de variáveis e cada uma tem sua característica, no caso do projeto usamos apenas 2 tipos, as digitais e as analógicas.
2.3. Inserindo as Imagens na Tela
Nessa etapa iremos confeccionar a tela. O primeiro passo é importar algumas imagens da internet para ter um aspecto mais real dos objetos. Dessa forma, iremos utilizar as imagens acima. Uma recomendação que fazemos é sempre pegar imagens que tenham o fundo removido, ou seja, transparente.
Após colocar todas as imagens na tela, podemos notar o seguinte layout.
2.4. Construindo a lógica
A partir do momento o qual todos os objetos já foram colocados na tela, vamos dar início ao processo de designar funções e características dinâmicas para eles.
Nessa aba ficam os scripts, que são simplesmente códigos a qual gera um algoritmo em função de uma linguagem de programação. No caso do projeto será feito um script em C# mas há também a possibilidade de ser feito em VB.NET. Além disso ele será programado dentro do intervalo o que a tela estará aberta, como mostrado na imagem acima
Desenvolver a lógica do script por meio da linguagem C#. O script do projeto estará detalhado na última seção deste documento ( Item 2.7. Lógica comentada )
2.5. Inserindo e Confeccionando Objetos na Tela
Nessa parte iremos fazer alguns “tampões” para dar a alusão de que determinada luz do semáforo esteja desligada. Sendo assim, será feito tanto para o de carro quanto para o de pedestre. Vale ressaltar a importância de escolher uma paleta de cor que se assemelhe a cor da imagem do farol, isso tudo por uma questão estética do projeto.
Aqui pode-se ver o resultado final após termos desenhado os “tampões” e colocado na respectiva posição de acordo com as cores da imagem.
Agora será feito alguns ajustes para que se tenha um visual gráfico mais agradável e próximo do real. Nessa janela está sendo feita a parametrização do tamanho das imagens do farol de pedestre com a proporcionalidade dos respectivos tampões.
Aqui pode-se ver o resultado final após termos desenhado os “tampões” juntamente com as imagens na mesma proporção.
Iremos adicionar uma caixa de texto em nossa tela para que ela mostre a contagem a qual o script estará fazendo.
Iremos adicionar um botão em nossa tela para que ele dê início a lógica a qual o script estará fazendo. Dessa forma, ele será responsável por iniciar e desligar a contagem, ou seja, os semáforos.
Iremos configurar os tampões para que eles tenham propriedades dinâmicas, nesse projeto vamos usar a função “Visibility” (Visibilidade) para que ele seja visível apenas quando alguma sentença seja verdadeira ou falsa, isso que irá determinar será a aplicação. No caso desse projeto vamos fazer com que os tampões fiquem visíveis no momento o qual a respectiva lâmpada deveria estar apagada. Vale ressaltar que a lâmpada verde e amarela terá 2 tampões para que assim a lógica seja funcional.
Aqui podemos observar o que foi dito no passo anterior onde será feito uma sobreposição dos tampões, além de configurar os tampões para que eles tenham propriedades dinâmicas usando a função “Visibility”.
A seguir a configuração do último tampão:
Da mesma maneira que foi feito a configuração da função “Visibility” nos tampões do semáforo de carros, agora iremos configurar as imagens que ficaram em cima dos tampões do semáforo de pedestre.
Aqui pode-se observar a configuração da última imagem.
2.6. Simulando a aplicação
Com toda essa configuração feita, o projeto já está pronto e o próximo passo é testar. Para que isso ocorra será necessário acessar o menu Runce selecionar o submenu Test e por fim clicar e por fim clicar em Run Test.
Essa interface é onde ocorre a execução do seu projeto, ou seja, é nela que vamos verificar se tudo que fizemos está correto. Além disso, temos também o botão que ficará responsável por sair do modo execução e voltar para as interfaces de edição.
2.7. Lógica comentada
//INÍCIO DO SCRIPT
{
if(@Tag.botão == 1)//1ªCONDIÇÃO: O BOTÃO DEVERÁ SER ACIONADO PARA QUE TUDO ABAIXO SEJA EXECUTADO.
{
@Tag.ContSemaforo = @Tag.ContSemaforo + 1; //UMA LÓGICA PARA QUE A CADA 100ms ELE SOME 1 AO VALOR DA VARIÁVEL.
if(@Tag.ContSemaforo>99)// CRIANDO UMA LIMITAÇÃO DE TEMPO PARA O CICLO, OU SEJA, NO MÁXIMO 100.
{
@Tag.ContSemaforo=0;// ISSO SERÁ A CONSEQUÊNCIA A QUAL SOMENTE ACONTECERÁ SE A CONTAGEM CHEGAR A 100.
}
if(@Tag.ContSemaforo>0 && @Tag.ContSemaforo<30) // 1ªETAPA: ACONTECERÁ UM CICLO ENTRE 0 E 29.
{
@Tag.LampVerdeCarro = 1;//LÂPADA VERDE DO SEMÁFORO DO CARRO IRÁ LIGAR.
@Tag.LampAmarCarro = 0;//LÂMPADA AMARELA DO SEMÁFORO DO CARRO NÃOIRÁ LIGAR.
@Tag.LampVermCarro = 0;//LÂMPADA VERMELHA DO SEMÁFORO DO CARRO NÃO IRÁ LIGAR.
@Tag.LampVermPed = 1;//LÂMPADA VERMELHA DO SEMÁFORO DO PEDESTRE IRÁ LIGAR.
@Tag.LampVerdePed = 0;//LÂMPADA VERDE DO SEMÁFORO DO PEDESTRE NÃO IRÁ LIGAR.
}
if(@Tag.ContSemaforo>=30 && @Tag.ContSemaforo<60)// 2ªETAPA: ACONTECERÁ UM CICLO ENTRE 30 E 59.
{
@Tag.LampVerdeCarro = 0;//LÂMPADA VERDE DO SEMÁFORO DO CARRO NÃO IRÁ LIGAR.
@Tag.LampAmarCarro = 1;//LÂMPADA AMARELA DO SEMÁFORO DO CARRO IRÁ LIGAR.
@Tag.LampVermCarro = 0;//LÂMPADA VERMELHA DO SEMÁFORO DO CARRO NÃO IRÁ LIGAR.
@Tag.LampVermPed = 1;//LÂMPADA VERMELHA DO SEMÁFORO DO PEDESTRE CONTINUARÁ LIGADA.
@Tag.LampVerdePed = 0;//LÂMPADA VERDE DO SEMÁFORO DO PEDESTRE NÃO IRÁ LIGAR.
}
if(@Tag.ContSemaforo>=60 && @Tag.ContSemaforo<99)// 2ªETAPA: ACONTECERÁ UM CICLO ENTRE 60 E 99.
{
@Tag.LampVerdeCarro = 0;//LÂMPADA VERDE DO SEMÁFORO DO CARRO NÃO IRÁ LIGAR.
@Tag.LampAmarCarro = 0;//LÂMPADA AMARELA DO SEMÁFORO DO CARRO NÃO IRÁ LIGAR.
@Tag.LampVermCarro = 1;//LÂMPADA VERMELHA DO SEMÁFORO DO CARRO IRÁ LIGAR.
@Tag.LampVermPed = 0;//LÂMPADA VERMELHA DO SEMÁFORO DO PEDESTRE NÃO IRÁ LIGAR.
@Tag.LampVerdePed = 1;//LÂMPADA VERDE DO SEMÁFORO DO PEDESTRE IRÁ LIGAR.
}
}
if(@Tag.botão ==0) //2ªCONDIÇÃO: CASO BOTÃO NÃO SEJA ACIONADO TODAS AS LÂMPADAS DEVERÃO FICAR DESLIGADAS E ZERA O CONTADOR.
{
@Tag.ContSemaforo =0;//O CONTADOR SERÁ RESETADO.
@Tag.LampVerdeCarro = 0;//LÂMPADA VERDE DO SEMÁFORO DO CARRO NÃO IRÁ LIGAR.
@Tag.LampAmarCarro = 0;//LÂMPADA AMARELA DO SEMÁFORO DO CARRO NÃO IRÁ LIGAR.
@Tag.LampVermCarro = 0;//LÂMPADA VERMEKHA DO SEMÁFORO DO CARRO NÃO IRÁ LIGAR.
@Tag.LampVermPed = 0;//LÂMPADA VERMELHA DO SEMÁFORO DO PEDESTRE NÃO IRÁ LIGAR.
@Tag.LampVerdePed = 0;//LÂMPADA VERDE DO SEMÁFORO DO PEDESTRE NÃO IRÁ LIGAR.
}
}
//FIM DO SCRIPT
3. VÍDEO
Comentários
0 comentário
Por favor, entre para comentar.