contraves schema

Contraves - BCD Binary Switch - Thumbwhell

I Contraves o Thumbwheel o BCD binary Switch, sono componenti utilizzati in elettronica, per impostare un valore numerico prestabilito mediante l’esposizione, sulla finestrella anteriore, di un numero, compreso tra 0 e 9 , posizionato su di una ruota che può essere fatta girare premendo due pulsanti meccanici.

sul connettore posteriore, oltre al collegamento comune, ci sono quattro uscite  A,B,C e D, che presentano il codice binario da 0 a 9.; lo schema seguente mostra l’applicazione tipica.

contraves
contraves flow
contraves variabili
contraves oggetti

Variabili di progetto

per gestire il codice binario ABCD, è necessario associare una variabile a ciascun interruttore del BCD Binary Switch.

chiamo le variabili di tipo Bool, dip0, dip1, dip2 e dip3

definisco la variabile “set” che utilizzerò per stabilire la combinazione del BCD Binary Switch

creo la variabile bidimensionale BCD_1, che utilizzerò per costruire l’array che contiene il valore decimale da inviare al display.

oggetti, inseriti nel 3D System, necessari per il progetto

collego 4 “switch_array_slide”, ai bit 0,1,2,3 alla porta C

collego i segmenti del  “LED_7seg” alla porta B, e il catodo comune al bit 0 della porta A

contraves input
contraves BCD
contraves while
contraves flusso finale

Diagramma di flusso

Inserisco il ciclo principale con l’accortezza di impostare “While” a 10, in modo che quando il ciclo è stato ripetuto 10 volte, rincomincia dall’inizio.

questa impostazione è necessaria per limitare a 10 la raccolta dei valori contenuti nella variabile BCD_1.

 

I valori decimale contenuti nella variabile BCD_1[10], vanno da zero a 9, che corrispondono ai valori impostabili sui “Contraves/ThumbWhell/BCD Binary Switch”.

Le prime funzioni che inserisco nel ciclo principale, sono i 4 “Inputs”, corrispondenti ai 4 contatti presenti all’interno dei Contraves.

A ciascun Input, è associata una variabile di tipo Bool, che rappresenta lo stato logico zero o 1.

le 4 variabili sino: dip0,dip1,dip2 e dip3

contraves calcolo

Subito dopo aver inserito le 4 funzioni “Input”, inserisco la funzione “Calcolo” che contiene l’array impostato con la variabile BCB_1, seguito dalla funzione “Switch case”.

contraves switch case

imposto la funzione “Switch case” in modo da avere 10 uscite differenti, controllate dalla formula:

dip0 + 2*dip1 + 4*dip2 + 8*dip3

contraves switch case set

di seguito sono rappresentate le 10 opzioni derivanti dalla impostazione dello “Switch case”

contraves set

In ogni ramo dello “Switch case”, inserisco la funzione “Calcolo”, che utilizzo per impostare il valore della variabile “set”

contraves showdigit

I valore decimale, selezionato dalla combinazione dei 4 “Input”, sarà inviato alla uscita e rapresentato sul display.

Il valore della variabile “set”, è inviata al digit del “LED_7seg1”.

contraves delay

Concludo il programma inserendo un “delay” di 500 milisecondi.

Diagramma di flusso completo

C code

Riccardo Monti