Reading PPM Receiver Signal with Arduino using Interrupts
ฝัง
- เผยแพร่เมื่อ 6 ต.ค. 2015
- Here I show you how to read a PPM data stream using Arduino, you can use the same idea to extend the code for any number of channels. The code attached below works with upto 6 PPM channels.
drive.google.com/file/d/0B_QE...
Any questions, leave a comment!
Bin super begeistert von klare und professionelle Erklärung. Vielen Dank . Grüß von Germany.
Very nice tutorial, this was perfect for what I'm trying to do. Thank you, you have made my life easier.
Link on the description is not valid any more....
Great video, super helpful!
@Kamran, thank you very much for this video. Awesome content, very well explained.
Seriously a damn great tutorial.
thank you so much.
Hello! I have a question: how do yo connect the receiver to the Arduino? Thanks!
Hi! please put the code up again, it is missing from googledrive
hello sir I have a doubt
the values are getting back to 1500 even after keeping the joystick at a constant position for every 1.5 ms .why is it happening?
The link for the code doesnt works
could you please send a new one
great tutorial, thanks. how would one go about using these outputs to drive servos or in my case a relay? thanks
+Justin Guy Thanks, I'm working on such a video which should be done by Sunday.
I can`t reach the code below in your description.. Could you refresh description or resend me the code?
Can i still communicate with my sensors using I2C while reading ppm?
Hello, the Link does not work. Can you upload the sketch again? Thanks
any change of you doing a tutorial about port manipulation?
Hi,
I followed your instructions step by step to use the FD800 Tiny Frsky 8CH receiver, but it doesn't work at all.
If you still need help, you can try putting sei(); in the setup routine, this will enable global interrupts by setting a bit in the SREG register.
Hi, nice tutorial. am trying to use the code to read 10 channels from a FlySky FS-i6X transmitter and FlySky FS-iA10B receiver. after modifying the code I was able to get valid values for only 8 channels, channels 9 and 10 was reporting a constant value.
Have you tested it with more than 8 channel or is there any limitations as to the number of channels it can handle
FYI: when I used PWM I was able to read all the 10 channels
any help is welcome, below is the Serial Print Output:
1504 - 1504 - 1144 - 1560 - 1000 - 1008 - 1000 - 1008 - 10376 - 0
1512 - 1504 - 1144 - 1552 - 1008 - 1008 - 1000 - 1008 - 10376 - 0
1512 - 1504 - 1144 - 1552 - 1008 - 1008 - 1008 - 1008 - 10368 - 0
1512 - 1504 - 1144 - 1552 - 1008 - 1000 - 1008 - 1008 - 10368 - 0
1504 - 1504 - 1144 - 1560 - 1000 - 1008 - 1008 - 1000 - 10376 - 0
1512 - 1504 - 1144 - 1552 - 1008 - 1000 - 1008 - 1008 - 10368 - 0
1512 - 1504 - 1144 - 1560 - 1000 - 1008 - 1000 - 1008 - 10376 - 0
1512 - 1512 - 1144 - 1560 - 1000 - 1008 - 1008 - 1000 - 10376 - 0
1512 - 1504 - 1144 - 1552 - 1008 - 1008 - 1000 - 1008 - 10368 - 0
1504 - 1512 - 1144 - 1552 - 1008 - 1000 - 1008 - 1008 - 10376 - 0
1512 - 1504 - 1144 - 1552 - 1008 - 1008 - 1000 - 1008 - 10376 - 0
1512 - 1504 - 1144 - 1552 - 1008 - 1008 - 1000 - 1008 - 10368 - 0
1504 - 1504 - 1144 - 1560 - 1008 - 1000 - 1008 - 1008 - 10376 - 0
1504 - 1512 - 1144 - 1552 - 1008 - 1008 - 1008 - 1000 - 10384 - 0
can anyone please share the code because the above given link is not working
Hi Kamran,
Thanks for these great video's. I will experiment with this.
I do not understand the "channel 0" on the RC transmitter signal. Do you have a link to some explanation?
Second question, suppose I will put three servo's directly on channels 1, 2 and 3 of my receiver and connect channels 4 to 8 to my arduino. What changes would I have to make to your code?
(I have a Futaba F14 Navy).
Thanks very much,
Henk
Thank you so much. I've started with my own code, but didn't do the interrupt initialisation like you did, however I just used " attachInterrupt(digitalPinToInterrupt(inPin), iPPMPulse, RISING ); " and wrote my code there - is that a problem?
Would you mind sharing the code please? :)
Sure, www.nipinfo.co.za/ycl.dll/PubShare?Pub=38365138. Let me know if you can't access it.
hey, the link doesn't work can you please send another link? thanks!
www.nipinfo.co.za/ycl.dll/PubShare?Pub=38365138 please try again
Hein Du Plessis danke schön!
Can you please share the code... I tried opening the link provided by you but its not opening..
how to do the same with pwm signal
Hi Friend!
Nice job!
But the file does not available!
Can you share again? Please?
Congratulations!!
alguien me puede esplicar este video en español
Sorry, the file you have requested does not exist.
DAMN, this guy erase the link!
MAN, the link please!
Great video but it's not working right. I have a 10 channel receiver but set my transmitter to 6. It displays a few numbers mixed with garbage. I tried changing the 3000 to other numbers with no success. Should I add 3 extra channels to the code?
Thank you,
Dave
adding 4 more to the program fixed it...working great now
Wondered if this would be easier? Just change the number at the top.
const int CHANNELS = 7;
unsigned long ch[CHANNELS], t[CHANNELS + 1];
int pulse = 0;
void setup() {
PCICR |= (1 0 || pulse
Warum hast du kein eigener Side. Mein Versuch dein Site zu besuchen scheitert.
MfG.
No more code ..
not a valid link!!!