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!

ความคิดเห็น • 50

  • @gholiamirza7673
    @gholiamirza7673 5 ปีที่แล้ว +2

    Bin super begeistert von klare und professionelle Erklärung. Vielen Dank . Grüß von Germany.

  • @Axelios
    @Axelios 6 ปีที่แล้ว +2

    Very nice tutorial, this was perfect for what I'm trying to do. Thank you, you have made my life easier.

  • @abhijithalder4567
    @abhijithalder4567 6 ปีที่แล้ว +10

    Link on the description is not valid any more....

  • @freedomcaller
    @freedomcaller 5 ปีที่แล้ว

    Great video, super helpful!

  • @mihaiemilian5330
    @mihaiemilian5330 4 ปีที่แล้ว

    @Kamran, thank you very much for this video. Awesome content, very well explained.

  • @015digambarsharma4
    @015digambarsharma4 2 ปีที่แล้ว

    Seriously a damn great tutorial.

  • @panduauliadyaksa2392
    @panduauliadyaksa2392 7 ปีที่แล้ว +1

    thank you so much.

  • @forteleaerieneromane
    @forteleaerieneromane 8 ปีที่แล้ว +3

    Hello! I have a question: how do yo connect the receiver to the Arduino? Thanks!

  • @profaneus
    @profaneus 4 ปีที่แล้ว +3

    Hi! please put the code up again, it is missing from googledrive

  • @srinivasasatya6797
    @srinivasasatya6797 4 ปีที่แล้ว

    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?

  • @extremgwackli3675
    @extremgwackli3675 5 ปีที่แล้ว +2

    The link for the code doesnt works
    could you please send a new one

  • @openchnl
    @openchnl 8 ปีที่แล้ว

    great tutorial, thanks. how would one go about using these outputs to drive servos or in my case a relay? thanks

    • @kamranahmad6808
      @kamranahmad6808  8 ปีที่แล้ว

      +Justin Guy Thanks, I'm working on such a video which should be done by Sunday.

  • @aidasgaska
    @aidasgaska 6 ปีที่แล้ว

    I can`t reach the code below in your description.. Could you refresh description or resend me the code?

  • @DynoRC
    @DynoRC 2 ปีที่แล้ว

    Can i still communicate with my sensors using I2C while reading ppm?

  • @onkelhotte1065
    @onkelhotte1065 4 ปีที่แล้ว

    Hello, the Link does not work. Can you upload the sketch again? Thanks

  • @conradsinsua7415
    @conradsinsua7415 6 ปีที่แล้ว

    any change of you doing a tutorial about port manipulation?

  • @KroceBow
    @KroceBow 7 ปีที่แล้ว

    Hi,
    I followed your instructions step by step to use the FD800 Tiny Frsky 8CH receiver, but it doesn't work at all.

    • @computerman4321
      @computerman4321 7 ปีที่แล้ว

      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.

  • @TriativeHD
    @TriativeHD 7 ปีที่แล้ว

    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

  • @VipinKumar-zd7tl
    @VipinKumar-zd7tl 5 ปีที่แล้ว

    can anyone please share the code because the above given link is not working

  • @aldskanser7880
    @aldskanser7880 7 ปีที่แล้ว

    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

  • @taqyon
    @taqyon 7 ปีที่แล้ว

    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?

    • @KroceBow
      @KroceBow 7 ปีที่แล้ว

      Would you mind sharing the code please? :)

    • @taqyon
      @taqyon 7 ปีที่แล้ว

      Sure, www.nipinfo.co.za/ycl.dll/PubShare?Pub=38365138. Let me know if you can't access it.

    • @nemobondt9117
      @nemobondt9117 7 ปีที่แล้ว

      hey, the link doesn't work can you please send another link? thanks!

    • @taqyon
      @taqyon 7 ปีที่แล้ว

      www.nipinfo.co.za/ycl.dll/PubShare?Pub=38365138 please try again

    • @nemobondt9117
      @nemobondt9117 7 ปีที่แล้ว

      Hein Du Plessis danke schön!

  • @kunnumunnu
    @kunnumunnu 3 ปีที่แล้ว

    Can you please share the code... I tried opening the link provided by you but its not opening..

  • @user-tb5ji6uu3y
    @user-tb5ji6uu3y ปีที่แล้ว

    how to do the same with pwm signal

  • @eletronicaparaohooby
    @eletronicaparaohooby 2 ปีที่แล้ว

    Hi Friend!
    Nice job!
    But the file does not available!
    Can you share again? Please?
    Congratulations!!

  • @ChristianGarcia-md1ws
    @ChristianGarcia-md1ws 6 ปีที่แล้ว

    alguien me puede esplicar este video en español

  • @yxhankun
    @yxhankun 5 ปีที่แล้ว

    Sorry, the file you have requested does not exist.

  • @GonzaloOviedoLambert
    @GonzaloOviedoLambert 4 ปีที่แล้ว +1

    MAN, the link please!

  • @rtdave6982
    @rtdave6982 7 ปีที่แล้ว

    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

    • @rtdave6982
      @rtdave6982 7 ปีที่แล้ว

      adding 4 more to the program fixed it...working great now

    • @ColinRichardson
      @ColinRichardson 7 ปีที่แล้ว +3

      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

  • @gholiamirza7673
    @gholiamirza7673 5 ปีที่แล้ว

    Warum hast du kein eigener Side. Mein Versuch dein Site zu besuchen scheitert.
    MfG.

  • @jjdavidian
    @jjdavidian ปีที่แล้ว

    No more code ..

  • @sbpcls
    @sbpcls 3 ปีที่แล้ว

    not a valid link!!!