Top Banner
Implementazione di Arduino UNO nella progettazione del gioco. Obiettivo: Prendere dimestichezza con Arduino e sviluppare il seguente gioco: Il gioco prevede un led verde e tre rossi con quattro pulsanti. Il led verde si deve accendere randomicamente dopo 5 secondi dall'avvio e prima dei 30 secondi. Il primo pulsante che verrà premuto dopo l'accensione del led verde sarà il vincitore che verrà visualizzato mediante i tre led rossi. Dopo 10 secondi il gioco si resetta e si riparte da capo. Progettazione Contenuti teorici: ARDUINO : Arduino è un tool di sviluppo composto da una serie di schede elettroniche dotate di un microcontrollore. È stata ideata e sviluppata da alcuni membri dell'Interaction Design Institute di Ivrea come strumento per la prototipazione rapida e per hobby o per scopi didattici e professionali. Con Arduino si possono realizzare molto velocemente e in modo semplice piccoli dispositivi come controllori di luci, sensori di luce, autolavaggi, temperatura e umidità oppure far funzionare un robot, lanciare un razzo amatoriale, controllare un modellino pieno di trenini, realizzare complessi strumenti scientifici e mille altre cose. Essenzialmente una scheda Arduino è un elaboratore che legge un input e restituisce un output. LED : L’acronimo LED deriva come è noto da: light emitting diode, ovvero diodo ad emissione di luce. Infatti il diodo led ha proprio le caratteristiche di un diodo, ed è costituito essenzialmente da una giunzione P-N che, se alimentata direttamente, emette un fascio di luce (o radiazione luminosa). RESISTENZA :
8

giuliagiamberini.files.wordpress.com · Web viewCon Arduino si possono realizzare molto velocemente e in modo semplice piccoli dispositivi come controllori di luci, sensori di luce,

Mar 14, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: giuliagiamberini.files.wordpress.com · Web viewCon Arduino si possono realizzare molto velocemente e in modo semplice piccoli dispositivi come controllori di luci, sensori di luce,

Implementazione di Arduino UNO nella progettazione del gioco.

Obiettivo: Prendere dimestichezza con Arduino e sviluppare il seguente gioco:

Il gioco prevede un led verde e tre rossi con quattro pulsanti. Il led verde si deve accendere randomicamente dopo 5 secondi dall'avvio e prima dei 30 secondi. Il primo pulsante che verrà premuto dopo l'accensione del led verde sarà il vincitore che verrà visualizzato mediante i tre led rossi. Dopo 10 secondi il gioco si resetta e si riparte da capo.

Progettazione

Contenuti teorici:

ARDUINO :

Arduino è un tool di sviluppo composto da una serie di schede elettroniche dotate di un microcontrollore. È stata ideata e sviluppata da alcuni membri dell'Interaction Design Institute di Ivrea come strumento per la prototipazione rapida e per hobby o per scopi didattici e professionali.

Con Arduino si possono realizzare molto velocemente e in modo semplice piccoli dispositivi come controllori di luci, sensori di luce, autolavaggi, temperatura e umidità oppure far funzionare un robot, lanciare un razzo amatoriale, controllare un modellino pieno di trenini, realizzare complessi strumenti scientifici e mille altre cose.

Essenzialmente una scheda Arduino è un elaboratore che legge un input e restituisce un output.

LED :

L’acronimo LED deriva come è noto da: light emitting diode, ovvero diodo ad emissione di luce. Infatti il diodo led ha proprio le caratteristiche di un diodo, ed è costituito essenzialmente da una giunzione P-N che, se alimentata direttamente, emette un fascio di luce (o radiazione luminosa).

RESISTENZA :

Una resistenza ( o più appropriatamente Resistore) è un componente elettrico che oppone una determinata resistenza elettrica al passaggio di corrente.

BREADBOARD :

Una breadboard (o anche detta basetta sperimentale) è uno strumento utilizzato per creare prototipi di circuiti elettrici.

PULSANTE :

Il pulsante è un semplice dispositivo utilizzato per la registrazione di dati forniti in input dall'utente. Questi dati possono essere solo due: 0 se il pulsante non è premuto oppure 1 se questo viene premuto.

Page 2: giuliagiamberini.files.wordpress.com · Web viewCon Arduino si possono realizzare molto velocemente e in modo semplice piccoli dispositivi come controllori di luci, sensori di luce,

Schema /disegno:

Figura: schema del circuito realizzato con l'utilizzo di Tinkercad, sito web per la realizzazione di circuiti, progetti oppure disegni 3D 

Realizzazione

Materiale utilizzato:

Quantità Nome materiale1 Arduino (Genuino UNO)1 Bread-board4 Pulsanti8 Resistenze (220Ohm)3 Led (rosso)1 Led (verde)Q.b. Ponticelli / filo conduttore

Arduino è programmabile usando l'Arduino Programming Language e l'Arduino Software (IDE).

Foto/Filmato del circuito realizzato:

Page 3: giuliagiamberini.files.wordpress.com · Web viewCon Arduino si possono realizzare molto velocemente e in modo semplice piccoli dispositivi come controllori di luci, sensori di luce,

FOTO: Funzionamento del circuito

Page 5: giuliagiamberini.files.wordpress.com · Web viewCon Arduino si possono realizzare molto velocemente e in modo semplice piccoli dispositivi come controllori di luci, sensori di luce,

Codice:

int Num_casuale = 0; //conterrà il numero randomico in millisecondiint Rand=0; //numero randomicoint N_led=0; //variabile per poter uscire dal ciclo while(...)int But_1=1; //pin 1int But_2=2; //pin 2int But_3=3; //pin 3int But_4=4; //pin 4int LED_V=13; //pin 13int LED_1=12; //pin 12int LED_2=11; //pin 11int LED_3=10; //pin 10

void setup() {  pinMode(LED_V, OUTPUT); //dichiarazione dei pin di output  pinMode(LED_1, OUTPUT);  pinMode(LED_2, OUTPUT);  pinMode(LED_3, OUTPUT);  pinMode(But_1, INPUT); //dichiarazione dei pin di input  pinMode(But_2, INPUT);  pinMode(But_3, INPUT);  pinMode(But_4, INPUT);}

void loop() //loop{  N_led=0; //N_led a 0  for(int i=13;i>=10;i--) //ciclo che inizializza i pin di compresi tra 13 e 10  ponendoli LOW  { digitalWrite (i,LOW);  }  randomSeed(millis());  //funzione per l'utilizzo della generazione casuale di numeri  Rand = random(5,30);  //numero casuale compreso tra MIN=5 e MAX=30  Num_casuale = Rand * 1000;  //trasformazione del numero in millisecondi  delay (Num_casuale);  //attendo Num_casuale di secondi  digitalWrite (LED_V, HIGH);  //accensione del led verde  while (N_led==0)  //ciclo che ha come condizione N_led=0 (fino a quando noon entra dentro non cambierà)  {     if (digitalRead (But_1) == HIGH) //se premuto il primo pulsante      {         digitalWrite (LED_3, HIGH); //led al pin 10 acceso (numero 1)         N_led=1;      }      if (digitalRead (But_2) == HIGH) //se premuto il secondo pulsante      {         digitalWrite (LED_2, HIGH); //led al pin 11 acceso (numero 2)         N_led=2;      }      if (digitalRead (But_3) == HIGH) //se premuto il terzo pulsante      {         digitalWrite (LED_2, HIGH); //led al pin 11 acceso (numero 2)

Page 6: giuliagiamberini.files.wordpress.com · Web viewCon Arduino si possono realizzare molto velocemente e in modo semplice piccoli dispositivi come controllori di luci, sensori di luce,

         digitalWrite (LED_3, HIGH); //led al pin 10 acceso (numero 1) [TOT=3]         N_led=3;      }      if (digitalRead (But_4)==HIGH) //se premuto il quarto pulsante      {         digitalWrite (LED_1,HIGH); //led al pin 12 acceso (numero 4)         N_led=4;      }  }delay(10000); //attesa di 10 secondi (10000 millisecondi)}

Descrizione del codice sorgente:

Prima del void setup dichiaro le variabili del codice. Ad esempio Led_V (Led verde) avrà valore 13 perchè il led verde è collegato al pin 13.

Nel void setup vengono dichiarate le tipologie di comunicazione (input o output). Nel void loop (ciclo infinito) :

viene inizializzata la variabile N_led a 0 per resettarla alla seconda esecuzione; viene effettuato un ciclo di spegnimento dei led da 13 a 10 compresi; viene dichiarata la funzione randomseed(millis()) per l'utilizzo della funzione randomica; Rand assume un valore casuale tra 5 e 30; Num_casuale prende il valore in millisecondi del numero casuale; il programma viene messo in pausa per i secondi indicati da Num_casuale; viene acceso il led verde (LED_V);

Se la variabile N_led è 0 allora:

viene effettuato un controllo su quale bottone è stato premuto:

  Se è stato premuto il primo:

accensione del led al pin 10;

  Se è stato premuto il secondo:

accensione del led al pin 11;

  Se è stato premuto il terzo:

accensione del led al pin 10; accensione del led al pin 11;

Se è stato premuto il quarto:

accensione del led al pin 12.

Risultati:

Viene caricato il codice sopra la piattaforma di programmazione per Arduino e la scheda viene alimentata non appena viene collegata al computer. All’avvio dell’esecuzione del programma si avvierà il codice.  L’iterazione del gioco continua fino a quando l'utente non toglie l'alimentazione.

Page 7: giuliagiamberini.files.wordpress.com · Web viewCon Arduino si possono realizzare molto velocemente e in modo semplice piccoli dispositivi come controllori di luci, sensori di luce,

Osservazioni e conclusioni :

In conclusione si può affermare che l’esperienza è riuscita senza alcun tipo di problema.