Usare un qualsiasi telecomando per sentire canzoni, GUIDA

Ciao a tutti, son qui oggi su questo forum per sfornare un prodotto di mia invenzione: Un mediaplayer comandato a distanza da un telecomando.
Ma perche nasce questa invenzione? Oggi, non sapendo cosa fare, mi son detto tra me e me.. E se io volessi sentirmi la musica mentre sono sdraiato nel letto (Ho il pc accanto al letto) la notte, e volessi comandare il MediaPlayer del pc tramite un telecomando qualsiasi? Bene, ho trovato risposta quindi creando un programma che sia in grado tramite un qualsiasi telecomando, anche vecchio non importa (Basta che funzioni) di comandare il MediaPlayer sul pc, ma come?
Se volete seguire questa guida allora vi inizio con l'indicare gli occorrenti:
- -BreadBoard (1)
- -Arduino UNO (1)
- -Ricevitore infrarossi (1) <-- Io l'ho comprato in un comune negozio di elettronica a 4 Euro.
- -Il Software che è in grado di scrivere su Arduino (Potete scaricarlo da qua: http://arduino.cc/en/main/software)
- -Telecomando (1)
- -Cavetti per far i collegamenti nella BreadBoard (4/5)
- -Normalissimo Diodo Led (1)
- -Il Software che funzionerà da MediaPlayer, scaricabile da questo link:
__- *http://www.mediafire.com/?d310u836e8z88kw**__
- -E un po di pazienza, perchè premetto che la guida non è del tutto facile (Soprattutto per chi non ha manualità con il PC) MA, seguendo le mie istruzioni riuscirete appunto, a realizzare questo progetto con facilità :wink:
Comincio con il dire che il Software da me sviluppato è ancora alla prima versione, Chiedo a voi di aiutarmi nel caso avete qualche idea, qualche innovazione, che posso inserire dentro al programma. (Ad esempio volevo successivamente far si che tramite un pulsante si spenga il PC, oppure vada su internet, o ancora Controlli la posta Elettronica..) Insomma, ho bisogno di Idee :wink:
Si ma cosa dobbiamo fare noi poveri utenti?
Allora prima di tutto ho creato uno schema al PC, attraverso un apposito programma, in modo da riprodurre gli effettivi collegamenti che dovete andare a fare tra Arduino e la BreadBoard. Di seguito vi posto la foto dello schema:

Perfetto, difficoltà? Non credo è abbastanza facile.. Bhe che dire, lo schema si commenta da se..
Benissimo, fatto ciò possiamo procedere aprendo il Software che è quello che ci permette di scrivere su Arduino.
Una volta aperto, incolliamo il seguente codice:
```
**#include "IRremote.h"

int RECV_PIN = 10;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
pinMode(12, OUTPUT);
}

void loop() {
if (irrecv.decode(&results)) {
digitalWrite(12, HIGH);
delay(500);
digitalWrite(12, LOW);
irrecv.resume();

if ( results.value == 551520375 ){ //tasto 1 sul telecomando
Serial.println("1");
irrecv.resume();
}
if ( results.value == 551485695 ){ //tasto PRUP sul telecomando
Serial.println("PRUP");
irrecv.resume();
}
if ( results.value == 551518335 ){ //tasto PRDOWN sul telecomando
Serial.println("PRDOWN");
irrecv.resume();
}
if ( results.value == 551502015 ){ //tasto VOL+ sul telecomando
Serial.println("VOL+");
irrecv.resume();
}
if ( results.value == 551534655 ){ //tasto VOL- sul telecomando
Serial.println("VOL-");
irrecv.resume();
}
if ( results.value == 551522415 ){ //tasto MUTE sul telecomando
Serial.println("MUTE");
irrecv.resume();
}
if ( results.value == 551494365 ){ //tasto PAUSA sul telecomando
Serial.println("PAUSA");
irrecv.resume();
}
if ( results.value == 551510175 ){ //tasto AVANTI sul telecomando
Serial.println("AVANTI");
irrecv.resume();
}
if ( results.value == 551542815 ){ //tasto INDIETRO sul telecomando
Serial.println("INDIETRO");
irrecv.resume();
}
if ( results.value == 551489775 ){ //tasto SPEGNI sul telecomando
Serial.println("SPEGNI");
irrecv.resume();
}

}

}**
```
Ok da qua un poi chiederei particolare attenzione a ciò che scrivo, senno potrebbe non funzionarvi poi il programma..
Nel codice, notiamo diverse istruzioni, quello che interessa a noi E', CAPIRE, i codice che corrispondono ad ogni vostro pulsante del telecomando.
Mi spiego meglio, se notate, all'inizio c'e il seguente codice: 551485695" e anche "551518335" e via discorrendo tutti gli altri.. Vi state chiedendo che codici sono? Molto semplicemente sono i codici che vengono inviati dal telecomando ad Arduino quando su di esso schiaccio rispettivamente i tasti per Aumentare Canale e Diminuire Canale.. Gli altri riguardano il volume, il mute, la pausa e altre cose..
La cosa importante, come detto prima, è CAPIRE quali sono i codici del VOSTRO telecomando.. Come si fa?
Non toccate niente nel codice di sopra, aggiungete molto semplicemente la riga "Serial.println(results.value);" nella stessa riga che vi faccio vedere qua sotto, così:
> void loop() {
> if (irrecv.decode(&results)) {
> digitalWrite(12, HIGH);
> delay(500);
> Serial.println(results.value);
> digitalWrite(12, LOW);
> irrecv.resume();
CONTINUA CON LA PARTE 2[/color] (Avevo raggiunto massima lunghezza non faceva postare tutto in un'unico topic.)

Bene, fatto questo siamo già a metà dell'opera, cosa fare ora?
Adesso quindi alimentiamo arduino da cavetto USB e premiamo sul nostro telecomando i seguenti tasti (Non troppo velocemente senno non riuscirà a riceverli, non troppo lentamente senno rischiate di inviarne più di uno e poi non capite quale dei due corrisponde al tasto che avete premuto) quindi premete in ordine:
- Tasto per aumentare canale.
- Tasto per diminuire canale.
- Tasto per aumenta volume.
- Tasto per diminuire volume.
- Tasto per mettere in muto.
- Scegliete un tasto del telecomando che servirà a mettere in pausa la vostra canzone, e premetelo.
- Scegliete un tasto del telecomando che servirà per mandare avanti la vostra canzone, e premetelo.
- Scegliete un tasto del telecomando che servirà per mandare indietro la vostra canzone, e premetelo. (Aihme, questa funzione E' buggata.. La canzone non va indietro..)
- Infine scegliete un tasto del telecomando che servirà a spegnere il vostro lettore musicale, e premetelo.
Ok se avete fatto tutto bene, dovreste avere 9 valori stampati sullo schermo.. Segnateveli.
Ok, ora?
Ora dobbiamo SOSTITUIRE i vecchi valori (I miei, del mio telecomando) con quelli del VOSTRO telecomando..
Quindi procedete a sostituire i valori, partendo da quello "551485695" E lo sostituite con quello del vostro tasto per aumentare canale, e di seguito tutti gli altri.
Ok.. Adesso possiamo inviare lo sketch, Quindi premete sulla freccia e così facendo, inserite tutta questa pappardella dentro il vostro Arduino.
Bene, manca solo il programma che gestirà le canzoni, insomma, il MediaPlayer vero e proprio.
Dopo qualche ora ininterrotta, ho quindi finito di creare il programma (La prima versione come vi dicevo prima) che gestirà tutti questi comandi e appunto vi permetterà di sentire la musica cambiandola con il telecomando.
Quindi, vi metto qui sotto (O potete scaricarlo anche dalla lista sopra) il link del programma da scaricare:
MediaPlayer
Ok, il programma si presenta con questa grafica:

Come lo si usa?
Bhè, c'e da dire (Che non ho detto prima mi sono dimenticato) che essendo una prima versione, funziona solo con un massimo di 14 canzoni (Almeno che non hai VB6 allora basta dal source che mi chiederai, smanettare un po con il codice e aumentare questa capacità)
IMPOSTAZIONE DEL PROGRAMMA, DA FARE SOLO 1 VOLTA:
Allora, create un nuovo documento Blocco note, andate sulla canzone che avete scelto (Le canzoni devono stare tutte e 14 nella stessa cartella) Premete F2 così che potete rinominarla (Falso passaggio) Copiate tutto quello che è evidenziato, e incollatelo nella prima riga del Blocco note, dopo aver fatto questo, fate così anche per le altre 12 canzoni.. Per ogni riga del blocco note ci dovra essere il Nome della canzone che volete ripreodurre. Esempio del mio Blocco Note:
(AMV) Anime Power [Awake And Alive] (1)
[Bleach AMV] Shadows - Ichigo vs Ulquiorra (1)
Bullet For My Valentine- Waking The Demon (Lyrics) (1)
By Myself
Dope - Die Mother Fucker Die
From The Inside
Given Up
Hero
Hit The Floor
Lost In The Echo
Monster
The Offspring - The Kids Aren't Alright
This Is War
Mi raccomando, senza estensioni, ci pensa già il programma ad aggiungere l'estensione .mp3 alla fine di ogni canzone (Già, DEVONO essere canzoni formato mp3)
Bene, fatto ciò salviamo pure il Blocco note e torniamo sul programma:
In basso a sinistra sotto a 50, c'e un piccolo quadratino bianco, clicchiamoci dentro e scriviamo "000" questo aprirà un'ulteriore parte nel nostro programma, ovvero la parte che "Inserirà" Le canzoni dentro al programma presentandosi così:

Quindi premiamo sul bottone "INSERISCI CANZONI" ci chiederà il percorso di quel famoso Blocco note, lo andiamo a pescare, e lo apriamo, e poi da dentro al programma, accanto a "INSERISCI CANZONI" Clicchiamo su "CHIUDI".
Come vedete avrà inserito tutti i titoli delle canzoni precedentemente scelte da voi dentro al nostro MediaPlayer
AH! Non ci dimentichiamo di inserire anche il percorso della cartella in cui si trovano le canzoni nella parte sottostante del programma, quindi sostuiamo : "C:\Documents and Settings\Internet\Desktop\Canzoni" con il vostro precorso ed il gioco è fatto..
Ora non ci resta che accomodarci nel letto e usare il nostro telecomando per sentirci la musica^^
Grazie mille per la pazienza (Io ho la testa che mi scoppia vista l'ora xD) :slight_smile:
E ricorda, se hai idee o qualche commento da fare, o qualche problema, posta e ti aiuterò :wink:

Bel lavoretto :wink:

3 cose:

  • Scusami se diffido, ma scaricare un file EXE da un sito perché uno lo consiglia é piú che negligente quando tanti cercano di farti attivare un troiano o altri tipi di programmi maligni.
  • Informati prima. Collegare un LED senza resistenza rischi di rompere l' Arduino e/o il LED.

Avevo raggiunto massima lunghezza non faceva postare tutto in un'unico topic.

basta che facevi un reply che avevi spazio per continuare a scrivere.

Se usi al posto di un Arduino UNO un Arduino Leonardo o compatibile (Arduino Micro, Leostick, Arduino PRO micro) puoi emulare una tastiera e percui fare tutto quello che puoi fare da tastiera USB senza avere bisogno di un programma a lato PC. (Gli Arduini nominati possono fungere pure da mouse).
http://arduino.cc/en/Reference/MouseKeyboard

Ciao Uwe

per non dimenticare, o per qualcuno che ancora non lo conosce date anche un'occhiata al vecchio lirc, ci sono tante spiegazioni su come costruire le interfacce e sui sw di controllo :wink:

P.S.
dubito che funzioni con qualsiasi telecomando, visto che per la ricezione sembra che usi un ic della serie TSOPxxxx che hanno come discriminante la frequenza di demodulazione che varia a seconda dei vari telecomandi.

  1. Ho provveduto a riunire i 2 topic.
  2. concordo con Uwe: non so quanti utenti si potrebbero fidare a scaricare un eseguibile per Windows da un link di un sito messo così.. :sweat_smile:

Aggiungo che anche sul TSOP va messa una R di limitazione in serie (100ohm) al positivo ed un C da 4,7 a 47µF tra + e - di alimentazione; 100 ohm vanno bene anche per la limitazione del LED IR (consigliata da Uwe).
Sulla questione dell'exe da scaricare non mi pronuncio, ma se lo zippasse cambierebbe qualcosa? penso di no, a parte la reazione emotiva :wink:

:stuck_out_tongue_closed_eyes:

A parte le battute, con tutta la fiducia di questo mondo, "meglio aver paura che buscarne", si dice dalle mie parti.
Se lui è l'autore del programma, potrebbe distribuire il sorgente e poi suggerire il compilatore/interprete utilizzato. Alternativamente, potrebbe aprire uno spazio su un sito tipo Github o Sourceforge dove mettere sia i sorgenti che gli eseguibili già compilati.

Già che ci sei fallo con autoapprendimento dei codici IR, senza doverli scrivere nello sketch uno ad uno. Premi un pulsante del telecomando, arduino lo riceve con l'accensione di un led, premi pulsantino "salva" oppure fai il setup aiutandoti con un terminale seriale.

Ragazzi, per quanto riguarda la questione dell'EXE, in effetti si avete ragione, siccome era tardi non è che avessi voglia di capire come postare un programma su un sito hosting.. Comunque con questo post provvedo comunque a modificare il sito di scaricamento del programma.
Per quanto riguarda il fatto che ci sono già tipi di arduino che fanno questo genere di cose (Si.. il mio era un intento ricreativo, non avendo niente da fare mi son messo a creare questo programma da me, funzionante..)
Comunque zipperò il file (Credo vogliate così no?) e lo posterò su un sito di hosting..
File non zippato: MediaPlayer
File zippato: MediaPlayer
E' vero che ci sono diversi programmi, ma per una volta mi sarebbe piaciuto trovare soddisfazione in un lavoro che funzionasse fatto interamente da me :wink:
E per i tipi di telecomandi.. Non lo sapevo, comunque io ho provato con la maggior parte dei telecomandi in casa.. E vanno bene tutti :wink:
Ah un'ultima cosa.. Per quanto riguarda il Source del file, si lo ho potrei postarlo, ma prima di sbandierarlo ai 4 venti avevo intenzione di capire se piaceva come programma alla gente^^