Visualizza messaggio singolo
Vecchio 03 dicembre 13, 19:56   #8 (permalink)  Top
faustog_2
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
???

sarà l'età.. o forse mi sono un pò arruginito ! o force troppi Acronimi FC, RX, AUX1 ecc vorrei capire meglio..

..dunque la scheda MultiWii dotata d acellerometri e giroscopi.. dunque è in grado di rilevare ogni movimento possibile.. con una sensibilità dignitosa.. per quello che ho capito ..tu vorresti in un canale della tua ricevente.. attivare o meno il controllo della MultiWii.. ..dunque essa provvederà a stabilizzare il modello attraverso arduino, che leggendo i valori digitali dell'orizzonte e delle sbandate... riesce a correggere attraverso un opportuno movimento dei servi...

ovviamente i servo si muoveranno sempre attraverso i tuoi comandi.. ma nel caso non muovessi gli stick.. , quindi se non rileva variazioni dalla RX montata sul velivolo e inoltre il ch 6 è in modalità fail save... allora solo in questo caso intraprende le azioni che impartisce arduino..

..dimmi se ho capito bene intanto oppure non ho capito una mazza!


Citazione:
Originalmente inviato da baccothe Visualizza messaggio
Dunque, ho un arduino nano e stavo pensando di utilizzarlo per implementare una procedura di failsafe.

L'idea è questa:

1)collego un canale aux della rx(Turnigy 8ch) ad un pin di arduino, supponiamo il pin 6.

2)collego un pin di arduino,supponiamo il pin 7 al canale (per esempio)AUX1 della FC, in questo caso una MultiWii.

3)Sulla MultiWii abbino l' RTH al canale AUX1, supponiamo RTH ON su un valore ALTO, RTH OFF su un valore BASSO.

4)vado a leggere tramite la funzione pulseIn() il valore della rx sul pin 6, ed eseguo un controllo:

4.1)se il valore è > 0, invio sul pin 7 un valore BASSO

4.2)altrimenti attivo il FailSafe, e invio un valore ALTO sul pin 7, attivando l' RTH.

Il problema è che non riesco ad inviare i valori ALTO/BASSO sul pin 7, ho provato importando la libreria servo.h e utilizzare la funzione servo.write(val) ma nisba...

Un piccolo pezzo del codice che ho utilizzato e che non funziona, ovvero quello per inviare un segnale da arduino alla MultiWii:

Codice:
#include <Servo.h> 

Servo myservo;

int auxPinOut = 7;

void setup() 
{ 
 
    myservo.attach(auxPinOut);
  
} 

void loop() {

    myservo.write(1900);

}
Qualche idea? Che ne dite? è un'idea folle? stupida? impraticabile?
faustog_2 non è collegato   Rispondi citando