Hi Guys,
First I must thank you all, since this forum is great, and I managed to find solutions without posting untill now.
I am working on an imitation of the interactive led table by evilmadscientist, with slight variances. For those who don't what it is, basically set of leds blinking in a wavy fashion in response to varying ambient light.
I managed to get the leds do the wave thing by PWM on the 16f675. My problem starts at detecting the ambient light. I have never used analog digital conversion till now and after a brief try, decided POT command would be sufficient too, ansd switched to it(will use it with a photoresistor). I managed to get it work on 16f84A with a 22K potentiometer, grounded after a 0,1 uf capacitor. But want to do it on 16f675. So far it does not read the potentiometer at all and acts erratic. tried connecting the 3rd pin to 5V, but no change. After this circuit works, I will swap the potentiometer with the photoresistor and that will be the light sensor.
There are two things I suspect.
1-internal OSC is not good for this.
2-I just noticed that I activated the weak pullup on all pins, I am at work now and can't wait until the evening to see if this is the problem.
The simple code I wrote to isolate the problem is given below:
---------------------------
define OSC 4 'define osc speed
define OSCCAL_1K 1 'write internal osc value
CMCON = 7 'disconnect comparator
ANSEL = 0 'disable a/d converter
TRISIO = %00001000 'set ports
WPU = %11111111 'weak pullup
GPIO = 0
potval0 var byte
loop:
Pot 3, 255, potval0 'write pot reading to potval
if potval0>127 then 'if reading is bigger than 127
high 0 'blink led on 0
pause 1000
low 0
else
high 1 'else blink led on 1
pause 1000
low 1
endif
goto loop
---------------------------
and the include file is below as I have modified it to work with internal OSC
---------------------------
NOLIST
ifdef PM_USED
LIST
include 'M12F675.INC' ; PM header
device pic12F675, intrc_osc, wdt_on, mclr_off, protect_off
XALL
NOLIST
else
LIST
LIST p = 12F675, r = dec, w = -302
INCLUDE "P12F675.INC" ; MPASM Header
__config _INTRC_OSC_NOCLKOUT & _WDT_ON & _MCLRE_OFF & _CP_OFF
NOLIST
endif
LIST
----------------------
Please gusy help me get out of this. I have been stuck here for 5 desk hours now. After this, my question about interrupts comes, but I havent given up on search for that yet.
Thanks to responders in advance.
Oh, one last thing. Since it is my first post, I am not sure if my message is good as a thread here, so please let me know if you have any suggestions, on how and what else to include.
Bookmarks