Hi, let me introduce my APM mode switch with LCD display.
The basic idea is from Stefan Gofferje's project, thanks on him for PPM stream code part!!!
My idea was to make something more good-looking thing for my transmitter and get rid of annoying switch mixes. My APM mode switch uses an Arduino as main processor. Technically, Arduino generates a PPM stream for the RC transmitter, this can be connected through the trainer port. (Check out your transmitters manual for proper trainer port setup). The desired channel in PPM8 stream can be configured in the sketch (default is ch5).
*** Please note that LCD display will display the actual mode regarding PWM value! ***
***The actual mode in the APM can be different, since there is not any telemetry ***
***feedback in this switch! Take care of proper APM setup!!! ***
***Please double check mode matches on the ground before first take-off!!!***
Here is the parts list:
- Arduino Nano
- 2x16 LCD screen (HD44780 compatible)
- 6 pcs of pushbutton (I'm using these, I think they are quite conventional, for 7mm dia holes)
- 5V buzzer, max. 40mA (optional)
- 10k pot (optional)
- 3D printed body
- upper and lower plates milled from any 1,5 mm GF or CF plate
And this is the connection diagram:
***UPDATE***
***Don't use Arduino Nano's built-in 5V power source because overheating can cause instability!***
***Use a small DC-DC converter instead***
(or supply LCD from another 5V power source)
I suggest to solder the Arduino to the LCD, D2...D5 and D12 are on the same place as in the LCD screen:
The LCD is mounted inside the body with screws:
The neccessary 3D files can be downloaded from the project's GrabCAD page.
And this is the sketch: APM_mode_switch_NHA_v2_0.ino
Here is a Sample of my screen's diyplay states.
Mode names and sign letters can be edited in this part of the sketch:
I can't upload any images about a completelly assembled switch since I'll use it together with my portable ground station, so I designed a unique case that fits to my GS (so guys, the 3D model above is designed only for you... :) ):
I hope you'll enjoy, and of course,
***USE IT ON YOUR OWN RISK***
***I'll not take care of any damages caused by malfunction or faulty assembly***
Regards,
Adrian
Comments
I know this is a super old thread, but I feel it is the best solution going without the need to use multiple switches on the radio.
I built it and have it working through the trainer port on my Taranis. When it initializes, it goes to mode 6. Also, if it loses battery connection, it sends a pwm signal of 1500 (0) to the radio. This triggers whatever flight mode falls within that range. Rather than align my flight modes with the current code such as using FM3 for RTL, can the code be changed to not be on center and rather at -100 (FM1)
Is there a reason this starts in mode 6? Can it be made to start in mode 1? (code below)
// All channels to center
for(int i=0; i<numchan; i++){ (Change 0 to -100?????)
ppm[i]= servo_default;
}
ppm[PPM_chan-1]=1000; // Set mode channel to Mode 6 PWM value (Changing 2000 here to 1000????)
Thanks,
Warren
Hi,
Thanks you shared this project.
I try to rebuilding but I modified a bit.
I used an I2C bus 1602 display but was too big to me.
After I ordered a mini 1602, but wasn't available with blue back light and finally I found another one which looks better.
This is an OLED 128x64 Display.
I want to fit in the hole of the handle on my transmitter and buttons should be on bots side 3-3 peaces.. I had no any Arduino knowledge previously but in the last 72 hours just browsed the sketches and tried find out how working this.
So now looks code is working, just need some mechanical engineering.
This is the video how working.
https://youtu.be/hYe2aWmGCtg
I'm very happy, hopefully I can forget soon the 3+2position switch combo for change between the flight modes.
Thanks again.
Hello. Thank you for wonderful project.
Can you please say. What for and where exactly resistors are needed? I can.t find them on a sketch. Can you give more information about it.
Thank you in advance.
Hi, unfortunatelly I don't know Taranis so I can't help.
You should check the connection and maybe try in Slave mode too.
Good luck!
Thanks for the project. I have built it and it appears to work.(displays properly,buttons change) However, I cannot get it setup with my Taranis Transmitter. I have programmed the TR1 (trainer input ch 1) to my mode select channel5. Transmitter is in Master. Nothing happens to ch5 when I push the buttons. Anything else I have to do to get it working??
oh...ok! so this is the reason :( thanx!
T6 can not act as trainer master and mix channels.
You should have more complex programmable radio.
Yes , you're right , I think I have not said everything. The arduino with the LCD and switch are ok. When i connect the APM mode switch with LCD to the PPM port of my transmitter FS -T6 , and try to change flight modes from arduino, the changes are not transmitesd to APM quad. i can't understend why? i think i have not understand wher i have to conect the D10 pin from arduino. I have conected to PPM - RX on trainer port. is that ok?
Hi Luciand, I cannot help you as I have not done this project, but by saying its not working and then asking is something wrong is not very forthcoming with the details that would be needed to find out what is wrong with your creation. I suggest you post some pics and details about your build so that others can then usefully comment and guide you. As it is, you haven't shared any actual information apart from you are using a flysky T6.
nobody can help a beginner? Please!