PDA

View Full Version : Holiday gift for the forum!



El_AMPo
- 24th December 2010, 23:38
My gift to the forum this holidays...

http://img840.imageshack.us/img840/7983/24122010122.th.jpg (http://img840.imageshack.us/i/24122010122.jpg/)

Your own PicBasic controlled Christmas POV tree.

Good for gift, tabletop or office decoration.
Also as a starter kit for surface mount soldering (original purpose)

Here's the code, really basic.
Anyone for a different sequence routine? post it and i'll test them.



'__config _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_ON & _PWRTE_ON & _INTRC_OSC_NOCLKOUT

' --------------------
' CONFIGURATION
' -----------------

define OSC 4 'Clock in MHz

' ---General Settings

CMCON = %00000111 'all digital and off comp for low power use
VRCON = 0 'Vref apagado


' ---ADC Settings 'Comment for 12F628
'ADCON0 = 0 'ADC Off
'ANSEL = 0

'ADCON0 = %10000001 ' Seleccion de justificacion y habilitacion de ADC (RGHT JUST,ADC Enable)
'ANSEL = %00100011 ' Seteo inicial de reloj %x6543210 [6:4] CLK=Fosc/32, [3:0] ADC CHannel Enable

'DEFINE ADC_BITS 10 ' ADCIN resolution (Bits) se usan para PBP si uso un clock distinto a RC
'DEFINE ADC_CLOCK 2 ' ADC clock source (Fosc/32)
'DEFINE ADC_CLOCK 3 ' ADC clock source (RC)
'DEFINE ADC_SAMPLEUS 15 ' ADC sampling time (uSec)

' ---PORT Settings

TRISIO = %001000 'TRISIO = %xx543210 GPIO.3 solo input
'Pone entradas y salidas en I/O
'Orden: Ax-A0 (1:entrada 0:salida)
GPIO = 0

OPTION_REG.7 = 1 ' Pull-UP en GPIO (0=enable 1=disable)
WPU = %000000 ' WPU = %xx54x210
' Selecion de puertos para Weak Pull-Ups (1:on 0:off)


'-- PORT Naming

Led0 VAR GPIO.0 'up on the tree
Led1 VAR GPIO.1
Led2 VAR GPIO.2
But0 VAR GPIO.3 'just input, no WPU
Led4 VAR GPIO.4
Led3 VAR GPIO.5 'down on the tree


' ---Variables declaration

'--Variables general use
X VAR BYTE ' Uso comun
Y var byte
Z var byte
t VAR byte
n VAR BYTE
wX VAR word
wY VAR word
wZ VAR word

Mode var byte


' --------------------
' MAIN CODE
' -----------------

main:

if but0 = 0 then 'not used yet
mode = mode + 1
if mode = 4 then mode = 0
endif

led0 = 1 'green
led1 = 0 'blue
led2 = 1 'green
led3 = 0 'blue
led4 = 1 'green
pause 3 'good delay for dots

led0 = 1 'green
led1 = 1 'green
led2 = 1 'green
led3 = 1 'green
led4 = 1 'green
pause 7

led0 = 0 'blue
led1 = 1 'green
led2 = 0 'blue
led3 = 1 'green
led4 = 0 'blue
pause 3

led0 = 1 'green
led1 = 1 'green
led2 = 1 'green
led3 = 1 'green
led4 = 1 'green
pause 7

goto main


end



Takes about one afternoon to make
Full instructions on this link:
http://www.instructables.com/id/POV-Chistmas-Tree/

El_AMPo
- 24th December 2010, 23:40
Video of the tree working with this sequence:


http://www.youtube.com/watch?v=pJCk5tPGW4I&feature=player_embedded

Video recorders "hate" POV displays, but nice eyecandy anyway.

cncmachineguy
- 25th December 2010, 15:04
Very cool, Thank you. Maybe I need to make 1 for next year.