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


Rispondi
 
Strumenti discussione Visualizzazione
Vecchio 27 maggio 14, 22:50   #1 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
Arduino Micro e Presa allievo maestro

gentilissimi lettori di Barone Rosso..
volevo condividere queste poche righe di software: dopo aver seguito lo schema elettrico consigliato da Flight Mode Simulator attraverso una resistenza da 680 ohm e un diodo zenner da 4,7 V possiamo portare FUORI i segnali digitali della nostra radio HITEC in formato TTL, buoni da mangiare per arduino o per qualunque micro controllore!
Di seguito la forma del segnale della presa allievo maestro della radio. Da notare che tra un treno di segnali e il successivo abbiamo una tensione di circa 10v.

____ __ ___ _ ___ _ __ __ ______________________
|____| |____| |_| |__| |__||__| |__| |____|


/*
Software by Fausto Giudice for arduino Leonardo & Arduino Micro

This software put into array_pulse the 7 digital signals from Master Slave cable of HITEC Eclipse7 . If the time of sigle pulse to be longer that 2500 uS, then start the pulse index from Zero:
array_pulse[0] -> ch-1 ; array_pulse[1] -> ch-2 ; array_pulse[2] -> ch-3 ; array_pulse[3] -> ch-4
array_pulse[4] -> ch-5 ; array_pulse[5] -> ch-6 ; array_pulse[6] -> ch-7
____________________________________...dice@gmail.com
*/
const int ch1 = 7; // interrupt 4
volatile unsigned long ch1_val;
volatile unsigned long microseconds_1;
volatile unsigned long array_pulse[7];
volatile int pulse;
//__________________________________________________ ______________
void setup()
{
pinMode(ch1, INPUT);
Serial.begin(9600);
pulse = 0;
attachInterrupt(4, CH1_val, CHANGE); // questo sul pin 7
}
//__________________________________________________ ______________
void loop()
{
// show the value of ch-7
Serial.println(array_pulse[6]);
delay(100);
}
//__________________________________________________ ______________
void CH1_val()
{
if(digitalRead(ch1) == HIGH)
{
microseconds_1 = micros();
}
else
{
ch1_val = micros() - microseconds_1;
if(ch1_val < 2500)
{
array_pulse[pulse] = ch1_val;
pulse++;
}
else
pulse = 0;
}
}
faustog_2 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
Ricambio presa allievo-maestro Futaba... Creative Radiocomandi 3 14 settembre 12 13:05
mpx evo9 nuovo firmware e uscita ppm presa allievo/maestro. il_Zott Radiocomandi 25 28 aprile 10 17:29
FUTABA presa allievo maestro KYOSHO PERFEX milleniumtech Radiocomandi 5 28 marzo 08 15:10



Tutti gli orari sono GMT +2. Adesso sono le 12:37.


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