Mi sono avvicinato da poco al mondo arduino ma ora come ora me ne sto innamorando, sto cercando di automatizzare alcune operazioni con arduino e un telecomando ir, la arduino muove dei servi comandata da un telecomando ir, ma vorrei che al contempo mi potesse svolgere delle funzioni su un computer che si possono fare da tastiera, come: passare a un brano successivo su itunes o WM o fare da tastierino numerico o da tasti direzionali e enter, inoltre vorrei che mi mostrasse su un display 16x2 tempo di esecuzione e nome del brano corrente.
Sto cercando uno sketch per poter fare una cosa simile con un computer windows e/o mac qualcuno sa aiutarmi?
p.s. sempre con il telecomando vorrei poter accendere il computer, mi spiego meglio vorrei che arduino si comportasse come il tasto accensione, banalmente sulla scheda madre ci sono due pin per collegare il tasto e vorrei capire come far comportare con un piccolo sketch arduino come il tasto.
Ciao, per ineragire con il computer la via più rapida (se arduino è collegato via usb) è quella di sfruttare il collegamento seriale e inviare/ricevere messaggi da/verso il pc. Comunque qualsiasi sia il sistema scelto per collegarsi con il pc (seriale, ethernet, ecc.) dovrai obbligatoriamente scrivere un programma che stia in ascolto sul pc e permetta di eseguire i comandi che invii da arduino e nel contempo possa accedere alle informazioni che ti interessano dei file (nome e durata brano, ecc) e li invii sempre attraverso il sistema di comunicazione scelto ad arduino. Non sapendo se sei piò o meno esperto di programmazione su pc questo potrebbe essere la parte più difficile.
per l'accensione il sistema che ti consiglio è quello di mettere in parallelo al tasto un relay comandato da un pin di output di arduino.
Ciao
Anche se non è un metodo pulito potresti provare uno script fatto in AutoIt. Fatto così al volo giusto per farti capire:
#include 'CommMG.au3'
_CommSetPort(5, '', 9600, 8, "none", 1, 2)
While 1
$val=_CommReadChar()
if($val=='h') Then
Send("{h}");
elseif ($val=='l') Then
Send("{l}");
EndIf
WEnd
Il programma sta sempre in ascolto e se riceve il carattere 'h' simula la pressione del tasto 'h' e così via..
Però ripeto che non è pulita come cosa, in questo modo puoi sfruttare solo i tasti di scelta rapita del lettore multimediale e la finestra deve essere pure in focus..
Per altri metodi aspetta qualcuno
Oppure se ti interessa puoi anche far muovere il mouse in determinati punti, ma ripeto, sarebbero soluzioni ad-hoc
Anzi no, scusami ahah guardando qui ho visto che ci sono delle funzioni send apposite per media player..
Ho provato un semplice Send("{MEDIA_STOP}") e funziona anche se il riproduttore non ha il focus!
Come puoi vedere ci sono anche quelle già pronte per aumentare il volume delle casse (solo xp/2000)
Hai fatto venire qualche idea anche a me
Con il sistema suggerito non credo si possa ottenere un valore di ritorno con nome del brano durata ecc.
Beh gia' riuscire a cambiare brano non sarebbe male, il titolo sto cercando di capire.
Resto in attesa di consigli....
Chiedo ancora un piccolo aiuto, compilando il codice che ho scritto mi sono reso conto che supera i 40k e mi sa tanto che mi servirebbe della memoria in piu' .... come posso fare per continuare il mio progetto?
La scheda mega forse ha un po di memoria in piu' ma comunque per cio' che vorrei fare forse non basterebbe nemmeno quella come si fa in questi casi?
cod3c:
Chiedo ancora un piccolo aiuto, compilando il codice che ho scritto mi sono reso conto che supera i 40k e mi sa tanto che mi servirebbe della memoria in piu' .... come posso fare per continuare il mio progetto?
La scheda mega forse ha un po di memoria in piu' ma comunque per cio' che vorrei fare forse non basterebbe nemmeno quella come si fa in questi casi?
Non sono espertissimo ma sicuramente ti posso dire che se non lo posti difficilmente qui qualcuno potrà aiutarti a migliorarlo/rimpicciolirlo affinché stia sul micro!
Ciao