|
|
|
|
This module is designed to switch on/off a set of Ultra
Bright LEDs suitable for a model helicopter by using a spare channel on the
receiver (usually the undercarriage toggle switch). The power is supplied by the
RC receiver (5.2v if you use a higher voltage you will have to limit it to 5.5v
for the PIC) the current doesn't exceed 100mA, around 20mA when off. The LEDs were a problem, the ones I used are made by Kingbright needed 4v forward voltage except the Red ones which need 2.5v - so I used a limiting resistor to restrict the current. The circuit is a constant current source, published in the Elektor Magazine (July/August 2010 page 45), controlled by an output from the PIC, I have modified it to allow 5 LEDs to be used from a 5.2v source. |
Component List PIC16F628 BC547B NPN Transistor ZVN4306A MOSFET N 47k resistor 6ohm resistor 39k resistor Red,Green,White Ultrabright LEDs Servo lead ABS Box Strip Board |
![]() |
The internal oscillator is used in the PIC hence no external
oscillator is needed. Constant current = 0.6v/R2 |
|
Basic Program written in the Proton Basic Language. '**************************************************************** * Name : RC-Lights.BAS * * Author : * * Notice : Copyright (c) 2010 Mr D.Murrell * * : All Rights Reserved * * Date : 04/08/2010 * * Version : 1.0 * * Notes : Internal oscillator 4Mhz, input = PortB.0 * * : output = PortB.4 * **************************************************************** Device 16F628 REMINDERS = off Config INTRC_OSC_NOCLKOUT, CP_OFF, WDT_OFF, MCLRE_OFF, LVP_OFF, PWRTE_ON, DATA_CP_OFF, BODEN_ON REMINDERS = On XTAL = 4 WATCHDOG = false ALL_DIGITAL = True PORTB_PULLUPS = On ' Enable PortB pull-up resistors Setup: Dim RCPulse As Byte, Temp As Byte Declare RSOUT_PIN PORTA.1 TRISB=0 ;PortB=outputs, Pulsein changes state of pin.0 to input DelayMS 500 Main: RCPulse = Pulsein PORTB.0, High If RCPulse >170 Then PORTB.4 = 1 Else PORTB.4 = 0 EndIf ;RSOut Dec RCPulse GoTo Main |
![]() ZVN4306A pinout ![]() BBC547B pinout |
| Back to last page/a> | |