SCALA DEI COLORI DEL RESISTORE – MORELLI VINCENZO
Il programma realizzato con Visual Basic, permette di specificare le fasce di colori di un resistore in modo da calcolare e far visualizzare il valore resistivo della resistenza.
Per realizzare il programma, ho lavorato su 5 fasi:
1. impostazione dello sfondo col disegno del resistore 2. organizzazione dell’interfaccia grafica con i controlli 3. attivazione dei gestori evento
4. programmazione della subroutine per la colorazione delle fasce 5. scrittura del codice per il calcolo del valore resistivo.
1) IMPOSTAZIONE DELLO SFONDO
per poter visualizzare la resistenza nel programma, ho per prima cosa disegnato la resistenza con un programma di disegno (Paint) per poi inserirla come sfondo nel programma.
Per fare ciò, occorre agire sulla proprietà del background nel seguente modo:
selezionare la proprietà BackgroundImage e cliccare l’icona corrispondente ai 3 puntini:
uscirà una finestra che permetterà di importare lo sfondo sul programma. Scegliere importa e selezionare l’immagine. Dare OK.
2) ORGANIZZAZIONE DELL’INTERFACCIA GRAFICA
Dopo aver impostato lo sfondo, ho inserito i diversi oggetti utili per far funzionare il programma, ovvero:
• tre ListBox
• un Button
• un TextBox
• tre RectangleShape LISTBOX
La Casella di Riepilogo ListBox è un elenco dal quale l’utente può selezionare una voce.
Per stabilire le varie voci che l’utente può scegliere all’interno di esso, bisogna inizializzarlo agendo sulle proprietà selezionando la casella Items: Cliccando sui puntini di sospensione, comparirà una finestra dove poter inserire le varie voci selezionabili disponendole una sotto l’altra.
BUTTON
È un pulsante che permette l’avvio dell’applicazione mediante il click sinistro del mouse. Esso, come tutti i windows form presenti in vb è reperibile nella casella degli strumenti.
Occorre però rinominarlo in modo da ottenere sul bottone una scritta desiderata, per esempio:
“Valore della resistenza in Ω”. Per fare ciò occorre nuovamente agire sulle proprietà dell’oggetto modificando però il Text:
TEXTBOX
Il TextBox è una casella di testo in grado di supportare sia in input che in output il testo premendo:
- l’immissione di testo da parte dell’utente - la visualizzazione di testo predeterminato Nel nostro caso il TextBox visualizza in output il testo.
La principale proprietà del TextBox è Text, che rappresenta il testo contenuto nella casella. La proprietà Text è di tipo String.
RECTANGLESHAPE
I RectangleShape sono form che ci permettono di visualizzare le fasce colorate della resistenza, sovrapponendole sull’immagine impostata come sfondo.
I RectangleShape si trovano nel gruppo Visual Basick Power Pack della casella degli strumenti.
Per far sì che cambino colore in base alla voce selezionata nel ListBox, occorre renderli opachi impostando Opaque nella proprietà BackStyle:
3) ATTIVAZIONE DEI GESTORI EVENTO
Per attivare i gestori evento, bisogna fare doppio click su uno dei ListBox in modo da aprire il gestore evento SelectIndexChanged.
Individuare l’indice del colore selezionato tramite la proprietà SelectIndex.
Passare poi l’indice del colore selezionato a una opportuna subroutine che dovrà provvedere a colorare il rettangolo (Colora):
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
Dim selezionato1 As Object
selezionato1 = ListBox1.SelectedIndex colora1(selezionato1, RectangleShape1)
Questo, però, per quanto riguarda il primo ListBox, pertanto occorre ripetere il codice altre 2 volte, sostituendo “ListBox1” con “ ListBox2” e poi con ListBox3; “selezionato1” con “selezionato2” e
“selezionato3”; “RectangleShape1” con “RectangleShape2” e “RectangleShape3”; la subroutine
“Colora1” con “Colora2” e “Colora3”.
Questo ci permetterà di effettuare la colorazione dei RectangleShape chiamando la subroutine
“Colora” descritta nella fase N°4.
4)PROGRAMMAZIONE DELLA SUBROUTINE PER LA COLORAZIONE
La routine riceve come parametri l’indice del colore selezionato e l’intero oggetto RectangleShape.
Per eseguire tale routine, ci serviamo di un Select Case, mediante il quale assegniamo alla proprietà BackColor del rettangolo il colore associato all’indice del colore e anche il valore corrispondete alla fascia selezionata:
Sub colora1(ByVal selected As Integer, ByVal rectangleshape As Object)
Select Case selected Case 0
RectangleShape1.BackColor = Color.Brown valore = 1
Case 1
RectangleShape1.BackColor = Color.Red valore = 2
Case 2
RectangleShape1.BackColor = Color.Orange valore = 3
Case 3
RectangleShape1.BackColor = Color.Yellow valore = 4
Case 4
RectangleShape1.BackColor = Color.Green valore = 5
Case 5
RectangleShape1.BackColor = Color.Blue valore = 6
Case 6
RectangleShape1.BackColor = Color.Violet valore = 7
Case 7
RectangleShape1.BackColor = Color.Gray valore = 8
Case 8
RectangleShape1.BackColor = Color.White valore = 9
End Select End Sub
Naturalmente dovremmo aver dichiarato la variabile “valore” nel programma principale.
Questa routine, però, è riferita al primo RectangleShape, pertanto bisogna creare altre 2 subroutine cambiando il nome della routine in “Colora2” e “Colora3” e le variabili “valore2” e “valore3”.
Inoltre, facendo riferimento alla scala dei resistori, associare a ciascun colore selezionato sulle fasce, il giusto valore presente nella tabella:
5) SCRITTURA DEL CODICE PER IL CALCOLO DEL VALORE RESISTIVO
Il codice deve essere scritto nel gestore dell’evento pressione del pulsante. Per aprire questo gestore evento occorre cliccare due volte col tasto sinistro del mouse.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim resistenza As Double
resistenza = Val((valore * 10) + (valore1)) * valore2 TextBox1.Text = Str(resistenza)
End Sub
In questo modo, mettiamo insieme i tre valori delle fasce del resistore, il cui valore totale sarà visualizzato nel TexBox.
RAPPRESENTAZIONE DEL PROGRAMMA CON SCHEMI A BLOCCHI
Per dare evidenza visiva al concetto, possiamo semplificare tutto il nostro programma in un sistema elementare, ovvero rappresentato come un blocco orientato con una linea entrante che rappresenta i dati in input, e una freccia uscente che rappresenta la risposta di output:
Questa rappresentazione grafica costituisce il modello schematico, più modelli schematici tra loro combinati costituiscono uno schema a blocchi.
Ovviamente questa rappresentazione è molto generale e ci dà solo una vaga idea del programma.
Però questo schema può essere analizzato con più blocchi interconnessi tra loro e che grazie ad una selezione, permettono di calcolare il valore della resistenza selezionati i colori delle fasce:
INIZIO
FASCIA1, FASCIA2 ,FASCIA3
I CIFRA = VALORE1
II CIFRA = VALORE2
R = (VALORE1*10 + VALORE2) * VALORE3
R
MOLTIPLICATORE = VALORE3
FINE
I cifra, II cifra e moltiplicatore sono legati a 3 funzioni (Valore) che permettono di stabilire il valore della fascia selezionata mediante un sistema rappresentabile con uno schema a blocchi.
Lo schema riportato di seguito si riferisce alla prima cifra:
Applicando questo sotto programma anche negli altri due blocchi riferiti alla seconda cifra e al moltiplicatore (cambiando ovviamente gli esiti delle condizioni in base al valore stabilito dalla tabella) otteniamo lo schema a blocchi del sistema.
In output ci verrà mostrato il valore totale della resistenza accostando le prime due cifre e moltiplicando esse per il moltiplicatore.
FASCIA1= MARRONE
FASCIA1
= ROSSO
FASCIA1
= ARANC
FASCIA1
= GIALL
FASCIA1
= VERD
FASCIA1
= BLU
FASCIA1
= VIOLA
FASCIA1
= GRIGI
FASCIA1
= BIANC VALORE1
= 1
VALORE1
= 2
VALORE1
= 3
VALORE1
= 4
VALORE1
= 5
VALORE1
= 6
VALORE1
= 7
VALORE1
= 8
VALORE1
= 9
RESA VIDEO DEL PROGRAMMA:
Vincenzo Morelli Matera 2013 . 3a A elettrotecnica