Go Down

Topic: Dare un comando al pc da arduino (Read 3681 times) previous topic - next topic

00cicciuzzo00

Ciao a tutti vi sto scrivendo perchè mi serve aiuto per quanto riguarda dare un comando al pc da arduino.
Quello che voglio fare è che quando premo un pulsante arduino fa riprodurre un suono al pc,questo metodo dovrà funzionare con diversi pulsanti e quindi il pc dovrà riprodurre anche più suoni allo stesso tempo,inoltre non parlo di semplici frequenze ma di veri e propri suoni come quelli di un piano.
Vi prego aiutatemiii.

cyberhs

Se devi usare per forza il PC, Arduino può diventare un controller MIDI.

Con un opportuno programma per PC, puoi generare tutte le note che vuoi.

http://www.robotstore.it/product/370/Shield-MIDI-(Arduino-compatibile).html

RobertoBochet

Beh, dalla parte Arduino è molto facile, apri una comunicazione seriale verso il pc e invii dei dati al momento della pressione di un tasto.
Sul PC dovrà essere in ascolto sulla stessa seriale un programma che al ricevimento del dato eseguirà il suono corrispondente.
Ora, hai qualche esperienza di programmazione per PC?

nid69ita

Ciao a tutti 
Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento se non lo hai già fatto: Regolamento
Qui una serie di link utili, non inerenti al tuo problema:
- qui una serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections
- qui le pinout delle varie schede by xxxPighi: Pinout
- qui una serie di link generali utili: Link Utili
my name is IGOR, not AIGOR

00cicciuzzo00

Ringrazio tutti per la risposta,come livello di programmazione è da poco piu di un anno che programmo con arduino ma non sono un esperto.Mi avete parlato di un programma per pc che deve essere in ascolto della seriale di arduino e che riproduce le note alla pressione del tasto.Mi potete spiegare meglio?GRAZIE.

RobertoBochet

Non saprei come essere più chiaro. Dovresti almeno avere un po' di esperienza in sviluppo per... windows? (immagino). Dalla mia esperienza posso dirti che un linguaggio adatto per lo sviluppo del programma lato PC potrebbe essere Java (un linguaggio estremamente semplice, che garantisce per di piu il cross-platform).
Processing sarebbe la scelta piu semplice, ma non conosco le sue potenzialità a pieno, ma credo che la gestione della riproduzione di suoni sia possibile senza troppi sforzi.
Con C/C++ la storia si complica un po', in quanto non vi sono framework potenti alle spalle di default, va tutto creato da 0, ma sicuramente si troveranno delle librerie sia per la seriale che per la riproduzione dei suoni.
Scegli la tua strada e sperimenta.

00cicciuzzo00

Grazie per la risposta.Comunque credo che per me sia un po troppo difficile programmare windows per fare il mio progetto credo che per me l'unica soluzione sarebbe quella di prendere uno shield aggiuntivo per arduino come LPM11162.

Volevo chiedervi anche una curiosità.Girando su internet ho visto gente che riuscivano a fare questo https://www.youtube.com/watch?v=LTew_CokmWs
Ora io so come fare un capacitive sensor e come far suonare il buzzer al tocco ma non capisco come faccia a funzionare con carta e matita dato che non sono materiali conduttivi come alluminio o altro.
Come fanno?

RobertoBochet

non capisco come faccia a funzionare con carta e matita dato che non sono materiali conduttivi come alluminio o altro.
Ah no?!
Grafite

00cicciuzzo00

#8
Sep 01, 2015, 02:48 pm Last Edit: Sep 01, 2015, 03:36 pm by 00cicciuzzo00
io ci ho provato ma non funziona.Uso una resistenza da 10 kohm

napalm_it

Cicciuzzo in pratica vuoi che schiacciato un bottone, oppure letto un valore X o altro, l'arduino mando in comando a windows e windows esegua un suono?

00cicciuzzo00

#10
Sep 01, 2015, 05:20 pm Last Edit: Sep 01, 2015, 05:36 pm by 00cicciuzzo00
Si è proprio quello che voglio fare.Mi puoi spiegare come posso fare?


nid69ita

#11
Sep 02, 2015, 11:18 am Last Edit: Sep 02, 2015, 11:23 am by nid69ita
Normalmente lo si fa con la comunicazione su seriale. Arduino Uno lo colleghi tramite USB quindi anche la comunicazione seriale è già fatta.
Lato PC devi sviluppare un programma che legga da seriale comandi inviati da Arduino.
Alcuni usano Processing, un IDE/linguaggio per PC da cui è in parte derivato l'IDE di Arduino.
Devi installare Processing su PC e poi cercare esempi per Processing che comunica con Arduino. Dovrai stabilire dei "comandi" ovvero delle frasi da spedire da Arduino a PC/Processing in ascolto sulla seriale. Esempi da Arduino Serial.println("PLAY01");     oppure  Serial.println("STOP");
http://forum.processing.org/one/topic/sending-data-from-arduino-to-processing-serially.html
https://learn.sparkfun.com/tutorials/connecting-arduino-to-processing

Poi come suonare da Processing non sò, ma non penso sia difficile.
P.S. occhio alle versioni di Processing. Di solito si usa la 2.x  perchè la 3.x è in beta.
my name is IGOR, not AIGOR

simonenascivera

comunque basta un qualsiasi programma scritto con qualsiasi linguaggio (C, c++, java) includendo la libreria pr la gestione della seriale e fatto girare in background

00cicciuzzo00

Finalmente capisco qualcosa di più. Allora poveró a fare un programma per far suonare note quando viene mandata sul seriale una parola.Grazie milleee

simonenascivera

come già detto, puoi farlo con processing con un c-like e poi lo compili come .exe

Go Up