How to connect Arduino Nano with SBUS Receiver? How to make an inverter SBUS? Watch this video for your answer. Materials: + TX RX with SBUB + Arduino Nano + Servo for testing + NOT logic gates - 74LS04 Thank for watching, The H Lab.
yes. It can. But I don't think you need this for a basic airplane. This will be useful for doing some extra work such as "automatic balancing" before sending your control signal from Rx to Motor/servo.
Hello , I am using rxsr receiver and need to convert the sbus output to PWM for arduino input. Is it possible to access all the channel data by following this step?
Hi, can you please explain why the NOT logic gates (74LS04) circuit is necessary? Will the SBUS output not be useable with the Arduino without it? Thanks :)
@@TheHLab Hi, thanks for your reply. Am interested to understand more about this. Do you mean that the pwm signal is opposite ie a low pulse instead of a high pulse? Could the library code be modified to account for the inversion so that an extra circuit is not required? Thanks :)
@@cliveminni Thank you, i'm also curious about this. If you can invert the signal in code and eliminate the circuit please let us know, it would be nice optimization!
I don't know much about rm+ but if it support SBUS i think it can be use with my circuit (some RX have default revert so we don't them in this case). Read all 16chs: actually my demo code read all 16channel but my Tx-Rx only have 6chs. Arduino Uno: yes, Of course.
Correctly, this Arduino circuit decode SBUS signal from MC7RB Receiver to PWM. And I used one servo to demonstrate that signal was decoded correctly. Thank for watching :)
@@TheHLab Could I adapt this code to control two 9v dc motors? Also, what code would I want to enter into the loop if I wanted to see the sbus data through the serial monitor for each channel?
Could I adapt this code to control two 9v dc motors?: Yes. Just connect your Motor driver (could be L298N) to PWM pins, for example pin 11 & 12 and use my code to control via channel 1 and 2. To print sbus data to serial monitor: Serial.println(*(channels+0)); // 0 channel 1, 1 channel 2...
@@TheHLab hi, thanks for your fast reply! I just tried your suggested code on my setup but I'm getting an issue where the serial monitor either prints out a bunch of 0's which do not change with control input. When I change the baud rate of the Serial.begin() code it changes from 0 0 0 0 0 0..... to a bunch of ????????? question marks. What do I need to do to accurately parse the incoming data into my serial monitor? I'm using a frsky xm+ receiver, does this make a difference? it's still sbus
Sorry for my mistake. Because of Serial was used for SBUS at line: SBUS x8r(Serial); so it can't be used for USB port anymore. I think you could try with another Arduino board, which have multiple Serial ( Serial, Serial1...) such as Arduino Mega and change to used Serial1 for SBUS: SBUS x8r(Serial1); while using Serial for Serial Moniter. Hope it work!