Radiocomando ed arduino

Salve a tutti ! Ho una trasmittente e ricevente da 27 Mhz e volevo usarla per pilotare un qualcosa.
Ho cercato in giro ma i tutorial non si focalizzavano molto sulla parte di acquisizione dati e quindi facevo molta confusione.
Ora, la ricevente(di un elicottero) ha 3 uscite e a me interesserebbe leggere perlomeno i valor di una di queste.
Le singole uscite sono solamente degli attacchi per i motori con uscita anodo e catodo. Ho provato a collegare l'anodo all'entrata dell'analog0 ma ricevo solo dei valori che calano fino a 200 e poi si stabilizzano..in poche parole come se non ci fosse niente attaccato.
Mi rendo conto che non sarà molto facile perchè ci vogliono degli interrupt se non sbaglio, ma potreste darmi una piccola mano?
Torno a sottolineare che perora voglio solo leggerli per distinguerli in qualche modo(es: accellerazione)

Guarda su Gioblu.. non ho sottomano il link ma cè un articolo che tratta l'argomento.....
comunque non è un segnale analogico che cambia di tensione è un onda quadra che cambia il suo duty cycle .... è leggermente simile al PWM... ma non uguale se vuoi cerca in giro impulsi PPM

Questo?:
http://www.gioblu.com/tutorials/comunicazione/71-da-ricevente-rc-ad-arduino
comunque il succo è che devi dare in pasto i canali dalla ricevente a pulsein e decodificare i valori con map.

BrainBooster:
Questo?:
HugeDomains.com
comunque il succo è che devi dare in pasto i canali dalla ricevente a pulsein e decodificare i valori con map.

Si quello :wink:
stavo uscendo di casa e non potevo mettermi a cercarlo ....
grazie brain :slight_smile:

ratto93:

BrainBooster:
Questo?:
HugeDomains.com
comunque il succo è che devi dare in pasto i canali dalla ricevente a pulsein e decodificare i valori con map.

Si quello :wink:
stavo uscendo di casa e non potevo mettermi a cercarlo ....
grazie brain :slight_smile:

Si, l'ho visto il tutorial ed ho provato usando questo codice:

int leftPin=7;
double leftVal = 0;

void setup(){
Serial.begin(9600);
pinMode(leftPin,INPUT);
}

void loop(){
  leftVal = leftVal + pulseIn(leftPin, HIGH);
  Serial.println(leftVal);
}

però ottengo sempre 0.00(fra l'altro mi incuriosisce perchè usi numeri decimali)
Se pensate possa essere un problema di collegamenti dulla ricevente posto una foto :smiley:

la pulsein funziona per le riceventi PPM, questa sembra essere più "grezza", se "parla" direttamente con i 3 motori allora potrebbe incorporare 3 ponti H(o 3 mezzi ponti H), e dato che la V sembra essere costante, allora quella che varia è la A...

mancano un pò di info, su che valori si stabilizza la V?

per conoscere la A che la ricevente ti sta dando, dovresti metere tra + e - della ricevente una GROSSA resistemza (1Mohm?), e leggere la V a monte e a valle della resistenza, poi usando lal legge di ohm ricavi l'amperaggio che passa dalla ricevente.
La V a monte dovrebbe sempre essere costante, e cambiare solo la V a valle, se anche la V in entrata varia, allora potrebbe essere un controllo sulla V o sia sulla V che sulla A.

potrebbe essere che il "colpo" di V all'accensione sia voluto per vincere più velocemente l'attrito statico delle pale (in pratica all'accensione le pale iniziano a girare piano senza mai fermarsi?)

lesto:
potrebbe essere che il "colpo" di V all'accensione sia voluto per vincere più velocemente l'attrito statico delle pale (in pratica all'accensione le pale iniziano a girare piano senza mai fermarsi?)

No, era un giocattolino da 30 euro.
Comunque qui c'è una foto
Quindi in poche parole dovrei fare una lettura mettendo una resistenza dell'ordine dei Mohm al gnd e con un nodo dopo la resistenza attaccarlo al pin ?

He he ma allora cambia tutto era di un elicotterino magari ???
il segnale che esce di li andava dritto ai motori ???

indendo una cosa del genere: la resistenza non so di che valore usarla, sicuramente una molto grossa non crea problemi :smiley:

ratto93:
He he ma allora cambia tutto era di un elicotterino magari ???
il segnale che esce di li andava dritto ai motori ???

Esattamente. I motori hanno un piccolo circuito montato sopra che ho tolto tempo fa, ma credo che fossero solo condensatori e resistenze smd

allora da li non esce un segnale PPM ma semplicemente l'alimentazione dei motori he può essere in PWM oppure a livello analogico ma dubito sia la seconda.....

lesto:
indendo una cosa del genere: la resistenza non so di che valore usarla, sicuramente una molto grossa non crea problemi :smiley:

Ummh, ma perchè due entrate ? :roll_eyes:

ratto93:
allora da li non esce un segnale PPM ma semplicemente l'alimentazione dei motori he può essere in PWM oppure a livello analogico ma dubito sia la seconda.....

quindi come devo muovermi ? :sweat_smile:

sciorty:

lesto:
indendo una cosa del genere: la resistenza non so di che valore usarla, sicuramente una molto grossa non crea problemi :smiley:

Ummh, ma perchè due entrate ? :roll_eyes:

per vedere il voltaggio in ingresso, vedere se è stabile, non è necessario se si stabilisce CON SICUREZZA che l'ingresso non varia mai

ratto93:
allora da li non esce un segnale PPM ma semplicemente l'alimentazione dei motori he può essere in PWM oppure a livello analogico ma dubito sia la seconda.....

non è PWM perchè avrebbe visto la variazione nell'analogRead oppure avrebbe "triggerato" la pulseIn

Dipende :slight_smile:
se la massa era a massa e il rosso all'ingresso di arduino :slight_smile: :stuck_out_tongue:

vero, non ci avevo pensato :slight_smile: però attenzione: resistenza in ingresso per essere certi che AL MASSIMO arrivino 5V all'arduino... quindi le prime misurazioni vanno fatte con il tester

Ragazzi ho provato con un'altra ricevente a due canali. Siccome non ho tester non so quanto sia la tensione in uscita e quindi perora al posto che con 7.2 volt la alimento con 5v. Diciamo che funziona ma nell' "accelerata" noto cose strane: facendo la pulse in del pin ricevo dei valori che sono più o meno crescenti (160-200) ma se ad esempio mi fermo durante l'accelerata e poi riparto i valori colano a 0

senza sapre com'è fatto il circuito dubito che qualcuno possa darti una mano, salvo che esista qualhe "standard di fabbrica"

lesto:
vero, non ci avevo pensato :slight_smile: però attenzione: resistenza in ingresso per essere certi che AL MASSIMO arrivino 5V all'arduino... quindi le prime misurazioni vanno fatte con il tester

Una resistenza limita la corrente ma non la tensione. Per limitare la tensione devi mettere un diodo zener da 4,7V tra entrata e massa e una resistenza da qualche decina di k Ohm tra entrata e uscita segnale del altro circuito.
Ciao Uwe

hai ragione, meglio però un partitore di tensione che da una lettura lineare anche se la tensione supera i 5V, però bisogna conoscere in anticipo la tensione massima