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

   

zeina_moh
:: مهندس ::
تاريخ التسجيل: Jun 2014
المشاركات: 9
نشاط [ zeina_moh ]
قوة السمعة:
قديم 24-06-2014, 03:28 PM المشاركة 145   
افتراضي



بسم الله الرحمن الرحيم
اللهم صلي على محمد وال بيته الطيبين الطاهرين
اخي كريم هذا مشروع لساعه رقميه قابله للضبط وبأستخدام مكتبه جديده لــ ds1307 فائده هذه مكتبه بأنها تحفظ البيانات بنظام 12 او 24 لاننا نتعامل مع ذاكره ds1307 على عكس مكتبه القديمه التي كنت أستنتجها وبتالي تحتاج اعاده ضبط في كل مره ينطفئ فيها ساعه
كما انه في مكتبه جديده أصبح بالامكان تعديل على رقم بسهوله مثلا عندما تصل بدقاءق الى 50 وتريد ان تصل الى 0 فأبمكان استمرار بزياده رقم الى ان يصل الى 0 ومن ثم يستمر بزياده عكس مكتبه قديمه تتوقف عند 59 وهكذا للبقيه

كما انني لايحتاج تعريف متغيرات مكتبه جديده أطلاقا فقط تحتاح تعريف مداخلها

مشروع تم وضع تعليق وفي حاله عدم فهم امر اما ارجو وضع الكود ونشرحه لكم
http://arabsh.com/files/0c334c426df4...سكمنت-rar.html

طبعا يختلف عن مشروع الذي وضعتموه هنا ان عرض يتبدل في كل 10 ثواني بين وقت وتاريخ في هذا مشروع يعتمد على مستخدم بأستخدام سويج مربوط على RA3
كما انه في مشروع سابق فقط تظهر ساعه بنظام 12 اما في هذا مشروع تظهر بنظام 12 او 24 مع ظهور علامه A تعني AM و علامه P تعني PM و علامه C تعني نظام 24

تحياتي الطيبه لكم
أخي هذا الرابط ايضا لا يعمل عند ممكن وضع رابط اخر على http://up.top4top.net ولكم جزيل الشكر

اعلانات

derkaoui849
:: مهندس ::
تاريخ التسجيل: May 2006
المشاركات: 27
نشاط [ derkaoui849 ]
قوة السمعة:
قديم 24-06-2014, 03:41 PM المشاركة 146   
افتراضي


السلام عليكم ورحمة الله وبركاته
اخي الكريم حسن هادي محمود ممكن شرح
void InitTimer1(){
T1CON = 0x01;
TMR1IF_bit = 0;
TMR1H = 0xF0;
TMR1L = 0x60;
TMR1IE_bit = 1;
INTCON = 0xC0;
}

//************************ read from computer ******************************//
void Interrupt()
{

if ( TMR1IF_bit)
{
TMR1IF_bit = 0;
TMR1H = 0xF0;
TMR1L = 0x60;
//Enter your code here
ggg++;
cont++;
time_ds18x20++;
transfer_display_cont++;
if(sw_set_flag==1)sw_set_cont++;
if(sw_inc_flag==1)sw_inc_cont++;
if(sw_dec_flag==1)sw_dec_cont++;
}

}

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

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 24-06-2014, 04:33 PM المشاركة 147   
افتراضي


السلام عليكم ورحمة الله وبركاته
اخي الكريم حسن هادي محمود ممكن شرح
void InitTimer1(){
T1CON = 0x01;
TMR1IF_bit = 0;
TMR1H = 0xF0;
TMR1L = 0x60;
TMR1IE_bit = 1;
INTCON = 0xC0;
}

//************************ read from computer ******************************//
void Interrupt()
{

if ( TMR1IF_bit)
{
TMR1IF_bit = 0;
TMR1H = 0xF0;
TMR1L = 0x60;
//Enter your code here
ggg++;
cont++;
time_ds18x20++;
transfer_display_cont++;
if(sw_set_flag==1)sw_set_cont++;
if(sw_inc_flag==1)sw_inc_cont++;
if(sw_dec_flag==1)sw_dec_cont++;
}

}
هذا الكود انتربت للتايمر1 وهنا اريد حصول على ازمنه للسويجات وغيرها يعني انت لما تضغط على سويج لابد من انتظار فتره وبعدها مايكرو ينفذ اوامر مثلا نقول 250ms ولكن هذا الزمن يعرقل عمل سفن سكمنت وعلاوه على ذلك لاينفذ مايكرو شيئ خلال فتره تأخير وعليه أستخدمنا تايمر 1 للتوليد ازمنه وهنا لما اضغط على سويج مثلا sw_set عندها اخبره اجعل sw_set_flag=1 ومتغير )sw_set_cont يقوم بأحتساب زمن مثلا 250ms هذه طريقه
1- لاتؤخر عمل مايكرو
2- لايؤثر على عمل سفن سكمنت

ولكن كيف يحتسب زمن مثى 250ms
في مشروع الذي ارفقته لك يحدث انتربت كل 2ms وبتالي للحصول على زمن 250ms اذن متغير sw_set_cont=250/2=125
وفي الكود نختبر هل sw_set_cont اصبح اكبر من 125 فأذا كان نعم قم بتنفيذ اوامر سويج
كما أخبرتك توليد ازمنه بهذه طريقه يجعل مايكرو يقوم بعده مهام دون ان تؤثر احدهما اخرى افضل من أستخدام الامر delay الذي يجمد مايكرو ولا يدعه بالقيام بوظائف اخرى كأن مثلا عندما ضغطت على سويج تريد اثناء ذلك يراقب درجه حراره وبالطبع استخدام الامر delay راح يجبر مايكرو على انتظار اما توليد زمن عبر انتربت فلا يؤخر مايكرو عمله
تحياتي


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 24-06-2014, 04:43 PM المشاركة 148   
افتراضي


هو حسب منطقة الجولان

مثلا عند الخروج من المدينة الى مدينة اخرى وهدا الميلغ يضاف للدهاب
الى مدينة اخرى خهارج المنطقة التي يعمل بها
السلام عليكم
تمت اضافه سويج اضافه السعر
https://www.mediafire.com/?t3o82tg96vk3ck3

الاكواد التي اضيفت
كود:
const char add_price=200;
وهذا يمثل السعر المضاف

==============================================

كود:
 if(old_add_price==1 && sw_add_price==1)
                                               {
                                                flag_add_price=1;
                                                old_add_price=0;
                                               }
وضمن داله انتربت

كود:
 if(flag_add_price==1)add_price_cont++;


كود:
if(add_price_cont>125)//waitting 0.250 sec
                              {
                               add_price_cont=0;
                               flag_add_price=0;
                               value_start +=add_price;
                               value_start_old +=add_price;//update value

                              }
value_start +=add_price هذا يعني قم بأضافه سعر الى value_start
طبعا هذا الكود في حاله سياره متوقفه ولكن اذا كانت السياره متحركه فهنا معادله value_start سوف تتحدث وعليه علينا اضافه السعر الى متغير جديد اسمه value_start_old

value_start_old +=add_price;//update value
===============================================

طبعا يوجد تحديث في داله
كود:
void calculate_price()
{

  // value_start=125 start value
 // car is stop then Price =125  , add 30 every 10sec
 // car running then Price =125  , add 30 every 100 meter
 // speed =m/s, speed =no. puls per second . then if speed=100 add to Price 30
 update_data();

 if(Price_change==0)// Price value start from 125
                  {
                   if(speed1>1   ){    // ex if distance =150m then distance/100=1  and must be put 50 in distance not put 0
                                            value_start=value_start_old+(chot1*(distance_price/100)) ;
                                            Price_cont =0;
                                  }
                    else if( Price_cont>=3500){
                                                 price_cont=0;
                                                 value_start +=chot1;
                                                 value_start_old=value_start;//update value
                                              }
                  }
 else if(Price_change==1) // Price value start from 200
                         {
                          if(speed1>1 ) // ex if distance =150m then distance/100=1  and must be put 50 in distance not put 0
                                                 {
                                                   value_start =value_start_old+ (chot2*(distance_price /100));
                                                   Price_cont=0;
                                                 }
                          else if(Price_cont>=3500){
                                                     price_cont=0;
                                                     value_start +=chot2;
                                                     value_start_old=value_start;//update value
                                                   }
                         }
 if( value_start>=999999)
                         {
                          value_start=999999;
                          led_full_price=1;
                          price_enable=1;
                         }
 Price_array(value_start);

 check_price=0;

}


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 24-06-2014, 05:18 PM المشاركة 149   
افتراضي


أخي هذا الرابط ايضا لا يعمل عند ممكن وضع رابط اخر على http://up.top4top.net ولكم جزيل الشكر
السلام عليكم
جرب هذا الرابط
http://up.top4top.net/downloadf-top4...ac531-rar.html


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 24-06-2014, 08:11 PM المشاركة 150   
افتراضي


أخي الكريم أنا وبعون الله لقد رسمت المخطط على برنامج Eagle v6.4
schematic فقط
لكن لم ارسم الPCB بعد الرجاء التاكد من المخطط قبل المتابعة ولكم جزيل الشكر أخوكم بالله المهندس محمد حسن


السلام عليكم
مخطط جميل ولكن سويجات فيها مشكله وهي اما تكون pullup او pull downولكن اخي لم أتعامل مع مايكروكنترولر غير البك

تحياتي


ahmadazez
:: مهندس جيد ::
تاريخ التسجيل: Mar 2009
المشاركات: 251
نشاط [ ahmadazez ]
قوة السمعة:
قديم 25-06-2014, 02:29 AM المشاركة 151   
افتراضي


أخي الكريم بعون الله إنتهاء الرسم الSchematic و الPCB و هذا رابط فيه صورة عن المشروع

بسم الله الرحمن الرحيم
هذه ملفات المشروع على ATMEGA8
ولكن هذا البرنامج بمنبه واحد لعدم سعة ذاكرة المايكرو ويمكن توسيعه كحد اقصى الى منبهين اما على ATMEGA 16 فيوجد به ثلاث منبهات وعندما افرغ من بعض الاعمال ساضيف عليه امكانية التحكم بعدة مخارج عن طريق الوقت والحرارة ايضا حسب توصية الشركات الصانعة للمتكاملات عليك اضافة مكثفات 100NF بين كل طرفي تغذية لاي متكاملة وللمايكروكونترولر

http://up.top4top.net/downloadf-top4...84fd1-rar.html


التعديل الأخير تم بواسطة : ahmadazez بتاريخ 25-06-2014 الساعة 02:45 AM

zeina_moh
:: مهندس ::
تاريخ التسجيل: Jun 2014
المشاركات: 9
نشاط [ zeina_moh ]
قوة السمعة:
قديم 25-06-2014, 09:54 AM المشاركة 152   
Wink


بسم الله الرحمن الرحيم
هذه ملفات المشروع على ATMEGA8
ولكن هذا البرنامج بمنبه واحد لعدم سعة ذاكرة المايكرو ويمكن توسيعه كحد اقصى الى منبهين اما على ATMEGA 16 فيوجد به ثلاث منبهات وعندما افرغ من بعض الاعمال ساضيف عليه امكانية التحكم بعدة مخارج عن طريق الوقت والحرارة ايضا حسب توصية الشركات الصانعة للمتكاملات عليك اضافة مكثفات 100NF بين كل طرفي تغذية لاي متكاملة وللمايكروكونترولر

http://up.top4top.net/downloadf-top4...84fd1-rar.html
مشكور أخي الكريم لا يوجد مشكلة أنا لا أكتب باللغة C (Codevision()
أما بالنسبة للمشروع كان في البداية PIC من بعد ذلك ATmega8 ثم PIC لا يوجد مشكلة أنا ساكتب برنامج بالBascom واحمله على المنتدى اذا كان ممكن ارسم لكم مشروع الPIC وانا بالخدمة.
اما بالنسبة لتوصيل مشكور اخي الكريم بارك الله فيك ووفقاكم لما يحبه ويرضاه



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