Primi passi e un progetto in mente

Buonasera a tutti, come ho appena scritto nelle presentazioni sono letteralmente alle prime armi e conosco a malapena cosa sia Arduino. Sono approdato qui per un progetto che ho in mente e oltre a capire la fattibilità vorrei sapere da dove iniziare per arrivare a quello che, al momento, è il mio unico obiettivo (conoscendomi se inizio a capirci qualcosa non mi fermerò più). Vorrei creare una "bussola non bussola", in poche parole una sorta di bussola che punta una direzione che gli viene data, ovvero gli do le coordinate e lei in relazione alla sua posizione mi indica sempre la posizione data. La prima domanda è, questa idea è fattibile con Arduino? Arduino è il sistema adeguato per un progetto simile? Presupponendo che non ho nessuna basa a parte pochissima programmazione in phyton fatta all'università da dove posso partire per arrivare a tal progetto? Conviene comprare un kit per iniziare a capirci qualcosa? Grazie in anticipo per la pazienza.

Vedo tante letture ma nessuna risposta, ho sbagliato nel chiedere qualcosa?

hasjed:
Vedo tante letture ma nessuna risposta, ho sbagliato nel chiedere qualcosa?

No, forse, più semplicemente, non è passata gente ferrata nell'argomento ... ::slight_smile:

Comunque, sempre di una bussola standard si tratta, solo che poi tu fissi un punto (quindi un offset) e devi avere l'indicazione relativa a quel punto.

Intato ti consiglierei di trovare esempi di realizzazione di una normale bussola fatta con Arduino (... puoi provare su Google a cercare "arduino compass project"), poi, implementare una funzione di offset è piuttosto banale (... somma sottrazione di gradi).

Guglielmo

come dice Guglielmo cercando "arduino compass project" trovi diverse cose...
@Guglielmo: per come l'ho capita io a lui interesserebbe inserire coordinate precise di un punto e farsi indicare la via diretta dalla bussola...quindi, non so, forse dovrebbe implementare un GPS!?

ORSO2001:
... come l'ho capita io a lui interesserebbe inserire coordinate precise di un punto e farsi indicare la via diretta dalla bussola...quindi, non so, forse dovrebbe implementare un GPS!?

Io leggo ...

hasjed:
... Vorrei creare una "bussola non bussola", in poche parole una sorta di bussola che punta una direzione che gli viene data, ovvero gli do le coordinate e lei in relazione alla sua posizione mi indica sempre la posizione data. ...

... quindi, effettivamente, prima parla di "direzione" (bussola) poi di "coordinate" (GPS) ... credo che l'OP dovrebbe chiarire cosa vuole ;D

Guglielmo

Grazie delle risposte,

Credo che il modulo gps sia obbligato per indicare una direzione rispetto ad una posizione data.

Per evitare di fare un buco nell'acqua ho deciso di procedere un passo alla volta.

L'ho studiato così, il primo passo sarà quello di creare una semplice bussola come in questo video Let's build an Arduino electronic Compass using the HMC5883L and a Ring of LEDs - Tutorial - YouTube

Dopodiché immediatamente imparare a programmare la bussola su una direzione differente dal nord.

Successivamente implementare con un modulo gps che in relazione alle coordinate date e alla propria posizione fornisce le indicazioni per direzionare correttamente la "bussola".

Può andare?

Posso inviare su questo forum i link delle cose che vorrei acquistare per sapere da voi se vanno bene?

La cosa non è semplice per un utente alle prime armi

Serve
1 leggere le coordinate gps del dispositivo
2 conoscere le coordinate del punto di arrivo
3 calcolare la direzione, ovvero la differenza tra le due, in forma polare e non cartesiana, la cosa non è banale, dato che si deve lavorare in geometria sferica, comunque magari come prima approssimazione la geometria piana può andare bene
4 conoscere la direzione dove 'punta' il dispositivo
5 fare la differenza (angolare) tra il vettore distanza e la direzione di bussola
6 mostrare a display tale differenza

Credo che nulla di tutto questo sia banale

Io partirei da risolvere il punto 4, poi il 5 usando valori costanti per il vettore distanza, e quindi il 6
Che così muovendo arduino il display punta sempre in una direzione

Fatto questo rimane il resto, ma a questo punto è una passeggiata

.... mah, se cerca su Google "distanza ed angolo tra due coordinate" trova un'infinità di formule già pronte solo da ... studiare e "tradurre" in C/C++ :slight_smile:

Le usai a suo tempo (circa 6 anni fa) per un prodotto (all'epoca abbastanza innovativo, ma che oggi ti tirano dietro) per la geolocalizzazione (distanza e direzione oltre al punto sulla mappa) di persone/oggetti con app su telefonino :smiley:

Guglielmo

A che distanza sarebbe il punto da trovare?
Perchè se è qualche chilometro, l'approssimazione del ragionamento planare potrebbe essere adeguata, se si tratta di navigazione su distanze molto maggiori o con precisione molto elevata (sistema di guida missili :smiley: ), entrano in gioco geodetiche e ciapini vari e potrebbe essere un po' più complicato, ma con un po' di geometria se ne esce.
Se poi serve proprio il sistema di guida per missili da crociera, allora si deve anche considerare che la terra non è una sfera ma uno sferoide...
Comunque, divagazioni a parte, secondo me con un po' di trigonometria se ne esce.
Non lavori per la Raytheon Technologies vero? :smiley:

Bussole e GPS non mi sembrano schede da starter kit, quindi dovrai prendere i vari componenti a parte.
Poi dovrai studiarti il C++

Di che precisione stiamo parlando?

Maurizio

Vi ringrazio molto per le risposte, il progetto finale prevede anche la ricezione delle coordinate tramite bluetooth. In linea di massima si tratta di distanze piuttosto brevi, metri nella maggior parte dei casi. Su distanze molto elevate, ad esempio centinaia di chilometri, varierebbe di molto la direzione indicata dalla reale con un ragionamento planare?

Vorrei chiedervi se i prodotti che sto per indicarvi sono idonei al progetto che ho in mente.

  1. Un kit base di Arduino per prenderci mano e fare le prime esperienze, ho pensato a questo e vorrei sapere da voi più esperti se vale la pena spendere 20€ in più per questo

  2. Questa bussola che ho trovato nel progetto di questo video va bene con il modello di Arduino che vorrei acquistare?

  3. Questi Led?

  4. Questo modulo bluetooth?

Mi chiedo inoltre se il modello Arduino che ho scelto "regge" tutti questi moduli messi insieme e, ultima domanda, vale la pena acquistare un multimetro e un saldatore a stagno fin da adesso?

Vi ringrazio molto per le delucidazioni che mi state dando.

hasjed:
... in linea di massima si tratta di distanze piuttosto brevi, metri nella maggior parte dei casi ...

... sei conscio che il GPS ha comunque una precisione di alcuni metri ? ... e che quindi, su distanze piuttosto corte, di qualche metro, e estremamente poco affidabile ... ::slight_smile:

Guglielmo

gpb01:
... sei conscio che il GPS ha comunque una precisione di alcuni metri ? ... e che quindi, su distanze piuttosto corte, di qualche metro, e estremamente poco affidabile ... ::slight_smile:

Guglielmo

Assolutamente si, diciamo che fino ad un errore di +/- 10 metri non ci sono problemi, riguardo ai link ci siamo? Ancora grazie!

I tuoi link sono TUTTI corrotti per come li hai inseriti (... è purtroppo un problema del forum) ... leggi QUI come si deve fare e, possibilmente, corregili. Grazie :slight_smile:

Guglielmo

gpb01:
I tuoi link sono TUTTI corrotti per come li hai inseriti (... è purtroppo un problema del forum) ... leggi QUI come si deve fare e, possibilmente, corregili. Grazie :slight_smile:

Guglielmo

Fatto, ora dovrebbero essere tutti visibili :slight_smile:

Quello che vuoi fare ( ... gli do le coordinate e lei in relazione alla sua posizione mi indica sempre la posizione data ... ) c'e' gia e si chiama GPS (perche' alla fine, quello fa un GPS, tu gli dai le coordinate e lui punta sempre a quelle) ... se invece intendevi una bussola che punta sempre nella direzione che gli dai tu (quindi non le coordinate ma la direzione, indipendentemente da dove sia il nord), si chiama "bussola inerziale" ... dovrebbe essere possibile con una buona IMU, ma serve buona per minimizzare al massimo la deriva ... :wink:

Quindi non ho bisogno di un modulo bussola? Mi basterebbe il GPS?
Per caso qualcuno ha avuto modo di vedere i link che ho inviato nel messaggio precedente riguardo gli acquisti che vorrei fare?

Dipende da cosa ci devi realmente fare ... tenendo presente che siccome siamo su un pianeta piu o meno sferico, quello che noi di solito consideriamo "piano orizzontale" in realta' e' una superfice curva ...

Una "bussola magnetica" ti indica una precisa direzione, il nord magnetico, e puoi paragonarla ad un GPS a coordinata fissa (nel senso che indica sempre le coordinate del nord magnetico, ma alla nostra distanza dal nord magnetico, poco influisce ... tuttavia se ti sposti sulla superficie in una qualsiasi direzione che non sia da oppure verso il nord, hai pur sempre anche una "rotazione" della direzione sul piano orizzontale, proprio come per il GPS) ...

Un GPS ti indica la direzione di una specifica serie di coordinate che inserisci tu arbitrariamente (quindi possono essere lontane o vicine quanto vuoi, sempre quel punto indichera', un po come se su una bussola magnetica decidessi tu in che punto si trova il nord di volta in volta ) ... tuttavia sia bussola magnetica che GPS prendono come riferimento il piano orizzontale del punto in cui ti trovi di volta in volta ...

Una "bussola inerziale" invece e' una brutta bestiaccia (:D) che (in teoria, se costruita in modo perfetto) indica sempre la direzione (e quindi non le coordinate, ma la pura e semplice direzione) che tu gli imposti, indipendentemente da quanti giri o spostamenti tu faccia ... non importa in quale direzione tu ti muova o quanti giri o capriole tu faccia, dopo aver impostato la direzione di riferimento, sempre quella indichera', senza alcuna rotazione su nessuno dei tre assi (il che significa anche che se ti sposti sulla superfice del pianeta, puo anche iniziare ad indicare in alto o in basso in base a quanto ti sei spostato) ... ovviamente deve essere costruita in modo perfetto e senza derive di alcun tipo, per funzionare alla perfezione ...

hasjed:
Quindi non ho bisogno di un modulo bussola? Mi basterebbe il GPS?
Per caso qualcuno ha avuto modo di vedere i link che ho inviato nel messaggio precedente riguardo gli acquisti che vorrei fare?
mmm.... no è che ti serve solo l'app giusta :slightly_frowning_face:

hasjed:
...il progetto finale prevede anche la ricezione delle coordinate tramite bluetooth.

Di che tipo di coordinate parli? Intendi la distanza da una specifica sorgente in base alla forza del segnale?
Oppure hai un dispositivo che rileva le coordinate e le può inviare via bluetooth?

hasjed:
In linea di massima si tratta di distanze piuttosto brevi, metri nella maggior parte dei casi. Su distanze molto elevate, ad esempio centinaia di chilometri, varierebbe di molto la direzione indicata dalla reale con un ragionamento planare?

Mettiamola così: se devi usarlo per arrivare fino ad un punto a 100km di distanza, l'eventuale errore iniziale verrà via via ridotto con la riduzione della distanza.
Sui 100km, comunque, l'errore non credo sia significativo. Probabilmente sarà paragonabile all'errore dovuto alla precisione intrinseca dei vari componenti che userai.
Se poi stai veramente progettando un missile balistico, il CEP risultante mi metterebbe al sicuro da ritorsioni se le mie indicazioni dovessero essere state fuorvianti ;D

hasjed:
Vorrei chiedervi se i prodotti che sto per indicarvi sono idonei al progetto che ho in mente.

  1. Un kit base di Arduino per prenderci mano e fare le prime esperienze, ho pensato a questo e vorrei sapere da voi più esperti se vale la pena spendere 20€ in più per questo

Quello più costoso è quello che avevo preso io per iniziare (forse ne è un'evoluzione perchè le descrizioni cambiano un pelo).
Io l'ho usato per avere una rapida panoramica delle possibilità di questo mondo, per cui non mi sono pentito dell'acquisto. Poi sono passato a prendere i componenti in modo mirato in base a quello che volevo fare.
Comunque, hai una descrizione dettagliata di tutti i componenti che ogni kit contiene, valuta tu se c'è qualcosa che
ti può interessare oppure se è tutta roba che finirà fin da subito nel cassetto.
Nel link hai un'immagine di tutti i componenti che ogni kit aggiunge al precedente.

hasjed:
2) Questa bussola che ho trovato nel progetto di questo video va bene con il modello di Arduino che vorrei acquistare?

  1. Questi Led?

  2. Questo modulo bluetooth?

Per quanto riguarda queste 3 domande, io procederei così: cercherei se in giro ci sono tutorial che usano gli stessi componenti, valuterei se sono completi e ben spiegati e se prevalgono rispetto a tutorial riferiti a componenti alternativi.
In questo modo dovresti capire abbastanza da solo se quello che trovi ti potrà aiutare oppure ti serve qualcosa di più semplice e ben spiegato.
Perchè presumo che tutti siano utilizzabili con Arduino, ma il risultato del progetto dipenderà fortemente dalla tua capacità di mettere assieme i pezzi con le informazioni reperite.
Per un neofita, può capitare che un componente molto valido sia più ostico di uno meno valido ma più diffuso tra i neofiti e quindi più ricco di tutorial spiegati in modo più semplice.
Quello più adatto lo dovrai capire tu in base alle tue propensioni.

hasjed:
Mi chiedo inoltre se il modello Arduino che ho scelto "regge" tutti questi moduli messi insieme e, ultima domanda, vale la pena acquistare un multimetro e un saldatore a stagno fin da adesso?

Secondo me si, se si fanno le cose fatte bene, un Arduino UNO ne può fare di cose...
Se si fanno le cose male, nemmeno il Cray-1 della Nasa (ok, citazione storica risalente ai supercomputer degli anni '70 perchè non so cosa usino ad oggi) potrebbe essere sufficiente.
Quindi parti fin da subito con il piede giusto.
Temporizza con millis() e bandisci dai tuoi progetti delay() e classe String

Per multimetro, saldatore e stagno, dipende dalla tua propensione.
Questa per Arduino è probabile che sia un'infatuazione temporanea oppure l'inizio di un'avventura per la vita (anche cambiando MCU in futuro)?
Appena capisci che si tratta della seconda, parti e approvvigiona tutto quel che ti può servire.

Maurizio

maubarzi:
Secondo me si, se si fanno le cose fatte bene, un Arduino UNO ne può fare di cose...
Se si fanno le cose male, nemmeno il Cray-1 della Nasa

Maurizio

tieni però conto che un cray-one fuori servizio per età ha/avrebbe ancora degli usi utili/interessanti, un paio di mogli fa mi ricordo di averne visto uno usato a mo' di divanetto rotondo in un qualche museo, mi sembra fosse il "museo nazionale della scienza e della tecnologia - Leonardo da Vinci" a Milano, ma sono ricordi troppo confusi

un Arduino UNO, pur originale, quando ormai obsoleto può solo prendere le strada del rifiuto RAEE