Aiuto codice arduino

Buon giorno a tutti!!
Vorrei sapere se c'è un comando che faccia eseguire un'azione all'arduino finoa che untasto rimane premuto (accendere un motore dc fino a che un tasto precedentemente impostato rimane premuto)?? Se si esistono modi di collegare un controller tipo quello della 360 per gestire i motori??

Un ultima domanda.. È possibile far lavorare con l'arduino un raspberry collegato ad un web server?? Così si potrebbe controllare il futuro robot anche tramite un semplicissimo smartphone

Stiamo parlando di un Arduino Uno o di un PC? :astonished:
Arduino Uno/Mega/Due non hanno tastiera. Il PC collegato all'Arduino c'e' l'ha, ma di solito si collegano tra loro solo per programmare il micro,
poi puoi anche staccarli e usare il micro in stand-alone.
Arduino Explora può fare da emulazione di tastiera, ma non sò se si può collegare il controller 360.

Tra Raspberry e Arduino si può creare un semplice collegamento seriale e i due comunicano tranquillamente.

nid69ita:
Arduino ESplora

:wink:

Scusate mi sono spiegato male.. La mi idea è quella o di creare un web server col raspberry (collegabile a internet molto più facilmente) il quale ricevendo informazioni da unqualsiasi dispositivo collegato sulla stessa rete va a far eseguire all'arduino determinate azioni.. Si può fare??

nid69ita:
Tra Raspberry e Arduino si può creare un semplice collegamento seriale e i due comunicano tranquillamente.

Ti scriverai 2 programmi, uno per la Raspberry ed uno per l'Arduino: quando la Rasp riceve dei comandi, li elabora e poi spedisce i dati all'Arduino.

Però a questo punto non vedo il senso di usare l'Arduino: non puoi far eseguire questi compiti direttamente alla Rasp?

L'arduino è molto meglio per la gestione dei motori dc memtre il raspberry mi serve semplicemente per connettere l'arduino ad internet poiche le shield per internet costano un pò mentre il raspy l'ho già in casa!! :3
Mentre avreste un idea del programma per il raspy che gli permetta di interagire con l'arduino??

Li fai dialogare tramite seriale.

Ma quello che ti avevo risposto non ti confaceva?

Tra Raspberry e Arduino si può creare un semplice collegamento seriale e i due comunicano tranquillamente.

Sisi ma quello che volevo sapere è se avete qualche idea per la stesura del programma che permetta ricevuto un'informazione dal raspberry far eseguire un'azione all'arduino..

Boh, non sò cosa intendi.
Cerca un qualsiasi sketch (programma) per arduino che riceva dati da seriale e in base al comando che TU decidi Arduino fa quel che TU hai stabilito.

Invii da Raspberry che sò R123 che vuol dire accendi un led rosso con potenza 123 (tra 0-255). G255 accendi un led giallo al massimo.
Da Arduino userai Serial.available() per sapere se ci sono dati (arduino quindi stà in ascolto su seriale).
Se ci sono li leggi i dari e poi in base ai dati ricevuti, la discriminante è il primo carattere ricevuto, R G o B. Gli altri caratteri ricevuti sono la "potenza". Questo è UN esempio. Non esiste L'ESEMPIO.

Puoi anche mettere su Arduino lo sketch Firmata (firmware StandardFirmata) e poi da Raspberry usare quel protocollo.
Personalmente Firmata lo usato solo su Arduino per pilotarlo da PC con Processing.
Firmata alla fine è uno sketch che stà su Arduino e accetta comandi via Seriale. Ci sono dei comandi prestabiliti.

Ne parlano qui.

Grazie per le risposte!!
Un ultima domanda.. Collegando il controller al raspberry dovrei quindi riuscire a controllare i motori collegati all'arduino giusto? Se si come posso fare per far riconoscere al raspy il controller e associare ad un tasto un'azione dell'arduino?

Per sapere come far riconoscere un controller a Raspy, sarebbe meglio che tu chiedessi nel forum di Raspberry.
Magari qualcuno di questo forum ha sia Arduino che il Raspy, ma non sò quanti.

Come detto sopra in base al controller e ai suoi tasti, per ogni tasto del controller dovrai decidere un codice da mandare tramite seriale ad Arduino. (ma su raspy non sò come si faccia ad interfacciare il controller 360)
Esempio se nel controller premi X oppure A potresti spedire ad Arduino il carattere "X" oppure "A".
Quando Arduino riceve "X" sai che sul controller attraverso Raspy hai premuto il tasto X.

Per Arduino, direttamente, senza passare da Raspy ho visto ed ho provato a interfacciare il controller Wii NunChuck.

Come si fa a configurare il nunchuck??

Io ho seguito questo tutorial.

alla fine ho risolto più semplicemente collegandoli tramite gpio!!

oggi mi è anche arrivata la motor shield per controllare 4 motori dc.. solo che non riesco a capire quali pin attivare per controllare il motore 1 e quali per il motore 2?
e poi un'ultima cosa.. ma l'alimentazione esterna della shield non dovrebbe alimentare l'arduino giusto? allora perchè quando li assemblo mi si accende anche l'arduino?

Venator:
alla fine ho risolto più semplicemente collegandoli tramite gpio!!

ehmm.. la seriale del raspberry funziona tramite GPIO... OCCHIO! il rasp "pensa" a 3.3V, arduino a 5V, occhio a non bruciacchiare il raspberry (e no, se ha funzionato fin'ora non vuol dire che domani non si frigge, anzi)

Se si come posso fare per far riconoscere al raspy il controller e associare ad un tasto un'azione dell'arduino?

il rasp è quasi esattamente come il pc di casa linux, quindi attachi il rasp ed hai fatto. se vuoi puoi installare sul rasp anche l'ide arduino e programmare arduino direttamente dal raspberry, senza doverlo scollegare

il collegamento avviene solo in in senso.. raspberry ----> arduino
dici che è rischioso anche se non il raspy invia e basta senza che niente gli torni indietro?

se vuoi ti lascio una foto per farti capire meglio come vorrei usare i due..

se è la rasp che invia segnali HIGH, allora è tutto ok

sisi la raspy la uso esclusivamente per inviare impulsi.. proprio come se premessi un pulsante..
mentre sapresti dirmi qualcosa sul funzionamento della motor shield??

Quale motor shield? Sul mercato c'e' ne sono molte.