scambiare dati senza alimentazione

Salve a tutti, volevo mostrarmi il mio problema :confused: . Sto lavorando ad un progetto che consiste come primo step nel monitoraggio di una distanza che cambia continuamente mediante un sensore ad ultrasuoni della serie HC-SR04.
Ho montato su Arduino UNO il sensore e mi servirebbe ricavare un segnale utile da qualche misura (quanto meno riuscire a ricavare una raccolta di dati da trasferire poi in matlab per elaborarli).
Avevo istallato l’applicazione coolTerm che mi permetteva di farlo tuttavia quest’ultima lavora solo se il dispositivo è collegato tramite USB al pc. Io devo rendere invece il mio sensore portatile. Come posso riportarmi questi dati sul pc (mentre Arduino lavora collegato magari ad un batteria) senza utilizzo di cavo USB?
Avevo trovato il sensore bluetooth HC-05 e mi chiedevo se questo mi permettesse di mandare i dati da arduino al pc senza l’utilizzo di USB.
Grazie a tutti in anticipo per la risposta :drooling_face:

Buonasera, prima di tutto ti segnalo che, [u]nella sezione in lingua Inglese[/u], si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione in quale sezione metti i tuoi post ...

... poi, essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD ([u]spiegando bene quali conoscenze hai di elettronica e di programmazione[/u] ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione il su citato REGOLAMENTO ... Grazie.

Guglielmo

P.S.: Il tuo post è già stato spostato nell'opportuna sezione del forum "Italiano”dove [u]puoi proseguire[/u] la discussione. P.P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione [u]nell’apposito thread[/u], nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. ;)

Mi scuso fortemente per l'inconveniente ma non ne avevo prestata molta attenzione. Ho fatto il post di benvenuto nell'area segnatomi, posso quindi continuare la discussione qui ?

Ti serve ricevere i dati sul pc in "real time" o ti basta raccoglierli ed elaborarli successivamente?

Real time sarebbe l'ideale, la necessità sarebbe quella di raccogliere questi dati in un intervallo di tempo (per esempio 1 minuto) per poi con altri programmi passarne all'elaborazione.

Ok.
Vedevo più semplice salvare i dati su una SD e poi elaborarli in un secondo momento…
Per fare tutto in “tempo reale” puoi usare sia il bluetooth che il wifi, dipende da come preferisci gestire la ricezione su pc… in ogni caso sul pc ti serve qualcosa che riesca a dialogare con arduino per ricevere i dati.
Non sono pratico nè di bluetooth ne di wifi… per questo meglio che aspetti qualcuno che ci ha già messo le mani.

rosanna97: Avevo trovato il sensore bluetooth HC-05 e mi chiedevo se questo mi permettesse di mandare i dati da arduino al pc senza l'utilizzo di USB.

Si, certo, con quello crei semplicemente un canale seriale via radio ... da un lato trasmetti da Arduino sulla seriale del HC-05, dall'altro ricevi via BT sul PC (... e anche viceversa).

CoolTerm è in grado di aprire la seriale virtuale che viene creata sul PC e puoi continuare ad usarlo come stai facendo adesso via cavo.

Guglielmo

Molto dipende dalla distanza da coprire, dalle esigenze di alimentazione ma soprattutto dall’ambiente

Nel senso che in ospedale, in aeroporto e altri ambienti simili non puoi metterti a trasmettere come e quando vuoi con apparecchietti di provenienza dubbia

Tutto chiaro, siete stati gentilissimi. Grazie :)

Real time sarebbe l'ideale, la necessità sarebbe quella di raccogliere questi dati in un intervallo di tempo (per esempio 1 minuto) per poi con altri programmi passarne all'elaborazione.

Ma vista questa tua descrizione, mi chiedo se tu abbia correttamente interpretato il concetto di "real-time" per come lo intendevamo noi. Se tu devi raccogliere dati per 1 minuto, e poi elaborarli con altri programmi, non vedo perché un accumulo dei dati in un file presente su una schedina SD non sia sufficiente, visto che dopo questo minuto (o quanto vuoi) ti basta estrarre la SD e metterla su PC per farci tutto quello che ti pare.

Magari mi sfugge qualcosa, ma insomma, passare ad altre soluzioni con radio o Bluetooth potrebbe essere una inutile complicazione ;)

docdoc: ... passare ad altre soluzioni con radio o Bluetooth potrebbe essere una inutile complicazione ;)

Oddio, invece a me sembra un'inutile complicazione usare una SD ... con un HC05 hai un collegamento seriale (come quello che già usa) ed il gioco è fatto.

Diverso se dovesse usare il WiFi ... allora, effettivamente, sarebbe più complicato ;)

Guglielmo

gpb01: Oddio, invece a me sembra un'inutile complicazione usare una SD ... con un HC05 hai un collegamento seriale (come quello che già usa) ed il gioco è fatto

Vero, ma non parlo solo dell'aspetto programmazione, io intendo anche problemi di livello di segnale, distanza dell'apparato che deve registrare i dati, eventuali errori, e così via.

docdoc: ... problemi di livello di segnale, distanza dell'apparato che deve registrare i dati, eventuali errori, e così via.

... mah, guarda, per esperienza (e ne uso parecchi), SE rimani nei limiti di distanza che ti consente il HC-05 (... e dipende da dove ti trovi, se in uno stabile o all'aperto), di problemi proprio non ce ne sono e l'affidabilità è praticamente quella del cavo.

Ovvio che se invece devi andare a distanze maggiori, o in ambienti con forti disturbi o, peggio ancora, negli ambienti di cui parlava Standardoil in cui NON puoi proprio usarli ... allora il discorso cambia.

Guglielmo

Io sto utilizzando Arduino in combinazione con RaspPi per l'acquisizione dei dati in tempo reale e lo storage online.

L'Arduino è collegato tramite la seriale al RaspPi e gestito da Node-Red (installato sul RaspPi) Ad intervalli regolari il RaspPi invia una richiesta ad Arduino, che risponde tramite seriale inviando l'array dei dati. Ovviamente il RaspPi è collegato ad una wifi con la quale posso comunicare.

Il tutto è gestibile e monitorabile in tempo reale tramite la dashboard di Node-Red. I dati sono accessibili sia come CSV che come JSON.

Se servono indicazioni su come fare, posso entrare maggiormente nel dettaglio e dare consigli.

P.S. se solo riuscissi a collegare il mio arduino ad uno slave tramite Modbus, il mio progetto sarebbe quasi finito :D

Salve a tutti, avrei un problema con il mio progetto di tesi. In sostanza devo fare delle elaborazioni con matlab di un grafico real-time ottenuto dalle misure di un sensore SR04. Sono riuscita a fare ciò andando a programmare l'arduino in modo che ogni 50ms mi restituisse la distanza misurata con serial.write(distanza). Sono poi andata in matlab e con s=serial('COM3','baudrate',9600);fopen(s); e fread(s,1)... (e altri comandi) sono riuscita a ricavare il grafico desiderato. Tuttavia il problema nasce nel momento in cui devo fare ciò ma non usando più il cavo usb per arduino, bensì il sensore HC-05.Qualcuno ha idea di come possa fare ? Ho già montato il modulo sulla breadboard, impostato i vari pin TX e RX e associato il pc al modulo. Vi ringrazio anticipatamente per la disponibilità.

>rosanna97: ... ho riunito io il tuo nuovo thread con il vecchio.

Dato che si tratta dello stesso argomento NON è necessario (... e non si deve) aprire un nuovo thread, ma puoi proseguire su questo dove ti sono già state date le varie indicazioni. Grazie.

Guglielmo

Detto questo ... che problema hai?

Come prima facevi delle Serial.print() sulla seriale ora le fai su quella virtuale che avrai creato (immagino usando la SoftwareSerial) per connettere il HC-05 ... ::)

Guglielmo

#include <SoftwareSerial.h>
SoftwareSerial bluetooth(10,11);

void setup() {
Serial.begin(9600);
bluetooth.begin(9600);

void loop() {

bluetooth.write(distanza);

}
ho evitato di riportare la parte relativa al cuore del programma per sintesi e ho riportato solo le righe riguardanti la comunicazione seriale. Con “virtual serial port driver” ho creato una coppia di porte seriali COM1-COM2 tuttavia ora non capisco come proseguire per leggere i dati relativi alla distanza da matlab.
Devo impostare arduino sulla porta virtuale e utilizzare comunque il codice riportato prima per matlab?

>rosanna97: ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More → Modify che si trova in basso a destra del tuo post) e racchiudere il codice (… anche nel caso di una sola riga) all’interno dei tag CODE (… sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).

In pratica, tutto il tuo codice dovrà trovarsi racchiuso tra due tag: [code] _il _tuo_ codice_ [/code] così da non venire interpretato e non dare adito alla formazione di caratteri indesiderati o cattiva formattazione del testo. Grazie.

Guglielmo

Dopo avrai fatto come richiesto ... ... relativamete al codice, semplicemente fai le stesse cose che prima facevi con la seriale, con il bluetooth ... che, per il tuo programma è esattamete la stessa cosa che avevi prima, solo che li c'era un filo, ora c'è una trasmissione via radio ... ma a te cosa cambia? Sempre le stesse cose devi fare ...

Guglielmo