قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

Abood Alsayed
:: مهندس ::
تاريخ التسجيل: Dec 2014
المشاركات: 7
نشاط [ Abood Alsayed ]
قوة السمعة:0
قديم 27-12-2014, 06:24 PM المشاركة 1   
ha Automatic Fish Feeder project Twitter FaceBook Google+



السلام عليكم ورحمة الله

مساء الخير

انا طالب جامعه وعندي بكره تسليم هاد المشروع وانا ضايع فيه ، الرجاء من للي بقدر يساعدني يتواصل معي ع الخاص وشكرا

مشروعي هو عباره عن Automatic Fish Feeder using Pic 16F877A
المشروع بدي اعمله بلغة ال C
وسميوليشن ع برنامج البروتوس

هلى فكرة المشروع كالتالي
راح يكون موصل ال بيك على شاشة LCD بتعرض الساعه الرقميه ( الوقت )
والشاشه موصله على 7 سيجمانت بتعمل countdown من ال 4 ل 0 ولما تسير 0 بتفتح البوابه لاخراج الطعام

طبعا البوابه عشان تفتح راح تكون موصله على ستيبر موتور حيشتغل بس يخلص ال countdown

هلى ال countdown تبع ال 7-segmant Display رح يبدأ بس تصير قيمة الساعه المعروضه على ال LCD بنظام ( HH:MM:SS ) اي ساعات H ودقائق M وثواني S بس تصير قيمه معينه ولنفرض مثلا بدي اياها ع الساعه (12:00:00) وعلى الساعه ( 00:00:00) يعني على الساعه 12 ظهرا و 12 مساء ،،

طبعا بدي اياه بس يفتح البوابه يفتحها لمدة خمس ثواني ويرجع يغلقها اتوماتيك
وخلال ال Count down ماتتأثر الساعه للي ع ال LCD وتفضل ماشيه وبعد مايخلص ال Count down يرجع يعمل Reset للقيمه للي كان عليها ال 7 سيجمانت أي ( 4 ) بالباينري استقبالا لل countdown الجديد

البرنامج صعب جدا ، مخي ضرب ، ماعرفت اعمل اشي ،، بكره تسليم السوفت وير للمشروع ،، معتمد على الله ثم عليكم للي معلم بال Pic والبرمجه يساعدني يامهندسين

وانا مابدي اشي جاهز او من النوع للي بس بنقل ، لا بحب اتعب واتعلم ، بس بدي حدا يساعدني ويوجهني ، للي عنده استعداد ولو بكلفه الأمر يسهر معي الليله ويساعدني ،، ياريت يكلمني ع الخاص

وشكرا لجهودكم وتعاونكم

اخوكم عبود السيد - هندسه كهربائيه - سنه رابعه جامعة فيلادلفيا - الأردن

اعلانات

greenhonet
:: مهندس ::
تاريخ التسجيل: Dec 2014
المشاركات: 5
نشاط [ greenhonet ]
قوة السمعة:0
قديم 27-12-2014, 08:56 PM المشاركة 2   
افتراضي


السلام عليكم ورحمة الله

مساء الخير

انا طالب جامعه وعندي بكره تسليم هاد المشروع وانا ضايع فيه ، الرجاء من للي بقدر يساعدني يتواصل معي ع الخاص وشكرا

مشروعي هو عباره عن Automatic Fish Feeder using Pic 16F877A
المشروع بدي اعمله بلغة ال C
وسميوليشن ع برنامج البروتوس

هلى فكرة المشروع كالتالي
راح يكون موصل ال بيك على شاشة LCD بتعرض الساعه الرقميه ( الوقت )
والشاشه موصله على 7 سيجمانت بتعمل countdown من ال 4 ل 0 ولما تسير 0 بتفتح البوابه لاخراج الطعام

طبعا البوابه عشان تفتح راح تكون موصله على ستيبر موتور حيشتغل بس يخلص ال countdown

هلى ال countdown تبع ال 7-segmant Display رح يبدأ بس تصير قيمة الساعه المعروضه على ال LCD بنظام ( HH:MM:SS ) اي ساعات H ودقائق M وثواني S بس تصير قيمه معينه ولنفرض مثلا بدي اياها ع الساعه (12:00:00) وعلى الساعه ( 00:00:00) يعني على الساعه 12 ظهرا و 12 مساء ،،

طبعا بدي اياه بس يفتح البوابه يفتحها لمدة خمس ثواني ويرجع يغلقها اتوماتيك
وخلال ال Count down ماتتأثر الساعه للي ع ال LCD وتفضل ماشيه وبعد مايخلص ال Count down يرجع يعمل Reset للقيمه للي كان عليها ال 7 سيجمانت أي ( 4 ) بالباينري استقبالا لل countdown الجديد

البرنامج صعب جدا ، مخي ضرب ، ماعرفت اعمل اشي ،، بكره تسليم السوفت وير للمشروع ،، معتمد على الله ثم عليكم للي معلم بال Pic والبرمجه يساعدني يامهندسين

وانا مابدي اشي جاهز او من النوع للي بس بنقل ، لا بحب اتعب واتعلم ، بس بدي حدا يساعدني ويوجهني ، للي عنده استعداد ولو بكلفه الأمر يسهر معي الليله ويساعدني ،، ياريت يكلمني ع الخاص

وشكرا لجهودكم وتعاونكم

اخوكم عبود السيد - هندسه كهربائيه - سنه رابعه جامعة فيلادلفيا - الأردن
// LCD module connections
sbit LCD_RS at RB0_bit;
sbit LCD_EN at RB1_bit;
sbit LCD_D4 at RB4_bit;
sbit LCD_D5 at RB5_bit;
sbit LCD_D6 at RB6_bit;
sbit LCD_D7 at RB7_bit;

sbit LCD_RS_Direction at TRISB0_bit;
sbit LCD_EN_Direction at TRISB1_bit;
sbit LCD_D4_Direction at TRISB4_bit;
sbit LCD_D5_Direction at TRISB5_bit;
sbit LCD_D6_Direction at TRISB6_bit;
sbit LCD_D7_Direction at TRISB7_bit;
// End LCD module connections


unsigned short sec;
unsigned short minute;
unsigned short hour;
unsigned short day;
unsigned short date;
unsigned short month;
unsigned short year;
unsigned char x;
char time[9];
char ddate[11];

void read_time(){
I2C1_Start();
I2C1_Wr(0xd0);
I2C1_Wr(0);
I2C1_Repeated_Start();
I2C1_Wr(0xd1);
sec=I2C1_Rd(1);
minute=I2C1_Rd(1);
hour=I2C1_Rd(1);
day=I2C1_Rd(1);
date=I2C1_Rd(1);
month=I2C1_Rd(1);
year=I2C1_Rd(0);
I2C1_Stop();
}


unsigned char tr1(unsigned char bcd)
{
return ((bcd >> 4) + 48);
}
unsigned char tr2(unsigned char bcd)
{
return ((bcd & 0x0F) + 48);
}


void tran()
{
time[0]=tr1(hour);
time[1]=tr2(hour);
time[2]=58;
time[3]=tr1(minute);
time[4]=tr2(minute);
time[5]=58;
time[6]=tr1(sec);
time[7]=tr2(sec);
time[8] = '\0';
ddate[0]=tr1(date);
ddate[1]=tr2(date);
ddate[2]=45;
ddate[3]=tr1(month);
ddate[4]=tr2(month);
ddate[5]=45;
ddate[6]=50;
ddate[7]=48;
ddate[8]=tr1(year);
ddate[9]=tr2(year);
ddate[10] = '\0';
}

void savetime(){
delay_ms(20);
sec=((time[6]&0x0f)<<4)+(time[7]&0x0f);
minute=((time[3]&0x0f)<<4)+(time[4]&0x0f);
hour=((time[0]&0x0f)<<4)+(time[1]&0x0f);
I2C1_Start();I2C1_Wr(0xD0);I2C1_Wr(0);
I2C1_Wr(sec);I2C1_Wr(minute);I2C1_Wr(hour);
I2C1_Stop();
delay_ms(20);
}

void check(){
if((hour==0|hour==0x12)&&minute==0&&sec==0){
RC0_bit=1;PORTD=0x6D;}
if((hour==0|hour==0x12)&&minute==0&&sec==0x01){
PORTD=0x66;}
if((hour==0|hour==0x12)&&minute==0&&sec==0x02){
PORTD=0x4F;}
if((hour==0|hour==0x12)&&minute==0&&sec==0x03){
PORTD=0x5B;}
if((hour==0|hour==0x12)&&minute==0&&sec==0x04){
PORTD=0x06;}
if((hour==0|hour==0x12)&&minute==0&&sec==0x05){
RC0_bit=0;PORTD=0x3F;}
}


void main(){

I2C1_Init(100000);
Lcd_Init();
TRISD=0;
PORTD=0x3F;
TRISC5_bit=1;
TRISC6_bit=1;
TRISC7_bit=1;
TRISC0_bit=0;
RC0_BIT=0;

Lcd_Cmd(_Lcd_CLEAR);
Lcd_Cmd(_Lcd_CURSOR_OFF);
Lcd_Out(1, 1, "TIME:");
Lcd_Out(2, 1, "DATE:");

delay_ms(50);
while(1){
read_time();
tran();
Lcd_Out(1,6,time);
Lcd_Out(2,6,ddate);
check();
for(x=0;x<50;x++){
if(rc5_bit==0){while(rc5_bit==0);time[1]++;if(time[1]==58){time[1]=48;time[0]++;};if(time[0]==50&&time[1]==52){time[1]=48;time[0]=48;}savetime();}
if(rc6_bit==0){while(rc6_bit==0);time[4]++;if(time[4]==58){time[4]=48;time[3]++;};if(time[3]==54&&time[4]==48){time[4]=48;time[3]=48;}savetime();}
if(rc7_bit==0){while(rc7_bit==0);time[7]++;if(time[7]==58){time[7]=48;time[6]++;};if(time[6]==54&&time[7]==48){time[7]=48;time[6]=48;}savetime();}
delay_ms(10);
}

} }
roject files
http://uptobox.com/bs535cfdq3kl

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

Abood Alsayed
:: مهندس ::
تاريخ التسجيل: Dec 2014
المشاركات: 7
نشاط [ Abood Alsayed ]
قوة السمعة:0
قديم 24-01-2015, 10:59 AM المشاركة 3   
افتراضي شكرا لك اخوي بس طلب بسيط


يعطيك العافيه اخوي وبوركت جهودك ماقصرت ، بس عندي سؤال الآن
ممكن بالعربي تشرحلي مبدأ عمل الكود للي انتا عامله بشكل عام
ثانيا انا الآن بدي أنفذ المشروع عمليا ( Hardware ) فممكن تحكيلي شو القطع المستخدمه بالبروتس للي لازم اشتريها وشكرا

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 12:52 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025