Guitar Heroino

by DavideM61 in Circuits > Arduino

362 Views, 1 Favorites, 0 Comments

Guitar Heroino

photo_2020-03-04_18-14-19.jpg

Con questo progetto si vuole proporre una rivisitazione dello storico gioco Guitar Hero, dove lo scopo è quello di totalizzare più punti possibili premendo delle sequenze di tasti durante la riproduzione di una canzone. In questo caso, per il lato hardware si è deciso di utilizzare Arduino, mentre per la gestione della logica e del suono Max MSP 8.

Supplies

Per il progetto si è deciso di utilizzare i seguenti componenti:

  1. Arduino UNO;
  2. breadboard (x1);
  3. pulsanti cromati LED con microinterruttore per Videogiochi arcade (x5);
  4. resistenze da 10 kilo ohm (x5);
  5. sensore di distanza a ultrasuoni (x1);
  6. schermo LCD (16x2 caratteri)
  7. jumper maschio-femmina per le connessioni con i sensori (x16);
  8. jumper maschio-maschio (x7);
  9. cavi per ponticelli per collegare i bottoni e le resistenze.

Per i jumper maschio-maschio è tuttavia consigliabile averne un pò di più nel caso si volessero effettuare dei prolungamenti tra i diversi dispositivi.

Lato Arduino E Funzioni

Sketch progetto Arduino_bb.jpg

Il primo step consiste nella configurazione hardware di Arduino.

Per aiutarsi nella gestione dei collegamenti fare riferimento allo sketch del circuito in allegato.

  • 5 pulsanti sono collegati alla breadboard e a 5 pin analogici (A5-A1) da cui leggere i valori di uscita di acceso e spento (si è scelto di usare i pin analogici per questioni di comodità durante sistemazione del circuito). A differenza degli stati HIGH/LOW dei pin digitali, i valori di uscita saranno 0/1023, quindi sarà necessario tenerne conto quando si andranno a far stampare i valori nella seriale. Ogni pulsante è dotato di un microinterruttore da cui è possibile collegare il GND e prelevare il segnale ON/OFF e di un LED colorato: ogni pulsante può benissimo essere alimentato dai 5V che mette a disposizione Arduino, mentre i LED di norma richiederebbero 12V di alimentazione ma è stato notato che anche con 5V l'illuminazione risulta accettabile. Tuttavia, i LED in questo contesto non verranno utilizzati;
  • Un sensore di distanza a ultrasuoni HC-SR04 viene collegato a Vcc e GND mentre i pin Echo e Trig vengono collegati rispettivamente ai pin digitali 12 e 13. Per poter usufruire del sensore, lato Arduino sarà necessario importare la libreria esterna scaricabile qui. Per importare la libreria, in Arduino andare in Sketch -> Include Library -> Add .ZIP Library e selezionare la libreria scaricata precedentemente. Nel contesto del gioco, tale sensore viene proposto in sostituzione alla leva del tremolo della chitarra, permettendo punteggi più alti in occasione di note più durature. L'utente dovrà muovere la mano su e giù in corrispondenza dei due coni: a una data distanza l'effetto sarà attivato, ottenendo una variazione del rate del tremolo al valore letto dal sensore;
  • Lo schermo LCD viene utilizzato per la visualizzazione del punteggio.

I valori prelevati sia dai pulsanti che dal sensore di distanza vengono in seguito disposti in maniera ordinata e inviati tramite porta Seriale a Max MSP, che si occuperà della gestione audio.

Downloads

Lato Max E Funzioni

patch_Guitar_Heroino.png

Come scritto nella sezione precedente, i dati mandati sulla porta seriale verranno in seguito gestiti da Max MSP.

Ispezionando la patch , si possono descrivere 5 sezioni principali:

  1. la prima sezione gestisce la sequenza di note MIDI di Guitar Hero. Ogni nota della sequenza verrà trattata separatamente e comporterà l'illuminazione del colore (toggle) corrispondente;
  2. la seconda sezione gestisce la traccia video di Guitar Hero. Da qui è possibile aprire il video della canzone nella sottocartella dedicata della patch e avviarlo;
  3. la terza sezione è il cuore della patch in quanto gestisce ciò che Max MSP riceve da Arduino sulla seriale. I dati saranno gli stati di ON/OFF dei pulsanti e i valori annessi ai cambiamenti nel sensore di distanza. Sempre in questa sezione vengono fatti dei controlli affinchè i toggle generati dai pulsanti fisici corrispondano simultaneamente ai toggle generati dalla traccia MIDI;
  4. la quarta sezione gestisce invece i volumi delle tracce audio, ossia la base, la chitarra e la traccia "d'errore" quando l'utente sbaglia il pulsante da premere;
  5. la quinta e ultima sezione gestisce il punteggio dell'utente. Verrà assegnato un punto in più per ogni nota giusta, uno in meno per ogni nota sbagliata, una serie di punti in più per ogni nota lunga giusta e il doppio di tali punti nel caso di nota lunga giusta con l'effetto tremolo* attivo. Il punteggio verrà quindi visualizzato sullo schermo LCD in tempo reale.

La patch viene messa in allegato, lì è possibile trovare tutte le istruzioni necessarie per il funzionamento del gioco.

Per aprire la patch, aprire Max e selezionare l'opzione "New From Clipboard".


* L'effetto tremolo utilizzato è stato scaricato al seguente link

Se Si Volessero Aggiungere Nuove Canzoni?

folder_structure.JPG

Per aggiungere una nuova canzone è necessario avere:

  • le tracce audio della base e della chitarra isolata che verranno in seguito caricate su Max*;
  • la traccia MIDI della chitarra**;
  • Il video di Guitar Hero della canzone.

Una volta che si hanno a disposizione questi file è importante seguire i seguenti step:

  1. mettere in sincro il video con le tracce audio (è necessario utilizzare tool di editing video esterni) ed esportare il video tagliato e mutato;
  2. all'interno della cartella in cui è contenuta la patch Max, creare una cartella dedicata per la canzone (vedere immagine in allegato) e copiare tutti i file (Audio, MIDI, Video) all'interno di essa:
  3. caricare i file all'interno della patch seguendo le istruzioni incluse al suo interno.

NOTA: Il segnale prelevato dai pulsanti in seguito alla pressione potrebbe presentare un pò di latenza. E' possibile, quindi, che per alcune canzoni più complesse l'arrivo dei segnali a Max non coincida con l'arrivo dei messaggi MIDI, quindi in quel caso è necessario allungare la durata delle note con l'aiuto di un editor MIDI, in maniera tale da rendere più fluido il gameplay.

*In qualsiasi versione di Guitar Hero/Rock Band è possibile trovare il pacchetto delle canzoni con tutte le tracce audio e MIDI necessarie per effettuare tutti i passaggi espressi sopra. Si ricorda che scaricare è consentito solo se in possesso della copia originale del gioco.

**Le tracce MIDI potrebbero contenere diverse versioni delle sequenze estese su altre ottave. Sarà cura dell'utente eliminare tutte le note eccetto quelle nel range 96-100 (C7 - E7)

BUON DIVERTIMENTO CON GUITAR HEROINO!

Downloads