Allan Bowker Posted January 30, 2016 Share Posted January 30, 2016 I love a good nav light set but the budget sets are hard to make out in the day and the really good bright ones seem very expensive for what I would like to pay. I've been on the lookout for a while now and stumbled upon others making their own with an Arduino programmable computer. First of all you will need a little Arduino micro computer. These are easily available on eBay for around £3 including delivery. A search for 'Arduino Nano' will find plenty of them listed. Top view Bottom view Another view of the bottom of the board with a pencil to show some scale. Download/install the drivers and Arduino programming software for your PC and before you know it, you can plug this board into your computer via a USB cable and start downloading code to it. The Arduino software is easy to use and is provided with many sample programs to try and experiment with. Quote Link to comment Share on other sites More sharing options...
Allan Bowker Posted January 30, 2016 Author Share Posted January 30, 2016 If you want a copy of the code that I used, download it from here. My next step was purchasing some small and bright 1206 SMD LED's (again from eBay for around 25p each) As you can see, they are very small and can be tricky to work on, so you may want to improvise with your own LED's at this point. To keep things lightweight I purchased some enamelled copper wire. This allows me to easily run wires around my model without the need to worry about threading relatively thick cables around smaller airframes. The enamel coating on the wire insulates against any short circuits. The multicoloured jumper cables make it easy to connect to your Arduido Nano board and are listed on eBay for around £2 LED's need a resistor on the positive anode leg of the light. I used these 100 Ohms 5% resistors (£1 on eBay). Solder a jumper wire to one end of the resistor and some enamelled wire to the other end of the restistor. Cover with heat-shrink tubing and this will help keep things tidy and easy to manage. Edited to correct resistor value... Edited By Pete B - Moderator on 20/02/2016 21:10:49 Quote Link to comment Share on other sites More sharing options...
Allan Bowker Posted January 30, 2016 Author Share Posted January 30, 2016 Almost forgot, if you have used my code in the thread abovt, the following pin-out data applies: TX1 : Green Nav RX0 : Red Nav GND : Commom ground negative D4 : White Strobe D5 : Red Beacon D6 : Red Beacon D8 : White Strobe Of course, these can be modified by changing the code uploaded to your Arduino Edited By Allan Bowker on 30/01/2016 15:49:35 Quote Link to comment Share on other sites More sharing options...
Monz Posted January 30, 2016 Share Posted January 30, 2016 Thanks for sharing. That's pretty cool. I wasn't aware of the Arduino. I'm using various LED's, resistors, caps and a trip 5 IC for my Impala. I'd have used your method if I hadn't already bought all the bits. Quote Link to comment Share on other sites More sharing options...
McG 6969 Posted January 30, 2016 Share Posted January 30, 2016 Great blog, Allan. I used some old telephone wire - from the days those things were 'wired' - as these are quite thin as well, but a bit 'heavier' than your wire, but maybe easier to get free. I also used some magnet wire - the type to rewind small electro motors, but that could be the same use as your enamelled wire? And yes, C++ code as quite easy to learn, as I could even manage it to build a 4x4 RGB led cube with an Arduino type (Atmega) processor. Please keep on instructing us. Hakuna matata Chris BRU - BE / CTR LED Control Quote Link to comment Share on other sites More sharing options...
Andy48 Posted January 30, 2016 Share Posted January 30, 2016 Just a thought, 10 ohm resistors seem rather low, and looking at your piccy, they would appear to be 100 ohm (brown, black, brown). Even that seems rather low and looks to be above the max current for the leds. You don't need the Arduino jumpers, those connectors are the same as servo extension leads. Edited By Andy48 on 30/01/2016 19:36:05 Quote Link to comment Share on other sites More sharing options...
Allan Bowker Posted January 30, 2016 Author Share Posted January 30, 2016 Hi Andy, yes they are 100ohm resistors, it's a typing error on my part. I haven't burnt any LED's out yet, they are low on purpose, to make them bright I welcome suggestions for any improvements to the circuit components or alternative super bright LED's. Quote Link to comment Share on other sites More sharing options...
Martin Whybrow Posted January 30, 2016 Share Posted January 30, 2016 100 Ohms should be OK, that gives approx 28mA with a 5V supply. Another option for thin wire is the cores from ethernet cable, typically 24 or 28AWG so nice and thin. Quote Link to comment Share on other sites More sharing options...
Masher Posted January 30, 2016 Share Posted January 30, 2016 Yes good blog Alan, nice to see some electronics. Thanks for sharing Quote Link to comment Share on other sites More sharing options...
Allan Bennett Posted January 30, 2016 Share Posted January 30, 2016 For some time now I've been making my own lighting sets using PICAXE 8M processors coupled with appropriate output devices to handle the current (PICAXE is maximum 30mA per channel). The advantage of your Arduino solution seems to be that they need no extra components (other than the resistors for the LEDs) or PC board. For my strobes I use Cree XP surface mounted LEDs. They require a heat sink if on continuously, and can draw up to 1 amp, but I've used them in strobe mode for several years now without a failure -- subject of course to having the correct supply voltage and series resistor. Quote Link to comment Share on other sites More sharing options...
Vecchio Austriaco Posted January 30, 2016 Share Posted January 30, 2016 I like that Alan! It is a much more flexible solution than anything ready made on the market - as you program yourself what you want! And it looks reasonable light and not too expensive! VA Quote Link to comment Share on other sites More sharing options...
JohnP25 Posted February 2, 2016 Share Posted February 2, 2016 Hi Allan Those 1206 LEDs are really small. Are they bright enough for 60 sized models. John Quote Link to comment Share on other sites More sharing options...
Allan Bowker Posted February 2, 2016 Author Share Posted February 2, 2016 Thanks to everyone for the comments. Yes John, the LED's are very small but I can't look at them for long as they are so bright (a video camera cannot do them justice). I haven't tried them outside yet on a 60 size aircraft, still waiting for the weather to calm down, however I'm confident that they will be bright enough for larger models. If not, then it's back to the drawing board for the choice of LED's but not the controller at least. I hope that others will be able to add to this thread in the future. Perhaps improved code or alternative LED's to use, etc. Quote Link to comment Share on other sites More sharing options...
JohnP25 Posted February 8, 2016 Share Posted February 8, 2016 Hi Allan, Quite interested in your controller. How do you intend to power the processor as an airborne pack? I see the power is either 5V or 9V. Will a voltage regulator be required? The first of a 100 questions . John Quote Link to comment Share on other sites More sharing options...
Danny Fenton Posted February 8, 2016 Share Posted February 8, 2016 Really nice project Allan and great pics! I will keep this in mind for future projects Cheers Danny Quote Link to comment Share on other sites More sharing options...
Allan Bowker Posted February 8, 2016 Author Share Posted February 8, 2016 JohnP25: Good question John, an important point I seem to have missed. The input voltage range is from 6v to 20v, although 7v is the recommended minimum. No USB cable is required to provide power as there are 2 power input pins on the board. I run mine on a small 2S LiPo, although you could tap power from your flight battery or receiver. I like to err on the side of caution and go for a separate supply. You should only need a regulator if you are outside this voltage range. Danny: Thanks Quote Link to comment Share on other sites More sharing options...
Denis Watkins Posted February 8, 2016 Share Posted February 8, 2016 General notes on LEDs lads. Being a very small diode, common LEDs are mostly rated at 20mah. As a rule of thumb, the protective resistor should be approx 75 ohms per volt, thus 1k for 12 v, and 680R for 9v, and 470R for 6v. However, again as a rule of thumb, if you are experimenting with less common microchips (ICs) (integrated circuits), then almost no protection is needed, maybe 10R, as the chip outputs are commonly 10 - 20 manh, similar to the LED. You can of course amplify this very small chip output very simply. Quote Link to comment Share on other sites More sharing options...
Barryorbik Posted February 20, 2016 Share Posted February 20, 2016 Hi Allan, Sorry for the dumb question but I have only just started playing with my Arduino Nano board and am trying to get my head around the device. I cannot work out from reading through your sketch where you are feeding the channel outputs (PPM) from your receiver to o the Nano, so currently I have uploaded your the program to the Nano but only the two green LED's on the Nano board and the red/green navigation lights are lit fully, with the LED's D5 and D6 (strobe and beacon) dim and flickering slightly. Sure it is a case of pilot error on my behalf but some assistance would be most appreciated. Barry Quote Link to comment Share on other sites More sharing options...
John Privett Posted February 20, 2016 Share Posted February 20, 2016 I'm fascinated by this, and have just clicked the Buy button for an Arduino Nano! I've had a play with one of the Arduino simulator websites, and am struggling to match up Alan's code with the pinouts he quoted. Maybe I'm missing something (quite likely!) or he's changed the code or the pinouts he uses. To me it looks like the signal input should be on D2, red and green navs on D5 and D6, the 'rotating' beacon on D3 and the two strobes on D7 and D8. But please don't take my word for it. Let's see what Allan says! Quote Link to comment Share on other sites More sharing options...
Barryorbik Posted February 20, 2016 Share Posted February 20, 2016 Hi John and Allan, Nothing on the TV, so I just tried your wiring configuration and bound up an old AR6100e with channel 5 (gear switch) signal output to D2 on the Nano and it all works now except for the rotating strobe which does not come on and the landing light still glows dimly when in gear up mode. I still have the nav lights on Tx1and Rx0 as D5 and D6 still have no output but some progress has been made! Looking forward to seeing Allan's reply Barry Quote Link to comment Share on other sites More sharing options...
John Privett Posted February 20, 2016 Share Posted February 20, 2016 Posted by Barryorbik on 20/02/2016 22:07:02: Looking forward to seeing Allan's reply Me too! Quote Link to comment Share on other sites More sharing options...
Allan Bowker Posted February 21, 2016 Author Share Posted February 21, 2016 Hello guys, sorry for the delay... I'm new to the Arduino myself, so this is a 'learning together' thread I'm always on the lookout for alternatives and improvements. Despite being below the recommended minimum voltage (see my post from 8th Feb), I have the option to power my Arduino directly from the receiver to the ICSP header pins (marked PWR). Purple wire is positive and grey wire is negative. Otherwise a separate 2S LiPo can be used to isolate your lighting system from your receiver. Also from this photo, you should be able to see which pins I have my LED's connected. Green - D8 - White Strobe Red - D6 - Red Beacon Orange - D4 - White Strobe Black - GND - Common ground negative Yellow - RX0 - Red Nav Blue - TX1 - Green Nav Although in hindsight, I guess l could have used just D8 for both strobes, D6 for beacons and perhaps D5 switched full on for both Red and Green Nav lights. Maybe next time? Some more photo's to follow, I hope these help... Edited By Allan Bowker on 21/02/2016 16:04:53 Quote Link to comment Share on other sites More sharing options...
Allan Bowker Posted February 21, 2016 Author Share Posted February 21, 2016 Wired up and powered on Powered up showing just nav lights and beacon Powered up with the strobes showing. Red/Green nav lights are still on but cannot be seen due to the strobes brightness. Edited By Allan Bowker on 21/02/2016 16:05:13 Quote Link to comment Share on other sites More sharing options...
John Privett Posted February 21, 2016 Share Posted February 21, 2016 Thanks Allan. I still think I'm missing something though! You don't appear to have any signal input to the Arduino from the rx to switch the lights. In your code you define LightSwitch as an integer with value 2 in this line; int LightSwitch = 2; //Position 1 turns on Nav Lights, 2 turns on Landing lights. Rc channel 8 and then set the pin (port?) with value LightSwitch to INPUT in this line; pinMode(LightSwitch, INPUT); and later read the pulse length in this line; LightSwitchValue = pulseIn(LightSwitch, HIGH, 20000); //times out in 20000 uS However I don't see any signal connection from the rx, just the +ve and -ve power lines. Which pin would the signal connect to? I assume D2 (to match '2' in the code) but am not at all sure! And your definitions of the pins (ports?) in the code for the various lights don't seem to match the pins you are using. Is there a mapping that I haven't yet found between the values used in the code and the physical pins? From the code; //Steady Lights int LandingLight = 4; //White Turns on with second switch int portNavLight = 5; //Red constant on int starboardNavLight = 6; //Green constand on //Revolving Light boolean RevolvingLightSwitch = true;//Set to false if not using this feature int RevolvingLight = 3; //Replicates revolving light (analog) int RevolvingLighteInterval = 0; int RevolvingLightDirection = HIGH; //White Strobe 1 boolean WhiteStrobeSwitch1 = true;//Set to false if not using this feature int WhiteStrobe1 = 7; //Flashes twice fast every second long whiteStrobeTimer1 = millis(); long whiteStrobeInterval1 = 2000; int whiteStrobePhase1 = 1; //White Strobe 2 boolean WhiteStrobeSwitch2 = true;//Set to false if not using this feature int WhiteStrobe2 = 8; //Flashes twice fast every second long whiteStrobeTimer2 = millis(); long whiteStrobeInterval2 = 2100; int whiteStrobePhase2 = 1; it looks to me that the nav lights are on 4 and 5, strobes on 7 and 8, but this doesn't match what you are using. I'm confused! Quote Link to comment Share on other sites More sharing options...
Allan Bowker Posted February 21, 2016 Author Share Posted February 21, 2016 Sorry John, it's not my code, it's somebody else's that I used. Seems as though there is a better way of wiring this up? I will try and find the original source and post a link. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.