POV: Persistence of Vision with a Picaxe 18X

POV ImageThis is a project that I finished around March 2008 which was well before the birth of http://Tech-tut.com. I read the first issue of Make magazine and saw a POV by a guy named Bunnie Huang (Make volume 1 Page 34-37, 186-189). This thing is really cool looking, but is way above a beginner’s head. Actually, this was when I started with the Picaxe. This was my first big project. Since then, most of this project has been lost, but I happened to find the program and the file containing the letters and numbers so I could copy and paste whatever words I wanted. I am including all this here. I’ll use my multimeter to make a new schematic. Nothing beats a little reverse engineering. Also, I may design a POV in C so that we can cater to the beginners and the advanced, but only time will tell. As for now, please enjoy the Tech-Tut POV.
Continue reading

An Interrupt Using an Input Pin on a PIC16F690 CCS C

This is just a short post on how I used an interrupt to make my Pickit 2 cycle through the LEDs. This is a very simple program, and sadly I tried this once before and it didn’t work. I did a little research and found that I didn’t enable the correct interrupts.  This experiment is just one of a few that may need to take place to design my POV for my CCS compiler. I have a Picaxe POV, but I want high brightness LEDs and it to be in C. I like projects, and this one (POV)  is going to be a little bit different than the Picaxe one. Enjoy the journey in developing my next toy.
Continue reading

Part 2: Going to Sleep(); An Interrupt Using an Input Pin on a PIC16F690 CCS C

This is part two of the POV design. I added a sleep function to this program. It counts up to 14. Once it hits 15 it goes to sleep, only to be awakened by MCLR and starting from the beginning of the program. Please enjoy.

#include <16f690.h>
#fuses intrc_io,mclr,put,nobrownout,nowdt
#use delay(clock=31000) //clock set to oscillator frequency
int count=0;

#INT_RB //this is the interrupt
void interruptMe(void) { count++; delay_ms(250); }

void main(void)
{
setup_oscillator(osc_31khz); //This uses less current than 4MHz
enable_interrupts(INT_RB7); //a change on RB7 triggers interrupt
enable_interrupts(GLOBAL);

while (1)   {  output_c(count);
if (count==0x0f)
{
output_a(0×00); output_b(0×00); output_c(0×00); //set all outputs to ground
sleep(); //should only wake up after MCLR
}  }  }

Infrared remote light control system

Read below for history, but the final project is here!

This is an idea I had to control lights in my room. I like light when I am getting into the bed, but I hate getting up to turn off the light. With this system I can turn the light off without getting up. The only problem that I have is that I did not allow enough room for the infrared receiver to receive a signal from all angles.
Continue reading

Microcontrollers: Stamp, Picaxe, Microchip, Atmel? Assembly, Basic, C? Which way to go?

I have started getting into some different types of programming for microcontrollers lately. I have wanted to learn C for Microchip’s line of microcontrollers, and now that I have begun I have found it to be relatively expensive. There are pros and cons for every platform, so I am going to blog on my experience so far.
Continue reading