Visualizza messaggio singolo
Vecchio 27 novembre 14, 20:18   #17 (permalink)  Top
CarloRoma63
User
 
L'avatar di CarloRoma63
 
Data registr.: 08-08-2011
Residenza: Roma
Messaggi: 5.806
Citazione:
Originalmente inviato da CarloRoma63 Visualizza messaggio
Dammi il link della tua discussione sul forum di Arduino.
nel frattempo, se ci riesco e se ho tempo, provo a fare io quello che ti occorre.

Carlo
Prova questo. Io non l'ho potuto collaudare perchè in questo momento non ho un servo da collegare. In questa versione commmuta solo il CH1 tra i pin 5 e 6. Il pin ove iniettare il PPM è il 2, se ti funziona basta duplicare la parte di output.

Carlo

Citazione:
#include <RCArduinoFastLib.h>

// MultiChannels
//
// rcarduino.blogspot.com
//
// A simple approach for reading three RC Channels using pin change interrupts
//
// See related posts -
// RCArduino: How To Read an RC Receiver With A Microcontroller - Part 1
// RCArduino: Need More Interrupts To Read More RC Channels ?
// RCArduino: Can I Control More Than X Servos With An Arduino ?
//
// rcarduino.blogspot.com
//


#define SERVO_FRAME_SPACE 5
#define CH_in 5 // questo è il canale che viene testato. La numerazione parte da 0
#define CH1 0 // questo è il canale che viene commmutato
#define CH_out1 5 // questo è il primo pin di uscita a cui inviare il CH1
#define CH_out2 6 // questo è il secondo pin di uscita a cui inviare il CH1

volatile uint32_t ulCounter = 0;

void setup()
{
Serial.begin(115200);


// lets set a standard rate of 50 Hz by setting a frame space of 10 * 2000 = 4 Servos + 6 times 2000
CRCArduinoFastServos::setFrameSpaceA(SERVO_FRAME_S PACE,8*2000);

CRCArduinoFastServos::begin();
CRCArduinoPPMChannels::begin();
}

void loop()
{
uint16_t unThrottleIn = CRCArduinoPPMChannels::getChannel(CH_in);
if(unThrottleIn) // Verifico se ho un segnale PPM valido per il canale 6
{
if(unThrottleIn<1500)
{
CRCArduinoFastServos::attach(CH1,CH_out1);
Serial.print ("1-unThrottleIn:");
Serial.println (unThrottleIn);
}
else
{
CRCArduinoFastServos::attach(CH1,CH_out2);
Serial.print ("2-unThrottleIn:");
Serial.println (unThrottleIn);
}
}

}
__________________
Dai un pesce ad un uomo e lo avrai sfamato per un giorno, insegnagli a pescare e lo avrai sfamato per sempre. (Confucio)
I miei modelli: http://www.youtube.com/results?search_query=carloroma63
CarloRoma63 non è collegato   Rispondi citando