Programa IV - Programa con sensores para indicar o esgotamento dos caramelos

Idea

Tamén traballamos a idea de introducir nos recipientes dos caramelos sensores ultrasónicos, que cando detectasen a caixa baleira, advertise na pantalla que esa clase de caramelo estaba esgotada e eliminase a opción de elixir este tipo de caramelo.

 

Melloras

Conseguimos facer a progamación para que cumplise as nosas espectativas, pero a pouca precisión do sensor ultrasónico á distancia que tiñamos impediunos incorporalo á maquina.

 

Por iso decidimos cambiar o sensor ultasónico por un de contacto, situado baixo unha panca que potenciase a forza do peso dos caramelos, e cando houbese poucos non presionase o sensor, pero tampouco puidemos traballalo abondo polo pouco tempo que tiñamos de cara á competición.

 

Anque non incorporamos isto, si traballamos no programa, que explicamos a continuación:

 

O programa

O programa funciona para dous tipos de caramelos (portos de saída B e C e mecanismo tipo "aspa") e ten as catro entradas ocupadas, 2 para os sensores das moedas, e dous para os sensores ultrasónicos, un para cada caixa.

 

O programa sería similar utilizando sensores de contacto, cambiando os sensores ultrasónicos por estes.

 

Variable "esgotado 1"

Indica se algún tipo de caramelo está esgotado

 

Bucle

Primeiro miramos se hai algún caramelo esgotado, logo acepta as moedas, informa do que se pode elixir, e realiza a venda bloqueando a opción que estea esgotada.

 

Bloque "mirar esgotado"

 

Primeiro miramos se algún dos caramelos está esgotado

 

Segundo a información dos sensores ultrasónicos escribe na variable "esgotado1" 0 (completo), 1 (esgotado limón), 2 (esgotado menta) ou 3 (esgotado todo)

Amósase na pantalla "introduce 50 céntimos", e engádese información sobre se algún dos caramelos está esgotado.

 

Bloque "Moedas_esgotado"

 

Entramos no bucle do selector de moedas

 

É igual que o explicado nos anteriores programas, coa diferenza de que agora sae do bucle tamén se esgotado =3 (non hai caramelos) para que non se insiran moedas.

 

Información na pantalla

 

Introducida a moeda, informa na pantalla se un caramelo que está esgotado e pide introducir 50 céntimos.

 

Bloque "venda_esgotado"

 

Elíxese caramelo premendo os botóns correspondentes e realizamos a venda , pero o programa bloquea a opción esgotada.

 

Isto faise, por exemplo, se prememos limón e NON está esgotado, acepta a opción e apinta 1 na variable "caramelo", pero se está esgotado xa non escribe na variabla caramelo, que seguirá a cero.

Segundo a opción elixida actívase o servomotor correspondente e póñense a cero as variables caramelo e venda.

Sae do bucle cando venda = 0 (vendéronse os caramelos)

 

Final

Reiníciase a pantalla e comeza de novo o programa