aboutsummaryrefslogtreecommitdiff
path: root/docs/articolo_glcomo.txt
blob: 1fb9fad9e72b5ba9f29ce825d5f6c9b91f9f2ad8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
Arcerino
========

Ai bei tempi passati, quando io ero giovane, gli uomini erano veri 
uomini, i computer veri computer e la verosomiglianza fisica un 
lusso che nessun gioco poteva permettersi, riportare in posizione 
un cursore oscillante in modo casuale era considerata 
una buona approssimazione di tiro con l'arco.

Avanti veloce ai giorni nostri, ad una riunione del Gl-Como e 
ad una domanda da parte del presidente: “Ehi, la fiera è imminente, 
che progetto portiamo?”. 
Segue momento di panico, dato che il progetto principale del LIFO 
non è ancora funzionante e i progetti arduinosi personali 
sono fermi in attesa di componenti, ma subito interviene la consapevolezza 
del vero Maker “non ti preoccupare, qualcosa ci sarà!”.

Un po' di brainstorming ed una notte di sonno dopo, nel locale 
adibito alla raccolta di idee prende forma un progetto: 
abbiamo un nunchuk, abbiamo un display, perché non fare 
una rievocazione ironico-didattica [#ironico]_ dei tiri a segno del passato?

Detto, fatto, nasce il progetto arcerino!

.. [#ironico] e buzzword-compliant, per di più!

Hardware
--------

L'hardware è stato assemblato con materiale già acquistato per 
altri progetti: un `Olimexino 32U4`_ (clone migliorato di `Arduino 
Leonardo`_), un display_ stile Nokia 3310 ed un Wiimote Nunchuk 
con relativo adattatore_ per il collegamento ad Arduino.

Dato che l'LCD è collegato alla porta UEXT_ dell'Olimexino 
e ne riusa i pin I2C per altre funzioni, è stato necessario 
aggiungere un semplice adattatore, realizzato su un ritaglio di millefori, 
per redirigere i segnali in questione verso altri pin 
e liberare il canale I2C per il Nunchuk.

.. _`Olimexino 32U4`: https://www.olimex.com/Products/Duino/AVR/OLIMEXINO-32U4/
.. _`Arduino Leonardo`: http://arduino.cc/en/Guide/ArduinoLeonardo
.. _display: https://www.olimex.com/Products/Modules/LCD/MOD-LCD3310/
.. _adattatore: http://www.dfrobot.com/index.php?route=product/product&filter_name=wiichuck&product_id=91
.. _UEXT: https://www.olimex.com/Products/Modules/

Software
--------

Per il software sono state usate due librerie esistenti: 
wiinunchuck.h_ (sotto licenza GPLv3+) per leggere i segnali 
del Nunchuk e u8glib_ (sotto licenza BSD) per gestire il display LCD.
Quest'ultima rende il progetto adattabile ad un gran numero 
di display presenti sul mercato, anche se potrebbe essere necessario 
cambiare parte delle funzioni di disegno dell'interfaccia 
per adattarle a diverse risoluzioni.

.. _wiinunchuck.h: http://www.timteatro.net/2012/02/10/a-library-for-using-the-wii-nunchuk-in-arduino-sketches/
.. _u8glib: https://code.google.com/p/u8glib/

Il gioco è semplice: si hanno a disposizione 10 frecce; con il joystick 
del nunchuk si controlla un mirino che oscilla in modo casuale 
e con il tasto Z si lancia la freccia. Alla fine della partita 
c'è una schermata riassuntiva di punteggio e rango raggiunto, 
e se ne può iniziare una nuova.

Per semplicità si è deciso inizialmente di non implementare forza di tiro, 
arco percorso dalla freccia ed effetto del vento, pur presenti 
nel gioco dal quale si è presa ispirazione. 
Volendo, rimane all'incirca un terzo della memoria dell'arduino 
per farlo.

Downloads
---------

Tutto il materiale relativo al progetto è disponibile sul relativo 
`repository git`_ ed è rilasciato sotto licenza GPLv3+.

.. _`repository git`: