Terza settimana

Nella terza settimana abbiamo aiutato i dipendenti in alcuni lavori uno di questi è la costruzione di un retropie cioè di un vecchio cabinato rimodernizzato (http://www.futurashop.it/videogiochi_arcade_7300-RETROPIEKIT?search=retropie).

Per prima cosa abbiamo saldato i vari componenti sulla shield retropie    (http://www.futurashop.it/shield_retropie_per_raspberrypi_FT1199?search=Shield%20RetroPie%20per%20Raspberry%20Pi), in seguito la abbiamo montata sul RaspberryPi e fissata alla base del nostro gioco

Abbiamo poi montato i vari pulsanti e il joystick sul relativo pannello

e di seguito montato gli speaker sulle spalle laterali

Abbiamo fissato gli speaker alla loro base

insieme ai i pulsanti select start, volume  e il pulsante per il credit.

 

Successivamente sono stati realizzati  la maggior parte dei collegamenti interni

In seguito abbiamo montato il display sul supporto e infine collegato con la board raspberry. Anche i tasti di controllo dell’LCD sono stati fissati al relativo pannello.

Dopo tutto questo abbiamo completato il cabinato montando i pannelli mancanti e il risultato è il seguente. Per testare il dispositivo abbiamo “dovuto” provare qualche gioco per testare il dispositivo.

 

WhatsApp-Image-20160609 (4) WhatsApp-Image-20160609 (5) WhatsApp-Image-20160609 (6)

Seconda settimana

Nella seconda settimana abbiamo aiutato i dipendenti in varie occasioni e abbiamo modificato il codice in modo tale da poter scrivere anche le lettere dell’alfabeto italiano.
Qui di seguito,vi riportiamo la parte di codice cambiata :

switch (num) {
case 0:            // OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
lift(1);
drawTo(bx + 12 * scale, by + 6 * scale);
lift(0);
bogenGZS(bx + 7 * scale, by + 10 * scale, 10 * scale, -0.8, 6.7, 0.5);
lift(1);
break;
case 1:           //IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
lift(1);
drawTo(bx + 2 * scale, by + 2 * scale);
lift(0);
drawTo(bx + 2 * scale, by + 20 * scale);
lift(1);
break;
case 2:              //AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
lift(1);
drawTo(bx + 2 * scale,by + 2 *scale );
lift(0);
drawTo(bx + 8 * scale, by + 20 * scale);delay(500);
drawTo(bx + 14 * scale, by + 2 * scale);delay(500);
lift(1);
drawTo(bx + 3 * scale, by + 11 * scale );delay(500);
lift(0);
drawTo(bx + 12.8 * scale, by + 11 * scale);delay(500);
lift(1);
break;
case 3:             // FFFFFFFFFFFFFFFFFFF
lift(1);
drawTo(bx + 20 * scale, by + 11 * scale);
lift(0);
drawTo(bx + 2 * scale, by + 20 * scale);
drawTo(bx + 2 * scale, by + 2 * scale);
lift(1);
drawTo(bx + 2 * scale, by + 13 * scale);
lift(0);
drawTo(bx + 12 * scale, by + 13 * scale);
lift(1);
break;
case 4:              //TTTTTTTTTTTTTTTTTTTTTTTTTTTTT
lift(1);
drawTo(bx + 10 * scale, by + 2 * scale);
lift(0);
drawTo(bx + 10 * scale, by + 20 * scale);
lift(1);
drawTo(bx + 2 * scale, by + 20 * scale);
lift(0);
drawTo(bx + 20 * scale, by + 20 * scale);
lift(1);
break;
case 5:       //EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
lift(1);
drawTo(bx + 20 * scale, by + 20 * scale);
lift(0);
drawTo(bx + 2 * scale, by + 20 * scale);
drawTo(bx + 2 * scale, by + 2 * scale);
drawTo(bx + 20 * scale, by + 2 * scale);
lift(1);
drawTo(bx + 2 * scale, by + 12 * scale);
lift(0);
drawTo(bx + 20 * scale, by + 12 * scale);
lift(1);
break;
case 6:       //PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
lift(1);
drawTo(bx + 2 * scale, by + 2 * scale);
lift(0);
drawTo(bx + 2 * scale, by + 20 * scale);
drawTo(bx + 12 * scale, by + 20 * scale);
drawTo(bx + 12 * scale, by + 11 * scale);
drawTo(bx + 2 * scale, by + 11 * scale);
lift(1);
break;
case 7:   // Zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
lift(1);
drawTo(bx + 2 * scale, by + 20 * scale);
lift(0);
drawTo(bx + 20 * scale, by + 20 * scale);
drawTo(bx + 2 * scale, by + 2);
drawTo(bx + 20 * scale, by + 2);
lift(1);
break;
case 8:       //GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
lift(1);
drawTo(bx + 20 * scale, by + 20 * scale);
lift(0);
drawTo(bx + 2 * scale, by + 20 * scale);
drawTo(bx + 2 * scale, by + 2 * scale);
drawTo(bx + 20 * scale, by + 2 * scale);
drawTo(bx + 20 * scale, by + 10 * scale);
drawTo(bx + 8 * scale, by + 10 * scale);
lift(1);
break;
case 9:       // DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
drawTo(bx + 2 * scale, by + 2 * scale);
lift(0);
drawTo(bx + 2 * scale, by + 20 * scale);
drawTo(bx + 14 * scale, by + 12 * scale);
drawTo(bx + 2 * scale, by + 2 * scale);
lift(1);
break;
case 10:      //QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ
lift(1);
drawTo(bx + 2 * scale, by + 2 * scale);
lift(0);
drawTo(bx + 2 * scale, by + 20 * scale);
drawTo(bx + 12 * scale, by + 20 * scale);
drawTo(bx + 12 * scale, by + 2 * scale);
drawTo(bx + 2 * scale, by + 2 * scale);
lift(1);
drawTo(bx + 7 * scale, by + 6 * scale);
lift(0);
drawTo(bx + 15 * scale, by + 1 * scale);
lift(1);
break;
case 11:      //UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
lift(1);
drawTo(bx + 2 * scale, by + 20 * scale);
lift(0);
drawTo(bx + 2 * scale, by + 2 * scale);
drawTo(bx + 12 * scale, by + 2 * scale);
drawTo(bx + 12 * scale, by + 20 * scale);
lift(1);
break;
case 12:       //HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
lift(1);
drawTo(bx + 2 * scale, by + 2 * scale);
lift(0);
drawTo(bx + 2 * scale, by + 20 * scale);
lift(1);
drawTo(bx + 2 * scale, by + 12 * scale);
lift(0);
drawTo(bx + 18 * scale, by + 12 * scale);
lift(1);
drawTo(bx + 18 * scale, by + 20 * scale);
lift(0);
drawTo(bx + 18 * scale, by + 2 * scale);
lift(1);
break;
case 13:         // LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
lift(1);
drawTo(bx + 2 * scale, by + 20 * scale);
lift(0);
drawTo(bx + 2 * scale, by + 2 * scale);
drawTo(bx + 18 * scale, by + 2 * scale);
lift(1);
break;
case 14:         //MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
lift(1);
drawTo(bx + 2 * scale, by + 2 * scale);
lift(0);
drawTo(bx + 2 * scale, by + 20 * scale);delay(500);
drawTo(bx + 10 * scale, by + 4 * scale);delay(500);
drawTo(bx + 13 * scale, by + 20 * scale);delay(500);
drawTo(bx + 13 * scale, by + 2 * scale);delay(500);
lift(1);
break;
case 15://         NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
lift(1);
drawTo(bx + 2 * scale, by + 2 * scale);
lift(0);
drawTo(bx + 2 * scale, by + 20 * scale);delay(500);
drawTo(bx + 12 * scale, by + 2 * scale);delay(500);
drawTo(bx + 12 * scale, by + 20 * scale);delay(500);
lift(1);
break;
case 16:      //RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
lift(1);
drawTo(bx + 2 * scale, by + 2 * scale);
lift(0);
drawTo(bx + 2 * scale, by + 20 * scale);
drawTo(bx + 20 * scale, by + 20 * scale);
drawTo(bx + 20 * scale, by + 11 * scale);
drawTo(bx + 2 * scale, by + 11 * scale);
drawTo(bx + 20 * scale, by + -10* scale);
lift(1);
break;
case 17:         //VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
lift(1);
drawTo(bx + 2 * scale, by + 20 * scale);
lift(0);
drawTo(bx + 10 * scale, by + 2 * scale);
drawTo(bx + 18 * scale, by + 20 * scale);
lift(1);
break;
case 18: //CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
lift(1);
drawTo(bx + 20 * scale, by + 20 * scale);
lift(0);
drawTo(bx + 2 * scale, by + 20 * scale);
drawTo(bx + 2 * scale, by + 2 * scale);
drawTo(bx + 20 * scale, by + 2 * scale);
lift(1);
break;
case 19://BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
lift(1);
drawTo(bx + 2 * scale, by + 2 * scale);
lift(0);
drawTo(bx + 2 * scale, by + 20 * scale);
drawTo(bx + 17 * scale, by + 9 * scale);
drawTo(bx + 6 * scale, by + 8 * scale);
drawTo(bx + 17 * scale, by + 2.5 * scale);
drawTo(bx + 2 * scale, by + 2 * scale);
lift(1);
break;
case 20: //SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
lift(1);
drawTo(bx + 0 * scale, by + 5 * scale);
lift(0);
bogenGZS(bx + 3 * scale, by + 6 * scale, 6 * scale, -2.5, 2, 1);
drawTo(bx + 3 * scale, by + 20 * scale);
drawTo(bx + 10 * scale, by + 20 * scale);
lift(1);
break;

 

Con queste modifiche abbiamo concluso il nostro progetto arrivando al nostro scopo

Prima settimana

Salve,siamo Alessandro e Roberto due studenti della classe 4BI e 4AI dell’istituto ISIS C. Facchinetti di Castellanza.
Nel primo giorno il Signor Boris, il nostro tutor, ci ha fatto visitare l’azienda e ci ha presentato ai vari dipendenti.
Successivamente ci ha dato un Arduino UNO e abbiamo iniziato a familiarizzare con i microcontrollori(Link Ardu: http://www.futurashop.it/libro-labc-di-arduino-board-arduino-uno-rev.3-7300-ardukitbook1?search=arduino%20uno).
Per prendere confidenza abbiamo svolto alcuni esempi predisposti sull’ambiente di sviluppo (link ide: https://www.arduino.cc/en/Main/Software).

In seguito abbiamo cercato sul sito http://www.thingiverse.com/ un progetto fattibile con il nostro Arduino, abbiamo trovato il progetto di un braccio che scrive l’ora (http://www.thingiverse.com/thing:248009).
Il nostro obbiettivo però è quello di modificare il programma in modo tale da fargli scrivere anche le lettere.
Durante tutta la settimana abbiamo stampato i pezzi tramite una stampante 3D.
Abbiamo montato i pezzi

IMG-20160610-WA0035 IMG-20160610-WA0031   IMG-20160610-WA0029

In seguito abbiamo montato i servo (link servo: http://www.futurashop.it/sub-micro-servo-9g-22x11x29-mm-7300-servo206) con le corrispondenti braccia.
Abbiamo iniziato la calibrazione delle braccia tramite del codice preso da internet (https://codebender.cc/sketch:80572#Plotclock%20Final%20Calibrate.ino); è stato un lavoro abbastanza lungo in quanto la calibrazione doveva essere al millimetro altrimenti la scrittura sarebbe risultata sbagliata.