Gioco del moto di un proiettile in Labview | DAQ code laboratory

Gioco del moto di un proiettile in Labview

In questo articolo viene mostrato un semplice esercizio in labview che implementa un gioco basato sul moto di un proiettile. Il gioco prende in ingresso la velocità e l’angolo di lancio di un proiettile e la posizione e dimensione del bersaglio da colpire. Se il proiettile colpisce il bersaglio accende un LED

Front Panel del gioco

Il pannello frontale del gioco contiene i controlli per impostare il proiettile ed il bersaglio, un XY graph per visualizzare l’animazione del proiettile e il bersaglio.

Controls and Indicators

Velocità: Velocità del proiettile
Angolo: angolo del proiettile
Distanza (cm): distanza del bersaglio espressa in centimetri
dimensione (cm): dimensione del bersaglio espressa in centimetri
XY Graph: Posizione del bersaglio e del proiettile
Colpito: led di notifica se il bersaglio viene colpito dal proiettile

Block Diagram del programma principale

Il programma principale è stato sviluppato come una macchina a stati finiti. Gli stati sono Initialize, Launch e Stop. Nel primo si inizializza la rappresentazione grafica con il bersaglio. Nel secondo, si calcola l’evoluzione del proiettile, mentre nel terzo il programma termina

Calcolo posizione proiettile

Il calcolo della posizione del proiettile e demandato ad un apposito subVI

Connector Pane

Front Panel

Controls and Indicators

Tempo: istante di tempo in cui calcolare la posizione
Numeric 2
Vx: vcomponente in x della velocità
Array in : array contenente le posizioni passate del proiettile e del bersaglio
element
f
States: stato del programma, si aggiorna a stop se si supera o si colpisce il bersaglio
Array out: array aggiornato per la parte della posizione del proiettile, mentre rimane invariato la parte relativa al bersaglio
element
f
Numeric 4

Block Diagram

Inizializzazione del bersaglio

Questo subVI genera l’array delle coordinate XY per andare a rappresentare il bersaglio

Connector Pane

Front Panel

Controls and Indicators

dimensione (cm)
Distanza (cm)
Numeric
Numeric 2
Array
element
f

Block Diagram