Grazie mille per l'attenzione che mi state dando, e scusate per il ritardo (spero il sito vi mandi una notifica), come richiesto intendo fornire ulteriori informazioni.
COMUNICAZIONE:
Sto cercando di realizzare un prodotto modulare dove un modulo Arduino Mega comunica con il computer, e gli altri Arduino Nano comunicano con il Mega, sempre, per mandare informazioni al computer. Non sono coinvolti attuatori nel processo.
Il risultato che voglio ottenere non è dissimile nella logica di funzionamento dal prodotto chiamato Palette Gear.
immagine 1 (Edit: per qualche motivo questa immagine non ho potuto caricarla, in ogni caso vi chiederei di fare una breve ricerca su google, grazie!)
Dopo varie ricerche, diverso tempo fa ho deciso di utilizzare la comunicazione seriale, ma adesso che illustro nel dettaglio l'hardware che voglio ottenere mi potrete dire se sbaglio, o almeno se sia possibile portare a termine il mio proposito con la comunicazione seriale che attualmente utilizzo.
immagine 2
I moduli rossi rappresentano una futura implementazione quando mi sentirò a mio aggio con la prima configurazione a "croce greca", in ogni caso vorrei tenere la porta aperta verso future comunicazioni tra Arduino Mega e i moduli che vi sono connessi indirettamente (moduli in rosso appunto).
Il compito dei moduli è dunque far pervenire ad Arduino Mega le seguenti informazioni:
- Tipologia e posizione di ogni modulo rispetto agli altri (anche l'orientamento delle quattro facce del quadrato)
- Far pervenire assieme agli input dei moduli, la loro provenienza, tra gli 8 slots quadrati intorno ad Arduino Mega.
ALIMENTAZIONE:
I motivi per i quali preferisco utilizzare l'Arduino centrale per alimentare gli altri sono i seguenti:
- le batterie e la loro dimensione influenzerebbero il design del prodotto finale e ne aumenterebbero il prezzo
- Dovrei sostituire le batterie per ogni modulo
- Dovrei implementare uno scomodo sistema di accensione e spegnimento per ognuno dei moduli, mentre sarebbe più intuitivo connetterli e disconnetterli alla fonte di energia per attivarli e disattivarli.
HARDWARE:
Utilizzo dei pogo pin magnetici (come l'alimentatore del Mac Book Pro 2015 che sto utilizzando) così che i moduli si connettano facilmente tra di loro: al momento (per il sistema a croce greca) utilizzo 4 pin, 2 per GND e Vin e due per la comunicazione seriale, so che in futuro avrò bisogno di riprogettare l'hardware per far funzionare la comunicazione ma per adesso mi va bene così.
CODICE:
Per quanto riguarda il codice, sono riuscito ad ottenere di riconoscere una connessione hardware tra Arduino Mega e un Arduino Nano, e ottenere le informazioni descritte sopra (quale lato e che tipo di modulo è stato connesso).
Una parte del codice identifica quale dei 4 lati sta ricevendo informazioni tramite una connessione, per poi ricevere informazioni dal modulo connesso riguardo alla sua tipologia ed alla sua attivazione. Se manteniamo la connessione seriale non dovrei avere problemi su questo fronte.
Ecco queste sono le informazioni su quello che sto cercando di ottenere, ho diviso i vari problemi ed almeno che non sia intrinsecamente necessario, preferirei che ogni soluzione proposta non fosse troppo distruttiva del quadro mostrato, ma si limitasse, a darmi delle efficaci dritte.
Grazie a chi deciderà di spendere il suo tempo nel rispondere a questo post
Standardoil:
Ecco fatto spero ci sia tutto, tutto tranne il codice che non credo sia necessario, e c comunque potrebbe essere riscritto a seconda della configurazione hardware proposta.
Claudio:
Credo che in questo caso (considerando le informazioni necessarie al Mega) ci stiamo riferendo a comunicazioni indipendenti e quindi alla spaventosa "complessità massima" della comunicazione seriale, giusto?
Constestant:
Mi informerò su cosa sia l'interfaccia RS485, in caso leggessi questo update, fammi sapere se ritieni il metodo ancora valido!
ho provato ad usare la funzione quote al termine del post ma non ha funzionato... visto che non voglio incasinare la formattazione del mio post per questa volta lo tengo così, in futuro comincerò con il quotare.