giuliagiamberini.files.wordpress.com · Web viewCon Arduino si possono realizzare molto velocemente...

8
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 :

Transcript of giuliagiamberini.files.wordpress.com · Web viewCon Arduino si possono realizzare molto velocemente...

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.