Torna indietro   BaroneRosso.it - Forum Modellismo > Elettronica > Circuiti Elettronici


Rispondi
 
Strumenti discussione Visualizzazione
Vecchio 05 gennaio 17, 19:44   #1 (permalink)  Top
User
 
Data registr.: 22-07-2014
Residenza: Pordenone
Messaggi: 59
Micro failsafe per Naza-m con turnigy 9x e Arduino

Salve a tutti vorrei condividere con tutti voi un progetto trovato su djiguys.com che potrebbe fare comodo a tutti quelli che usano la ricevente originale della Turnigy 9x e che quindi non ha la funzione del failsafe.
Ho provveduto a migliorare leggermente il codice per renderlo più rapido nei cambi di modalità e ho modificato la tempistica della lettura ppm perchè nel progetto originale non funzionava.
So che si potrebbe semplicemente acquistare il modulo FrSky per avere una funzione di failsafe, ma io al momento non ho i fondi per poter fare questo cambio e penso che altri siano nella mia stessa situazione.
In pratica questo piccolo circuitino va collegato in serie tra rx e canale U della naza come nell'immagine allegata.
Il codice da caricare nel Arduino è il seguente:
Citazione:
int ch1; // variabile con il valore del canale monitorato
int led = 13; // pin dove è connesso il led di stato
#include <Servo.h> // carico libreria servo

Servo myservo; // crea l’oggetto di tipo Servo

void setup() {
pinMode(12, INPUT); // Setto il pin 12 come input
pinMode(led, OUTPUT); // Setto il pin del led come oputput
myservo.attach(11); // Dichiaro il pin dove collegare il canale U della naza


}

void loop() {


ch1 = pulseIn(12, HIGH, 30000); // Leggo il segnale ppm dalla rx


if(ch1<1600 && ch1>1500){ // se il valore letto è compreso tra 1600 e 1500
myservo.write(95); // setto in uscita il valore servo 95, che la naza interpreta come ATTI mode
digitalWrite(led, LOW); // led spento
}

if(ch1<1200 && ch1>1100){ // se il valore letto è compreso tra 1200 e 1100
myservo.write(63); // setto in uscita il valore servo 63, che la naza interpreta come MANUAL mode
digitalWrite(led, LOW); // led spento
}

if(ch1<1900 && ch1>1800){ // se il valore letto è compreso tra 1900 e 1800
myservo.write(127); // setto in uscita il valore servo 127, che la naza interpreta come GPS mode
digitalWrite(led, LOW); // led spento
}

if(ch1<1700 && ch1>1600 || ch1<100){ // se il valore letto è compreso tra 1700 e 1600 o minore di 100
myservo.write(110); // output the a servo signal of 110, wich the naza interprets as FAILSAFE mode
digitalWrite(led, HIGH); // accende il led sul pin 13 di arduino per comunicare il failsafe
}


}
Spero di esservi stato d'aiuto.
Ciao.
Icone allegate
Micro failsafe per Naza-m con turnigy 9x e Arduino-schermafbeelding2014-04-20om132708_zps4daf9bba.jpg  
100000watt non è collegato   Rispondi citando
Rispondi

Bookmarks




Regole di scrittura
Non puoi creare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks è Disattivato
Pingbacks è Disattivato
Refbacks è Disattivato


Discussioni simili
Discussione Autore discussione Forum Commenti Ultimo Commento
Failsafe con Turnigy-I6 Lemming Radiocomandi 7 20 luglio 15 12:03
Flashare la Turnigy 9X con Arduino FriKo74 Radiocomandi 12 10 febbraio 14 20:44



Tutti gli orari sono GMT +2. Adesso sono le 04:47.


Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002