PDA

View Full Version : My Micro Controller Project


pasanlaksiri
03-03-2007, 08:45 PM
Dual Time Digital Alarm Clock

Features at a glance

Dual time (Standard time + another time - GMT)
Counts seconds, minutes, hours, day, date, month and year
Alarm
12 hour / 24 hour time format
Leap year correction valid up to 2100


http://aycu40.webshots.com/image/10439/2002595822128202705_rs.jpg

http://aycu13.webshots.com/image/10452/2002587071453083354_rs.jpg

http://aycu27.webshots.com/image/11386/2002596448896926065_rs.jpg

http://aycu01.webshots.com/image/11720/2002557608678829086_rs.jpg

http://aycu01.webshots.com/image/11720/2002504982648704595_rs.jpg

http://aycu38.webshots.com/image/11277/2002576489732961578_rs.jpg

http://aycu37.webshots.com/image/12436/2002542608981005265_rs.jpg

http://aycu09.webshots.com/image/10248/2002580657785029848_rs.jpg

http://aycu39.webshots.com/image/12878/2002584967172313425_rs.jpg

http://aycu24.webshots.com/image/10023/2002554831463919052_rs.jpg

http://aycu16.webshots.com/image/9775/2001821195554321427_rs.jpg

http://aycu16.webshots.com/image/9775/2001829545827807916_rs.jpg

This is the Program

#include <pic.h>

__CONFIG(WDTDIS & XT & UNPROTECT & PWRTEN & LVPDIS & BORDIS);

unsigned char check_key(volatile unsigned char *key);
void bin_to_bcd(unsigned char binary, unsigned char *bcd);
void set_time();
void show_alarm_time();
void start_beep();
void inc_day_date();
void time_to_24H();
void time_to_12H();

#define MIN_ON 12
#define MAX_ON 72
#define false 0
#define true 1
#define SW_COM RA5
#define ADJ_TIME 10 // Time out in sec for settings

#define COM_0 RA0
#define COM_1 RA1
#define COM_2 RA2
#define COM_3 RA3
#define COM_4 RA4
#define COM_5 RA5

#define ADJ_KEY sw_0_cnt
#define MODE_KEY sw_1_cnt
#define BEEP_COUNT 4 // PWM duty cycle value for "beep"

#define ALPHA_A 3
#define ALPHA_L 10
#define BLANK 11
#define ALPHA_H 12
#define HIPHON 13

static const unsigned char display_L[14] = {0x00, 0x09, 0x04, 0x00, 0x09, 0x02, 0x02, 0x08, 0x00, 0x00, 0x07, 0x0F, 0x09, 0x0F};
static const unsigned char display_H[14] = {0x80, 0xE0, 0x40, 0x60, 0x20, 0x20, 0x00, 0xE0, 0x00, 0x20, 0x80, 0xE0, 0x00, 0x60};
static const unsigned char day_display_L[7] = {0x01, 0x02, 0x04, 0x08, 0x00, 0x00, 0x00};
static const unsigned char day_display_H[7] = {0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x80};
/* End of months Null,JAN,FEB,MAR,APR,MAY,JUN,JLY,AUG,SEP,OCT,NOV,D EC*/
static const unsigned char month_end[13] = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
static const unsigned char blink[3] = { 0xFE, 0xFD, 0xF3};

static const unsigned char digit3_L[4] = {0x0F, 0x09, 0x04, 0x08};
static const unsigned char digit3_H[4] = {0xE0, 0xE0, 0x40, 0x00};

static unsigned char digit[4];
static unsigned char count, i, j;

static volatile unsigned char sw_0_cnt[2], sw_1_cnt[2];
static unsigned char mode, cursor_digit, timer;


union{
unsigned char FLAG_C;
struct{
unsigned AM:1;
unsigned PM:1;
unsigned AL1:1;
unsigned AL2:1;
unsigned DO_NOT_USE:1;
unsigned COLON:1;
unsigned ST:1;
unsigned FREE_1:1;
}s_flag;
}u_flag;
// DO_NOT_USE because RC4 not connected to anywhere; it will make problems when flag load to PORTC
// AL2 is not implemented
#define flag u_flag.FLAG_C
#define FLAG u_flag.s_flag

static volatile unsigned char seconds, minutes, d_minutes, hours, d_hours, ticks, al_minutes, al_hours;
static volatile unsigned char year, month, date, day, end_of_month;

volatile bit hr_24, bit_24, setup, one_time, pm, d_pm, update, AL_ON, AL_START, SLEEP_STATE, al_pm, show_al;

main()
{

TRISB = 0xF0;
TRISA = 0x00; // RA0 - RA4 are O/Ps, RA5 - RA7 are I/Ps
TRISC = 0b00011011; // RC<0:1> used for Timer1 external crystal
CMCON = 0x07;
ADCON1 = 0x06; // All are digital I/P in PORTA
OPTION = 0b10000011; // Disable PORTB pull ups, set prescalaer to 1:16
T1CON = 0b00001111; // Timer1 1:1 prescale, Osc enabled, no sync,
// external clock source, Timer1 on
TMR1IF = 0; // Clear Timer1 Overflow interrupt flag
TMR1IE = 1; // Enable Timer1 Overflow interrupt

PORTA = 0x00;
PORTB = 0;
PORTC = 0;
TMR1H = 0x80; // Initialize Timer1 to 0x8000
TMR1L = 0x00;
INTCON = 0x68; // Pheripheral, TMR0, RB port change interrupts enabled
GIE = 1;

mode = 0;
setup = 0;
day = 0;
hr_24 = 0;
year = 5;
month = 1;
day = 1;
date = 1;
hours = 1;
d_hours = 1;
al_hours = 1;
pm = 0;
start_beep();

if(! (RB4 & RB5))
{
setup = 1;
cursor_digit = 0;
digit[2] = BLANK;
digit[3] = 0;
bin_to_bcd(year, digit);
while(setup)
{
if(check_key(ADJ_KEY))
digit[cursor_digit]++;
if(digit[0] > 9)
digit[0] = 0;
if(digit[1] > 9)
digit[1] = 0;
if(check_key(MODE_KEY))
cursor_digit ++;
if(cursor_digit > 1 || ticks > ADJ_TIME)
setup = 0;
}
year = digit[1] * 10 + digit[0];
}

while(1)
{
if((al_pm == pm) && (al_hours == hours) && (al_minutes == minutes))
{
if(AL_ON & FLAG.AL1)
{
AL_START = 1;
SLEEP_STATE = 0;
}
}
else
{
AL_ON = 1;
AL_START = 0;
}
if(!RB7)
{
if (SLEEP_STATE)
{
PORTA = 0x30;
RBIE = 1;
TRISB = TRISB = TRISC = 0xFF; //
SLEEP();
continue;
}
}
TRISB = 0xF0;
TRISA = 0x00; // RA0 - RA4 are O/Ps, RA5 - RA7 are I/Ps
TRISC = 0b00011011; // RC<0:1> used for Timer1 external crystal
if(ticks > 9)
{
SLEEP_STATE = 1;
}
if (update)
{
update = 0; // update in every seconds only or for a Mode key press
if(!show_al)
{
switch(mode)
{
case 0:
if(hr_24)
{
FLAG.PM = 0;
FLAG.AM = 0;
}
else
{
FLAG.PM = pm;
FLAG.AM = !pm;
}
FLAG.ST = 1; // we are now in standard time
bin_to_bcd (minutes, digit);
bin_to_bcd(hours, &digit[2]);
one_time = 1;
timer = 0;
break;

case 1:
FLAG.COLON = 1;
show_alarm_time();
break;

case 2:
FLAG.COLON = 1;
bin_to_bcd(date, digit);
bin_to_bcd(month, &digit[2]);
break;

case 3:
FLAG.ST = 0; // We are now in second time
if(hr_24)
{
FLAG.PM = 0;
FLAG.AM = 0;
}
else
{
FLAG.PM = d_pm;
FLAG.AM = ! d_pm;
}
bin_to_bcd(d_minutes, digit);
bin_to_bcd(d_hours, &digit[2]);
break;

case 4:
FLAG.COLON = 1;
digit[2] = BLANK;
digit[3] = 0;
bin_to_bcd(seconds, digit);
}
}

}
/************************************************** **************************************/
/* Setup Routines */
/* */
/************************************************** **************************************/
if(setup)
{
switch(mode)
{
case 0:
/* setting time */

set_time();
minutes = digit[1] * 10 + digit[0];
hours = digit[3] * 10 + digit[2];
pm = FLAG.PM;
/* Set time format 24 Hr of 12 Hr */
setup = 1;
cursor_digit = 4;
digit[0] = ALPHA_H;
digit[1] = BLANK;
while(setup)
{
if(check_key(ADJ_KEY))
{
if(hr_24)
{

hr_24 = 0;
time_to_12H();
}
else
{
hr_24 = 1;
time_to_24H();
pm = 0;
al_pm = 0;
}
}
if(hr_24)
{
digit[2] = 4;
digit[3] = 2;
}
else
{
digit[2] = 2;
digit[3] = 1;
}

if(check_key(MODE_KEY))
setup = 0;
}
break;

case 1:
/* set alarm time */
set_time();
al_minutes = digit[1] * 10 + digit[0];
al_hours = digit[3] * 10 + digit[2];
al_pm = FLAG.PM;
FLAG.COLON = 1;
break;

case 2:
/* set day, date and month */
FLAG.COLON = 1;
end_of_month = month_end[month];
if( (month == 2) && (year & 0x03))
end_of_month --; // Not a leap year (untill 2100, this calc will be true)

while(setup)
{
FLAG.COLON = 1;
if(check_key(MODE_KEY))
cursor_digit ++;
if(check_key(ADJ_KEY))
digit[cursor_digit]++;
date = digit[1] * 10 + digit[0];
if (date > end_of_month)
date = 1;
month = digit[3] *10 + digit[2];
if(month > 12)
month = 1;

bin_to_bcd(date, digit);
bin_to_bcd(month, &digit[2]);
if(cursor_digit > 2 || ticks > ADJ_TIME)
setup = 0;
}
setup = 1;
while(setup)
{
FLAG.COLON = 1;
if(check_key(ADJ_KEY))
day++;
if(day >6)
day = 0;
if(check_key(MODE_KEY) || ticks > ADJ_TIME)
setup = 0;
}

break;

case 3:
/* setting the second time*/
set_time();
d_minutes = digit[1] * 10 + digit[0];
d_hours = digit[3] * 10 + digit[2];
d_pm = FLAG.PM;
break;

case 4:
/* set seconds */
digit[2] = BLANK;
digit[3] = 0;
while(setup)
{
FLAG.COLON = 1;
bin_to_bcd(seconds, digit);
if(check_key(ADJ_KEY))
{
if(seconds > 29)
minutes++;
seconds = 0;
if(minutes > 59)
minutes = 0;
}
if(check_key(MODE_KEY) || ticks > 60)
setup = 0;
}
break;
}// End of setup
}

if(AL_START)
{
if(j < 4)
{
if (i & 0x20)
{
start_beep();
i = 0;
j++;
}
}
else
{
if(i > (32*6))
j = 0;
}

if(check_key(ADJ_KEY) | check_key(MODE_KEY))
{
AL_ON = 0;
AL_START = 0;
}

}
else if(!SLEEP_STATE)
{
if(MODE_KEY[0] & 0x80)
{
setup = 1;
start_beep();
cursor_digit = 0;
ticks = 0;
while(MODE_KEY[0] & 0x80);
}
if(check_key(MODE_KEY))
{
show_al = 0;
mode ++;
update = 1;
if (mode > 4)
mode = 0;
}
/* A short press of ADJ key will show alarm 01's set time */
if(check_key(ADJ_KEY))
{
one_time = 1;
timer = 0;
show_alarm_time();
show_al = 1;
}
if(timer & 0x80)
show_al = 0;
if(show_al)
show_alarm_time();

/* End of showing alarm time */

if(ADJ_KEY[0] & 0x80)
{
FLAG.AL1 = ! FLAG.AL1;
start_beep();
while(ADJ_KEY[0] & 0x80);
}
RC2 = 0;
}

}
}
void start_beep()
{
SLEEP_STATE = 0; // Don't let the PIC go to sleep
ticks = 0;
count = BEEP_COUNT *2; // Set count for length of beep
CCP1CON = 0x0F; // Set the CCP module to PWM
PR2 = 122; // Set the period to 2048Hz
// CCPR1L = 3; // Set the duty cycle very low
CCPR1L = 48;
T2CON = 0b01111101; // Enable Timer2
TMR2IF = 0; // Clear the Timer2 Interrupt flag
TMR2IE = 1; // Enable the Timer2 Interrupt
}
void time_to_24H()
{
/* Change format of time from 12 hr to 24 hour */
/* First standard time */
if(pm)
{
if (hours !=12)
{
hours = hours + 12;
}
}
else if(hours == 12)
{
hours = 0;
}
/* Now do it for the d time */
if(d_pm)
{
if (d_hours !=12)
{
d_hours = d_hours + 12;
}
}
else if(d_hours == 12)
{
d_hours = 0;
}
/* change format of Alarm time */
if(al_pm)
{
if (al_hours !=12)
{
al_hours = al_hours + 12;
}
}
else if(al_hours == 12)
{
al_hours = 0;
}
}
void time_to_12H()
{
/* Change format of time from 24 hours to 12 Hours */
/* first standard time */
if(hours > 12)
{
hours = hours - 12;
pm = 1;
}
if(hours == 12)
{
pm = 1;
}
if (hours == 0)
{
hours = 1;
}

/* Do the same for d time */
if(d_hours > 12)
{
d_hours = d_hours - 12;
d_pm = 1;
}
if(d_hours == 12)
{
d_pm = 1;
}
if (d_hours == 0)
{
d_hours = 1;
}

/* Alarm time */
if(al_hours > 12)
{
al_hours = al_hours - 12;
al_pm = 1;
}
if(al_hours == 12)
{
al_pm = 1;
}
if (al_hours == 0)
{
al_hours = 1;
}
}
void set_time()
{
while(setup)
{
if(check_key(MODE_KEY))
cursor_digit++;
if(check_key(ADJ_KEY))
{
digit[cursor_digit]++;

if(digit[0] > 9)
digit[0] = 0;
if(digit[1] > 5)
digit[1] = 0;
if(digit[2] > 9)
{
digit[2] = 0;
digit[3] ++;
}
if( hr_24)
{
if(digit[3] > 1)
{
if(digit[2] > 3)
{
digit[3] = digit[2] = 0;
}
}
}
else
{
if(digit[3] > 0)
{
if(digit[2] > 2)
{
digit[2] = 1;
digit[3] = 0;
}
if(digit[2] == 2)
{
FLAG.AM = FLAG.PM;
FLAG.PM = !FLAG.PM;
}
}
}
}

if(cursor_digit > 2 || ticks > ADJ_TIME)
setup = 0;
}
}


void bin_to_bcd(unsigned char binary, unsigned char *bcd)
{
unsigned char count = 0;
for( ;binary > 9; binary = binary - 10)
{
count ++;
}
bcd[0] = binary;
bcd[1] = count;
}
void show_alarm_time()
{
if(hr_24)
{
FLAG.PM = FLAG.AM = 0;
}
else
{
FLAG.PM = al_pm;
FLAG.AM = !al_pm;
}
if(one_time)
{
update = 1;
digit[0] = digit[1] = BLANK;
digit[2] = ALPHA_L;
digit[3] = ALPHA_A;
if(timer & 0x40)
one_time = 0;
}
else
{
bin_to_bcd(al_minutes, digit);
bin_to_bcd(al_hours, &digit[2]);
}
}
unsigned char check_key(volatile unsigned char *key)
{
//key[0] = current, key[1] = old
static unsigned char temp;
temp = key[1];
// key[1] = key[0]; // Copy current --> Old
if ( key[0] < key[1])
{
key[1] = key[0];
if (temp < MIN_ON)
{
// key pressed less than MIN_ON time
return false;
}
else if (temp > MAX_ON)
{
return false;
}
else
{
ticks = 0;
start_beep();
return true;
}
}
key[1] = key[0];
return false;

}
void inc_day_date()
{
end_of_month = month_end[month];
if( (month == 2) && (year & 0x03))
end_of_month --; // Not a leap year

day++;
date++;
if(day >6)
day = 0;
if(date > end_of_month)
{
date = 1;
month ++;
}
if(month > 12)
{
month = 1;
year ++;
}
}

void interrupt disp()
{
static unsigned char digit_count, temp;
if(T0IF) // Interrupts on every 4.096 mS
{
i ++;
digit_count ++;
if(digit_count > 5)
{
digit_count = 0;
}

PORTB &= 0xF0;
PORTC &= PORTC & 0x1F;

/* Scan keys */
if(sw_0_cnt[0] < 0xFF)
sw_0_cnt[0] ++;
if(RB4)
sw_0_cnt[0] = 0;

if(sw_1_cnt[0] < 0xFF)
sw_1_cnt[0] ++;
if(RB5)
sw_1_cnt[0] = 0;

switch(digit_count)
{
case 0:
COM_5 = 1; // Disable COM 5
PORTB |= display_L[digit[0]];
PORTC |= display_H[digit[0]];
COM_0 = 1; // Enable COM_0

break;

case 1:
COM_0 = 0;
PORTB |= display_L[digit[1]];
PORTC |= display_H[digit[1]];
COM_1 = 1;

break;

case 2:
COM_1 = 0;
PORTB |= display_L[digit[2]];
PORTC |= display_H[digit[2]];
COM_2 = 1;

break;

case 3:
COM_2 = 0;
PORTB |= digit3_L[digit[3]];
PORTC |= PORTC | digit3_H[digit[3]];
COM_3 = 1;
break;

case 4:
/* COM_4 and COM_5 wired as commom cathode */
COM_3 = 0; // Disable COM_3
PORTB |= day_display_L[day];
PORTC |= day_display_H[day];
COM_4 = 0; // Enable COM_4
timer ++;

break;

case 5:
/* COM_4 and COM_5 wired as commom cathode */
COM_4 = 1; // Disable COM_4
PORTB |= flag;
PORTC |= flag;
COM_5 = 0; // Enable COM_5

}
if (setup && (timer &0x10))
{
/* in setup blink the correspondig digit */
if(cursor_digit == 3)
COM_4 = 1;
else if(cursor_digit == 4)
COM_5 = 1;
else
PORTA &= blink[cursor_digit];

}
T0IF = 0; // Enable TMR0 interrupt
}
if(RBIF) // Port change interrupt
{
SLEEP_STATE = 0;
ticks = 0;
temp = PORTB;
RBIF = 0;
}
if(TMR2IF && TMR2IE) // Timer2 Overflow used for beep
{
if(TMR2IE) // If Timer2 interrupt is enabled
{
count--; // Decrement count
if(!count) // If count has reached zero
{
CCP1CON = 0; // Disable CCP module
T2CON = 0; // Disable Timer2
CCPR1L = 0; // Clear the Duty Cycle
TMR2IE = 0; // Disable Timer2 Interrupt
// SLEEP_STATE = 1; // Enable PIC to SLEEP
}
}
TMR2IF = 0; // Clear Timer2 interrupt flag
}
if(TMR1IF) // Timer1 Overflow, once every sec
{

seconds++; // Increment seconds
if(seconds > 59) // check for seconds overflow
{
seconds = 0;
minutes++;
d_minutes ++; // inc the d time minutes

if(minutes > 59) // check for hours overflow
{
minutes = 0;
hours ++; // increment hours
if(hr_24)
{
if(hours >23)
{
hours = 0;
inc_day_date();
}
}
else
{
if(hours == 12)
{
if(pm)
{
inc_day_date();
}
pm = ! pm;
}
if(hours > 12)
{
hours = 1;
}
}
}
// Next, update the d time
if(d_minutes > 59) // check for d_hours overflow
{
d_minutes = 0;
d_hours ++; // increment d_hours
if(hr_24)
{
if(d_hours >23)
{
d_hours = 0;
}
}
else
{
if(d_hours == 12)
{
d_pm = ! d_pm;
}
if(d_hours > 12)
{
d_hours = 1;
}
}
}// end of updating d time
}

TMR1H |= 0x80; // Set Timer1 to 0x8000 + current time
FLAG.COLON = !FLAG.COLON; // Toggle the colon
ticks++; // increment ticks, used for timeout
TMR1IF = 0; // Clear Timer1 interrupt flag

update = 1;
}
}

Mr.DON
03-03-2007, 08:47 PM
meya weda karaya welanee:rolleyes: :lol: :lol: :lol: :lol: ;) ela nice work mann:cool: :D

pasanlaksiri
03-03-2007, 08:49 PM
meya weda karaya welanee:rolleyes: :lol: :lol: :lol: :lol: ;) ela nice work mann:cool: :D

Hmmmmm tikak withara.

Im working on a mp3 player project now. :yes: :D

Mr.DON
03-03-2007, 08:52 PM
Hmmmmm tikak withara.

Im working on a mp3 player project now. :yes: :D
woah ela kollek ne:D :D :cool:

pasanlaksiri
03-03-2007, 09:02 PM
woah ela kollek ne:D :D :cool:
http://UploadYour.info/img/87586e3ef9.jpg:D :D :D :D

GNS
03-03-2007, 09:16 PM
I don't know anything about Programming...

I don't know VB at least...

Agent_47
03-03-2007, 09:40 PM
Kool!

pasanlaksiri
03-04-2007, 04:21 PM
I don't know anything about Programming...

I don't know VB at least...

This is not like VB

GNS
03-04-2007, 05:12 PM
This is not like VB

I know....

But I said,
I DON'T KNOW ANY PROGRAMMING LANGUAGE...

nukisl
03-04-2007, 05:12 PM
ewarada project 1ka

GTRZ
03-04-2007, 05:15 PM
Good work bro! Are you doing any robotic arm or mechnical type of stuff?

pasanlaksiri
09-05-2007, 07:57 PM
Good work bro! Are you doing any robotic arm or mechnical type of stuff?

Oh im diying to do somthing like that. But at the moment i dont have that much knowledge about robotics. Im really a microcontroller freak:D

sajithgamage
09-05-2007, 08:29 PM
ane amme...monawada me??

ishara91
09-05-2007, 08:33 PM
Ela macho
max aa

ishara91
09-05-2007, 08:34 PM
ela ela

hul2000
09-05-2007, 08:52 PM
Wow. Cool work man.
And thanks for the program too.

blood_brotha
09-05-2007, 09:08 PM
nice....

cow_theboy
09-05-2007, 09:21 PM
ela ela machooo

chamithal
09-05-2007, 09:28 PM
We did a nice one - A heater controlling system.... Where we can plugin a conventional heater and heat to a given temp upto a .5'C precision... he he! cool ne... I wrote the programme.. it was a cool job..........

Sasika@Elakiri
09-05-2007, 09:45 PM
Bro electronics monawahari igenagannawada??


Macho equalizer displays ganna thanak dannawada??


Ela wor kmacho, keep it up, speacially do that mp3 project and share your exp with us

pasanlaksiri
09-05-2007, 09:49 PM
We did a nice one - A heater controlling system.... Where we can plugin a conventional heater and heat to a given temp upto a .5'C precision... he he! cool ne... I wrote the programme.. it was a cool job..........


Elakiri. Bud what did u use for disply. SEVEN SEGMENTS OR NICE LITTLE LCD.:D

pasanlaksiri
09-05-2007, 09:51 PM
Bro electronics monawahari igenagannawada??


Macho equalizer displays ganna thanak dannawada??


Ela wor kmacho, keep it up, speacially do that mp3 project and share your exp with us

At the moment im not doing anything.

Equalizer rady made ones nam not sure in SL. But u can make it Using Grapichs Displa AND PIC OR AVR. ( I recomand AVR )

and about that CAR MP3 PROJECT.

I have a knowledge for make it. But finding parts is the hardest part in SL.

Main problem is Finding a good 7" touch LCD.

and the other problem is finding electronic parts for make 12V power supply for CAR PC.

icreations
09-05-2007, 09:54 PM
Wow... Cool... keep it Up Dude...

kepu
09-05-2007, 09:54 PM
Weldone Brother ... good luck

icreations
09-05-2007, 09:57 PM
Cool dude...

chamithal
09-05-2007, 10:04 PM
Elakiri. Bud what did u use for disply. SEVEN SEGMENTS OR NICE LITTLE LCD.:D

7 segment... it was enough.. tht one was our L2 june term project and was selected as the est one.. it could even boil any liquid by (u knw tht water boils @ 100 in 1atm n it waries with pressure ne.. + liquids like oil boils @ different temps ne.. no matter wht the liquid is, it identifies its boiling point... he he....)

We ddnt even use a 7 segement driving IC - we had a 28 pin 16F876A as I remember... so enough pins ne.. he he...;)

So long bro...

Kasun007
09-05-2007, 10:15 PM
Why don't u use a LCD for this one.I think LCD is better than 7 seg for this.

Finding the circuit parts in SL is hard thing.which PIC u use for this?

ashenrandika
09-05-2007, 10:42 PM
Wow max bro... dont you like port programming????:D :D :D :D :D

rukshankb
09-09-2007, 04:21 PM
wow Good program me!

Diyathi
09-09-2007, 04:27 PM
woah ela kollek ne:D :D :cool:


:yes: :yes: :cool: :yes: :yes:

w_sampath
09-09-2007, 07:43 PM
:D good work, megeth may dawas wala project ekek yanawa, STB automation system for my office. wisthra danna m iwara unama.

pasanlaksiri
09-09-2007, 07:53 PM
Why don't u use a LCD for this one.I think LCD is better than 7 seg for this.

Finding the circuit parts in SL is hard thing.which PIC u use for this?


I also make LCD clock.

It has date, time ( HH.MM.SS ) and alarm.

But bro at knight LCD is not good enoughf.

w_sampath
09-09-2007, 07:56 PM
3775

mama langadi gatha PIC board ekek, may thiyenne eka

pasanlaksiri
09-09-2007, 07:58 PM
Wow max bro... dont you like port programming????:D :D :D :D :D

Ya i like but still didn't do any thing.

PC ekak use karagena project ekak karanawanam gindarawage project ekak karanna oone. Like ROBOTIC arms, etc.

pasanlaksiri
09-09-2007, 07:59 PM
3775

mama langadi gatha PIC board ekek, may thiyenne eka

awesome. Where did u bought it.

w_sampath
09-09-2007, 08:04 PM
form Sri Lanka, Cherry electrinics

w_sampath
09-09-2007, 08:07 PM
check this link

http://www.youtube.com/watch?v=0uXqqExS67k

pasanlaksiri
09-09-2007, 08:08 PM
form Sri Lanka, Cherry electrinics

koheda ban eka thiyenne. How much?

Do u know a good place to order electronic parts. Like FARNELL

pasanlaksiri
09-09-2007, 08:09 PM
:D good work, megeth may dawas wala project ekek yanawa, STB automation system for my office. wisthra danna m iwara unama.

Shaaaaaaaa ela ela. Elakiri eketh ELECTRONIC FREAKS LA inawa neda? I thought just me. Now im not alone:lol: :lol: :lol: :lol: :D :D :D

w_sampath
09-09-2007, 08:18 PM
Mama No ekak dennam kath karala balanna

Dhanuka 773419301

mage yaluwek,

Easy pic 2 board eka 18000.00

thawa ekek thiyanawa mama wisthara dannam

w_sampath
09-09-2007, 08:20 PM
3776

meka Rs8000.00k

w_sampath
09-09-2007, 08:25 PM
3777

May mage 2 weni project eka,

SAN_APIIT
09-10-2007, 07:59 AM
Elama thama macho. weldone.... And all the best for ur future....

If u can please upload some e-book or learning materials also. TIA.

Mihindu_Gajaba
09-10-2007, 08:44 AM
wow project is awesome i love that subject toooooooooo but what to do toooo ..
awesome work keep it up

Mihindu_Gajaba
09-10-2007, 08:48 AM
Elama thama macho. weldone.... And all the best for ur future....

If u can please upload some e-book or learning materials also. TIA.


:yes: :yes: :( :( :(

hnuwan2003
10-12-2007, 09:00 AM
bro, were r u frm?? r u frm Sl?? i'm awso using n used microcontroller in ma secon year..i'm Bio med electronics student in Sg..i need ur help...plz add me in msn or Y!
[email protected] or [email protected]

plz....

pasanlaksiri
10-12-2007, 09:02 AM
3777

May mage 2 weni project eka,

Is that a 3310 LCD or what?:love:

I also made digital Temperature Meter using 3310 LCD few months ago.

PIC12F629
DS18B20+
3310LCD

Powerd by two 1.5V bats.

I think u know about that project.

These r not my pics

http://aycu05.webshots.com/image/30124/2002563684520638569_rs.jpg

http://aycu22.webshots.com/image/31821/2002527099902754712_rs.jpg

Its really awesome bro. Mage Temp Meter eka dan continously 4 months withara wadakarala thiyanwa. Its on top of my PC:rofl:

This is the link if u like it (http://free-vz.htnet.hr/Ivica-Novakovic/Nokia%20Lcd%20Termometar-eng.htm)

pasanlaksiri
10-12-2007, 09:38 AM
Mama No ekak dennam kath karala balanna

Dhanuka 773419301

mage yaluwek,

Easy pic 2 board eka 18000.00

thawa ekek thiyanawa mama wisthara dannam

Ela ela

mama contact karala balannam.

Uba mara sira projects ne karala thiyenne

suudda
07-18-2008, 02:12 PM
mama programing gana danna na et wadenam niyamay mama subwoofer ekak gahanawa lm1875 puluwannam udaw karapan:sorry: :sorry:

pasanlaksiri
07-18-2008, 02:38 PM
mama programing gana danna na et wadenam niyamay mama subwoofer ekak gahanawa lm1875 puluwannam udaw karapan:sorry: :sorry:

What kind of help.

Machan LM1875 not bad. but low power ne. Use TDA2050.

kasuncs
07-18-2008, 02:43 PM
Elamakiri project series ekak. Dan usb pic walinuth wada patan ganna. etha kota siram dewal karanna puluwan.

fallenzeraphine
07-18-2008, 02:50 PM
great work machan....ur work is awesome...im in to electronics also...thinking of building a DIY sub these dayz, i might need ur help..good work mate

monson
07-18-2008, 03:01 PM
http://xs227.xs.to/xs227/08215/tpm294.jpeg
http://rapidshare.com/files/116932831/PCM.rar

monson
07-18-2008, 03:09 PM
http://ecx.images-amazon.com/images/I/31DBB6rt81L._.jpg
http://rapidshare.com/files/57615408/Newnes.PIC.in.Practice.A.Project-based.almukhtar.pdf

bonji
07-18-2008, 03:29 PM
nice work gadget boy
http://www.the-gadget-man.com/images/gadget_small.GIF

pasanlaksiri
07-18-2008, 03:44 PM
Thank you

nimaz
07-18-2008, 03:54 PM
hmmm

sl.manju
07-18-2008, 04:07 PM
umba nam maxxa porak banz.. proud abt u broo ela

nagaya
05-22-2009, 02:46 PM
maxxa work bro!!! :D

krish69
01-27-2011, 01:47 AM
Is that a 3310 LCD or what?:love:

I also made digital Temperature Meter using 3310 LCD few months ago.

PIC12F629
DS18B20+
3310LCD

Powerd by two 1.5V bats.

I think u know about that project.

These r not my pics

http://aycu05.webshots.com/image/30124/2002563684520638569_rs.jpg

http://aycu22.webshots.com/image/31821/2002527099902754712_rs.jpg

Its really awesome bro. Mage Temp Meter eka dan continously 4 months withara wadakarala thiyanwa. Its on top of my PC:rofl:

This is the link if u like it (http://free-vz.htnet.hr/Ivica-Novakovic/Nokia%20Lcd%20Termometar-eng.htm)


macho DS18B20+ ganna thenak petta wala kiyapan..

pasanlaksiri
01-27-2011, 08:23 AM
macho DS18B20+ ganna thenak petta wala kiyapan..

Goto pettah 1st ST. There is a big shop called UNITECH TRADING. They do have it. Cost 250/=

krish69
01-31-2011, 02:02 PM
Goto pettah 1st ST. There is a big shop called UNITECH TRADING. They do have it. Cost 250/=

thanks a lot pasan..highly appreciate your help