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


 
 
Strumenti discussione Visualizzazione
Prev Messaggio precedente   Prossimo messaggio Next
Vecchio 27 novembre 14, 20:18   #17 (permalink)  Top
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
 

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
Miscelare segnali PPM con arduino felis Circuiti Elettronici 16 12 aprile 16 19:03
Collegamento ppm da radio a ricevente diretto, possibile? EnriVincenzi Radiocomandi 25 16 settembre 14 10:22
Emulare con Arduino un segnale PPM baccothe Circuiti Elettronici 17 11 febbraio 14 20:10
aiuto con arduino e ppm alex-military Circuiti Elettronici 0 22 febbraio 13 14:52



Tutti gli orari sono GMT +2. Adesso sono le 23:00.


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