controllo a distanza motore

:slight_smile: buonasera ragazzi,allora io avrei un progetto in mente ma mi servirebbe il vostro aiuto:
dovrei,tramite arduino,controllare un motore a distanza ovvero controllarne lo spegnimento e l'accenzione.Poi tramite applicazione android poter vedere dove quella macchina(su cui verrà montato il motore da controllare) si trova,quanti chilometri ha persorso e da quanto tempo è attiva,ecc...
La mia domanda è,quali sarebbero i giusti collegamenti da fare?
Mi spiego meglio,ho gia realizzato la parte elettronica del motore,mi resta da collegarlo ad arduino...come posso fare questo ultimo aggancio?secondo voi,servirebbe un shield wifi per controllare la posizione tramite applicazione android?Come dovrei strutturare questa applicazione?
Vi ringrazio anticipatamente ragazzi! :slight_smile:

Spostato qui dall'area Megatopic. In quella sezione ci vanno progetti finiti che vengono presentati alla comunità con tanto di codice e schemi. Nel tuo caso, invece, sei ancora in fase realizzativa.

grazie mille e mi scuso per lo sbaglio!

Di che motore parliamo e come lo piloti? Come sono i segnali che Arduino deve dare al pilotaggio. Di che distanze tra dispositivo android e Arduino parliamo? Cosa intendi se dici dove si trova la macchina?
Ciao Uwe

salve,prima di tutto grazie mille per la risposta;
tento di spiegarmi meglio: dovrei,tramite arduino,tenere conto per quanto tempo un motore rimanga acceso. Tutto questo devo fare in modo che mi compaia su un display.
Il tempo massimo di utilizzo di questo motore deve essere di 6 ore dopodiché quest'ultimo dovrebbe spegnersi. Il tempo di utilizzo deve essere effettivo,cioè se durante l'utilizzo questo motore viene spento il timer delle 6 ore deve fermarsi per poi riprendere appena il motore torna in funzione.
Il motore di cui sto parlando è un generico motore,l'importante è monitorare il suo tempo di utilizzo.
Poi avrei in mente anche di realizzare un applicazione android tramite la quale,attraverso apposito shield wifi, io riesca a sapere in tempo reale dove il motore si trova e per quanto tempo è stato utilizzato.
Può essere una cosa fattibile?Potete darmi una mano?
Ringrazio chiunque risponda in anticipo!

E' però importante sapere che distanze la tua comunicazione deve coprire, per scegliere i giusti protocolli di trasmissione.

Se puoi stare all'interno del raggio d'azione di un access point allora si, ti serve una wifi shield. Per sapere la posizione del dispositivo direi un gps ma all'interno di un locale(dove si suppone tu abbia il access point) non credo ci si riesca ad agganciare al satellite..

distanza di chilometri...direi da una regione all'altra...sto dicendo corvellerie?? :cold_sweat:

E allora mi sa che ti dovrai servire delle antenne di radio maria..
Ahah no scherzi a parte, che ne dici di un modulo GSM? Alcuni hanno anche il GPS integrato. Ovviamente parliamo di messaggi, roba che ha un costo e che non ti garantisce la tempestività dei dati..

Non è per fare l'antipatico ma sarebbe meglio spiegare quale sia lo scopo del tuo progetto, in maniera da chiarire meglio alcuni punti ed aiutarti di conseguenza :slight_smile:

sciorty:
E allora mi sa che ti dovrai servire delle antenne di radio maria..
Ahah no scherzi a parte, che ne dici di un modulo GSM? Alcuni hanno anche il GPS integrato. Ovviamente parliamo di messaggi, roba che ha un costo e che non ti garantisce la tempestività dei dati..

Non è per fare l'antipatico ma sarebbe meglio spiegare quale sia lo scopo del tuo progetto, in maniera da chiarire meglio alcuni punti ed aiutarti di conseguenza :slight_smile:

Ci ho provato tante volte anche io, ma non ci sono riuscito e la tendenza è:
siiiii, ci ho in mente una cosa figa tanto figa che non sono capace di fare, allora chiedo aiuto, ma per carità tengo tutto in segreto, sai la cia, fbi ecc e i muri hanno orecchi. :grin:

Ma coinvolgere gli altri utenti in un progetto molto complesso non interessa a nessuno? no a nessuno.

Ciao.

Metti un relé in paralello al motore e un contatto su Arduino.
Poi con una shield GSM o ethernet se una adsl presente, mandi i tempi di accensione /spegnimento a un applicazione
Ciao Uwe

ringrazio tutti per le risposte e mi scuso se non ho potuto rispondere prima ma non mi era possibile.
Comunque sto avendo difficoltà su una cosa: quando vado a scrivere il codice dovrei fare in modo che il timer programmato si spenga quando arduino non è più alimentato per poi riprendere dal punto dove è stato fermato e continuare da li...
mi spiego meglio...l'utilizzo di questo motore può essere massimo di 6 ore però giustamente se si spegne questo motore il timer deve arrestarsi per poi riprendere il funzionamento dal punto di arresto in poi fino alla fine di queste 6 ore...
come posso scrivere il codice in modo tale che avvenga questa situazione?

per memorizzare i dati quando arduino si spegne si usa la eeprom... però ha un numero di scritture limitato, e così la sforzi molto. O crei un pulsante per spegnere l'arduino che salva il dato solo in quel momento...

una FeRAM sarebbel'ideale :slight_smile: ma una SD più comoda.. certo la memoria SD è sprecata, però è facile da sostituire, ha tanti cicli e costa quasi niente

lesto:
per memorizzare i dati quando arduino si spegne si usa la eeprom... però ha un numero di scritture limitato,

La EEPROM interna è data per 100.000 scritture ma non è detto che devi scriverci sopra ogni 10 secondi. Scrivendoci 1 volta al giorno, al termine delle 6 ore di operatività, sono 100.000 giorni :wink:

Altrimenti può usare una EEPROM esterna, chip che normalmente sono dati per 1.000.000 di scritture. O la FRAM, però di queste memorie non è facile trovare chip in versione DIP.

se lui vuole salvare a quanto è arrivato il timer, vuol dire che magari pensava di salvare il tempo mancante ad ogni loop()... e così 100.000 cicli di scrittura li fai fuori in meno di 24H

Il mio intervento era più una provocazione per far ragionare su cosa vuole fare in funzione delle risorse che possiede/esitono

No no... io mi riallacciavo al tuo consiglio, e cioè quello di salvare il timer a fine lavoro.
Sicuramente se salva ogni secondi, 100.000 scritture le fa fuori subito.

ringrazio entrambi per i consigli ricevuti...il fatto è che devo far in modo che una macchina sia usata per massimo 6 ore...trascorse queste 6 ore tale macchina dovrebbe spegnersi...poi se chi usa la macchina la accende e spegne ogni minuto questo non posso immaginarmelo...quindi per cosa dovrei optare a questo punto?non ho proprio idea a questo punto...

Hai 2 opzioni:

  1. alimenti a batteria un Atmega standalone così che in caso di alimentazione staccata, il dato del tempo di lavoro del motore non venga perso. Questo presuppone però anche una parte di circuito che ricarichi le batterie quando viene resa l'alimentazione.

  2. usi le FRAM.
    Le FRAM farebbero al caso tuo. Hanno un numero di scritture virtualmente illimitato (come le SRAM) con in più la capacità di mantenere il dato anche in caso di distacco dell'alimentazione (come la FLASH o la EEPROM). Così ci puoi scrivere in continuazione il valore del timer senza preoccuparti.
    Sono in vendita in formato SOIC (le ho viste da RS), non è il DIP ma non è neanche impossibile saldarlo. Costano qualche euro a chip.

salve a tutti,vorrei chieder un consiglio,
cosa ne pensate di questa schield?.............. Adafruit Data logging shield for Arduino [v1.0] : ID 243 : $24.80 : Adafruit Industries, Unique & fun DIY electronics and kits
riuscirei a programmarla per far si che io possa usarla per controllare un timer che praticamente mi segni l'effettivo utilizzo di un dato motore?

grazie mille per questo consiglio...posso farti altre 2 domande?
1)potresti linkarmi un sito dove potrei comprarle?perchè non sono riuscito a trovare granchè...
2)in caso optassi per questa soluzione,le librerie per programmarlo?a quali mi appoggio?

dikkemberg:
grazie mille per questo consiglio...posso farti altre 2 domande?
1)potresti linkarmi un sito dove potrei comprarle?perchè non sono riuscito a trovare granchè...
2)in caso optassi per questa soluzione,le librerie per programmarlo?a quali mi appoggio?

Come ti ho detto, sono disponibili da RS:

Per usarle non so se c'è già una lib pronta. Ci sono quelle che funzionano via I2C, non dovrebbero essere difficili da gestire.