RC helicóptero cuadrotor (17 / 37 paso)

Paso 12: Arduino Demo: entrada PWM

Aquí es un sketch de Arduino que muestra exactamente cómo pin cambio de interrupciones y un temporizador se utiliza para leer en anchuras de pulso de varios cables de señal. Cuando se detecta un cambio en el estado del pin, el vector de interrupción registra un timestamp con el temporizador, y la diferencia entre marcas es el ancho de pulso.

También he adjuntado una captura de pantalla de analizador de lógica para mostrar como ven las señales de mis receptores de radio RC. Cada uno de esos pulsos tienen un ancho de pulso entre 1000 y 2000 microsegundos, el período es cerca de 20 milisegundos.

Para obtener más información, de investigación:

  • PWM
  • Señales de servo
  • ISRs en AVR (rutina de servicio de interrupción)
  • Interrumpir el PCINT, cambio de Pin
  • temporizadores de 16 bits en AVR

Aquí está el código:

void setup()
{
DDR = 0; pines como entrada

permiten PCINT 18 a 23
PCICR | = (1 << PCIE2);
PCMSK2 = 0XFC;

Serial.Begin(115200);
}

typedef struct {}
borde de bytes;
Tiempo largo sin firmar;
fallTime largo sin firmar;
unsigned int lastGoodWidth;
} tPinTimingData;
tPinTimingData estático volátil pinData [6 + 1];
estática volátil uint8_t PCintLast;

ISR(PCINT2_vect)
{
uint8_t poco;
curr uint8_t;
máscara de uint8_t;
currentTime uint32_t;
tiempo de uint32_t;

obtener los Estados de pin en el puerto indicado.
curr = PINC & 0xFC;
máscara = curr ^ PCintLast;
PCintLast = curr;

currentTime = micros();

la máscara es pcint pins que han cambiado.
para (uint8_t i = 0; i < 6; i ++) {}
bit = 0 x 04 <<.
Si {} (bit & máscara)
para cada pin cambiado, tiempo de cambio de registro
Si (bit & PCintLast) {}
tiempo = currentTime - pinData [i] .fallTime;
pinData [i] .riseTime = currentTime;
Si ((tiempo > = 10000) & & (tiempo < = 26000))
.edge pinData [i] = 1;
otra cosa
.edge pinData [i] = 0; flanco ascendente no válido detectado
}
Else {}
tiempo = currentTime - pinData [i] .riseTime;
pinData [i] .fallTime = currentTime;
Si ((tiempo > = 800) & & (tiempo < = 2200) & & (.edge pinData [i] == 1)) {}
pinData [i] .lastGoodWidth = tiempo;
.edge pinData [i] = 0;
}
}
}
}
}

void loop()
{
Serial.println();
para (byte i = 0; i < 6; i ++) {}
Serial.Print("C");
Serial.Print ((int) i + 1);
Serial.Print(":");
Serial.Print(pinData[i].lastGoodWidth);
Serial.Print (",");
}

Delay(500);
}

Artículos Relacionados

Fairycopter – helicópteros de banda de goma

Fairycopter – helicópteros de banda de goma

yo estaba buscando un divertido proyecto de arte para ayudar a los niños a aprender sobre aeronáutica.  Me encontré en goma helicópteros Instructable de WYE_Lance y surgió el siguiente derivado basado en su diseño que utiliza tarjetas Disney hadas ju
Cómo volar un helicóptero de cuatro

Cómo volar un helicóptero de cuatro

¿necesita un nuevo pasatiempo?  ¿Quieres volar?  Hay múltiples instrucciones sobre cómo hacer un quad copter, pero ¿qué si usted quiere volar así?  Voy a mostrarles todo lo necesario para poder volar un helicóptero de quad.  La mejor parte es que, mi
Montaje de cámara en helicóptero

Montaje de cámara en helicóptero

En este instructable les mostraré cómo hacer una cámara de montaje de una cámara o video shot. Esto está diseñado para el punto y disparar las cámaras para que usted tenga que modificar para GoProPaso 1: Paso 1: reunir usted suplies Se necesita:gomas
Deporte de aluminio X helicóptero marco de diseño para resistencia, lightwieght y fácil.

Deporte de aluminio X helicóptero marco de diseño para resistencia, lightwieght y fácil.

Este helicóptero de aluminio X es fuerte, ligero y más fácil para la reparación de todos los marcos. Ya las piezas están fabricadas de aluminio plano, incluso si usted crash realmente duro, sólo consigue doblar, usted puede aplanar retroceda con un m
Ataque a helicóptero cometa - Rooivalk

Ataque a helicóptero cometa - Rooivalk

decidí hacer otro autogiro/kite instructable pero mejor que mi anterior. Ésta tarda más en hacer que mis otros gyros pero merece la pena el tiempo extra y se ve mucho mejor también.Así que decidí utilizar el helicóptero de apoyo táctico de Denel AH-2
Control remoto de 2 canales sin IC [bueno para helicópteros!]

Control remoto de 2 canales sin IC [bueno para helicópteros!]

Este Instructable le mostrará cómo hacer un control remoto de 2 canales que puede utilizar para sus helicópteros de control remoto!Para control remoto multi canal, puede utilizar un CD4017 tanto en el transmisor y los circuitos del receptor.Se necesi
Un helicóptero barato

Un helicóptero barato

vuelo RC helicóptero es realmente muy emocionante. Su versatilidad da un piloto un acceso completo al espacio tridimensional de tal modo que otras máquinas no pueden! Han jugado RC helicóptero por más de un año, pero todavía hay que acabo de enterarm
Mejorar drásticamente la velocidad, la vida y el rendimiento de su helicóptero de R/C

Mejorar drásticamente la velocidad, la vida y el rendimiento de su helicóptero de R/C

* voto por favor! Con un clic de un botón usted me podria ayudar ganar! Su fácil! *Cuando usted primero por un R/C helicóptero, es divertido, pero aviso que sería lento, duración de la batería puede durar unos minutos y habría que molesto resorte que
Tri-helicóptero barato de madera!

Tri-helicóptero barato de madera!

Construir un barato Tri-helicóptero de multi-rotor uso madera, abrazaderas de plástico y 8 tornillos!Estoy usando este tri-helicóptero para probar controladores de servo. Allí fueron unos desafíos para salir de esta tierra y esperemos que esto ayuda
Un RC de 3 canales (giro) helicóptero del vuelo.

Un RC de 3 canales (giro) helicóptero del vuelo.

Volar un helicóptero RC es fácil, pero uno con un giróscopo vuelo es mucho más fácil. Si no sabes es que un giróscopo. Te voy a contar en el primer paso. Se está presentando lo siguiente, carga muelle del acelerador, dirección, aterrizaje, lift off,
Cómo volar un helicóptero de juguete

Cómo volar un helicóptero de juguete

En este Instructable le mostrará cómo volar un helicóptero de R/C del juguete. Este tipo de helicóptero es un juguete con controles bastante simples. Puede tomar un tiempo para bajarse realmente buena, pero, como con un montón de cosas, la práctica h
Barato, accidente helicóptero de T portátil resistente (de aprox 200 USD)

Barato, accidente helicóptero de T portátil resistente (de aprox 200 USD)

Hola gente del mundo.Una mañana, desperté y decidió averiguar lo que está sucediendo en el mundo del aeromodelismo. Estaba sorprendido de ver que el mundo había sido superado por drones. Había multirotors por todas partes y todo el mundo estaba hacie
El LeapCopter! (Salto de movimiento para controlar el helicóptero de Quad)

El LeapCopter! (Salto de movimiento para controlar el helicóptero de Quad)

Hola a todos! Esta es mi primera esperanza instructable que usted disfrutará.   Lo que hice en este proyecto fue tomando la plataforma del movimiento de salto y había usado para controlar un quad copter con nada más que de gestos con las manos!   Uti
Agregar Radio a un helicóptero Syma S107 IR (o cualquier otro dispositivo de IR)

Agregar Radio a un helicóptero Syma S107 IR (o cualquier otro dispositivo de IR)

control remoto helicópteros y otros juguetes han convertido en increíblemente avanzados por un precio muy bajo, esto es parcialmente debido al mercado de dispositivos móviles enormes, que ha empujado a tecnología en baterías de alta energía pequeña a