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

   

محمد يسرى محمد
:: مهندس متميز ::
تاريخ التسجيل: Apr 2010
المشاركات: 525
نشاط [ محمد يسرى محمد ]
قوة السمعة:
قديم 04-09-2010, 04:41 PM المشاركة 25   
افتراضي



م.وسام
فينك
انا مستنيك على احر من الجمر

اعلانات

محمد يسرى محمد
:: مهندس متميز ::
تاريخ التسجيل: Apr 2010
المشاركات: 525
نشاط [ محمد يسرى محمد ]
قوة السمعة:
قديم 04-09-2010, 06:09 PM المشاركة 26   
افتراضي


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

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

زكي شاكر
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: المغرب
المشاركات: 2,945
نشاط [ زكي شاكر ]
قوة السمعة:
قديم 04-09-2010, 08:33 PM المشاركة 27   
Arrow


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


لا فالبرنامج كان فقط في كيفية التعامل مع thermocouple و pic16f877 واضفت ال rs232 فقط من اجل التوضيح اما عن المشروع ككل فاظن انه من الاولى ان تقوم به بنفسك وان شاء الله لما تحتاج المساعدة فهناك الكثير ممن لا يبخلون بمد يد العون في هذا الصرح
هذا ودمت في رعاية الله وحفظه
السلام عليكم
أخي محمد .. متفق مع ما قاله الاخ سامي أعلاه الافضل ان يقوم اي واحد منا بوضع اي مشروع يريده بنفسه بلغة البرمجة التي يتقنها .. وإذا كان لا يتقن تلك اللغة ومبتدئ فيها فلا بد ان يبدأ المشروع على الاقل ويسأل عن التكملة ..
هذه مجرة وجهة نظر أعمل بها ..
لكنني أتفق معك أيضا في ردك هذا:
اخى سامى
انا مبتدئ فى عالم المايكروكنتروللر
ولذلك اطلب المساعدةمن اساتذتى
واكتر طريقة بستفيدمنها فى الشرح
هى وضع برنامج كامل وشرحه
واعتقد ان هناك عدد كبير من الزملاء الذين يتبعون نفس الطريقة
ولذلك عذرا على الحاحى
وارجو منك المساعدة
لان تقديم مشاريع مشروحة بتفصيل يساعد كثيرا على فهم لغة البرمجة ..
اخي انت تطلب البرنامج بالميكروسي وأرجو من خبراء هذه اللغة القوية ان لا يبخلوا عليك بما تطلب.


محمد يسرى محمد
:: مهندس متميز ::
تاريخ التسجيل: Apr 2010
المشاركات: 525
نشاط [ محمد يسرى محمد ]
قوة السمعة:
قديم 04-09-2010, 09:07 PM المشاركة 28   
افتراضي


استاذى العزيز ذكى شاكر
شاكر جدا لمرورك الكريم
ومنتظر الاخ العزيز وسام


diaeldeen
:: مهندس ::
تاريخ التسجيل: Oct 2006
المشاركات: 30
نشاط [ diaeldeen ]
قوة السمعة:
قديم 04-09-2010, 10:13 PM المشاركة 29   
افتراضي


السلام عليكم ورحمة الله وبركاتة
نوع الحساس المستخدم فى قراءة درجة الحرارة
هو ثرموكابل
TYPE
K
وهوة من 0 الى 1200 درجة
ودة انسب حاجة


م.وسام
:: مهندس متواجد ::
تاريخ التسجيل: Aug 2010
الدولة: مكة المكرمة
المشاركات: 50
نشاط [ م.وسام ]
قوة السمعة:
قديم 04-09-2010, 11:13 PM المشاركة 30   
افتراضي


هذا الكود يقوم بالضبط بما تريده
حيث تظهر للمستخدم رسالة Enter the Degree
وبعدها يدخل درجة الحرارة عن طريق كي باد
ثم تظهر رسالة Enter the Time
وبعدها يدخل الوقت بالدقائق (يمكن تغييره لأي وحدة زمن لكن انا وضعته كمثال) عن طريق كي باد
وبعدها يبدا البرنامج بالدخول إلى الفنكشن on
يقوم بتحويل الوقت والدرجة المدخلة إلى أحاد وعشرات
ثم يدخل في لوب بحيث يقراء درجة الحرارة
اذا كانت لا تساوي القيمة المدخلة يقوم بتشغيل البورت D0 والذي يكون مشبوك على الريلاي

حتى تفهم المشروع اكثر ارجوا انك تبحث عن درس تشغيل 46 ريلاي للأستاذي الفاضل أحمد سمير فايد

فقد شرح طريقة استخدام الكي باد وهي نفس الطريقة التي استخدمتها في مشروعك هذا


المشروع قمت بكتابتة ولم اقم بمحاكاته بعد وذلك لضيق الوقت
لكن الكود سليم ان شاء الله ..و ان كان هناك اخطاء فهي في السنتاكس فقط

حتى تجرب الدائرة لا تقم بتشغيلها دفعه واحده عندها ربما لا تعمل ولن تستطيع حل مشكلتها بسهولة

انما قم بتركيب الريلاي أولاً على البورت D وجربه
ثم قم بتركيب ال LCD على البورت B وجربها
ثم قم بتركيب ال Keypad على البورت C وجربها
ثم أخر شئ ركب ADC على بورت A وجربها
اذا اشتغلت كل واحده على حده

عندها جرب البرنامج وستكون متقن للمشروع وتستيطع عمل اي تعديل او حل اي مشكلة فيه

Read more: http://www.qariya.com/vb/newreply.ph...#ixzz0yaq8L4g2

كود:
char m;
char w;
char result=0;
char result_t=0;
char number[]={'x',' ','9','8','7','x','6','5','4','x','3','2','1','x','x','0','x'};
char number2[]={'x',' ',9,8,7,'x',6,5,4,'x',3,2,1,'x','x',0,'x'};
char tens=0,ones=0;
char tens1=0,ones1=0;
unsigned long temp,aa;
int kk;
int x;
char txt[14];

///////////////////////////////// Controlling the relay according to the degree:
void on() {
           result=(tens*10)+ones;
           result_t=(tens1*10)+ones1;
           if(result>99 || result<1){Lcd_Cmd(Lcd_Clear);lcd_out_cp("error");delay_ms(1000);return;}
           x=result_t/60;
            while(1)
             {

            for(x=0; x<result_t; x--){
                                      delay_ms(1000);
                                      temp=adc_read(0);
                                      temp=(temp*5000)>>10;
                                      temp=temp/10;
                                      longToStr(temp,txt);
                                      lcd_out(1,1,"temp = ");
                                      lcd_out(2,1,txt);

                                      lcd_chr_cp('C');
                                      delay_ms(500);
                                      lcd_cmd(lcd_clear);

             if(temp<result)
                        {
                         portd.f0=1;
                        }else {portd.f0=0;}
                 }
             }

          }

void main()
{
adcon1=0b00001110; // using Port A as analog to digital converting
trisa=0xff;// using Port A as in put
trisd=0;
Keypad_Init(&PORTC); // Using Port C for Keypad
lcd_init(&portb);    // Using POrt B for LCD
lcd_cmd(LCD_CURSOR_OFF);
lcd_out(1,1,"Enter the Degree");
lcd_out(2,1,"    C");

/////////////////////////////////////Entering Degree

loop:                 //testing the first pushing down
m=keypad_read();
if(m==0)      {goto loop;}
else if(m==14){goto loop;}
else if(m==16){Lcd_Cmd(Lcd_Clear);goto loop;}
else          {Lcd_Cmd(Lcd_Clear);tens=number2[m];lcd_chr_cp(number[m]);delay_ms(500);}

test2:               //testing the second pushing down
m=keypad_read();
if(m==0)      {goto test2;}
else if(m==14){ones=tens;tens=0;on();goto test3;}
else if(m==16){Lcd_Cmd(Lcd_Clear);goto loop;}
else          {ones=number2[m];lcd_chr_cp(number[m]);delay_ms(500);}

test3:             //testing the third pushing down
m=keypad_read();
if(m==0)      {goto test3;}
else if(m==14){goto loop2;}
else if(m==16){Lcd_Cmd(Lcd_Clear);goto loop;}
else          {goto test3;}
}

/////////////////////////////////// Entering Time by mints


loop2:                 //testing the first pushing down
lcd_cmd(lcd_clear);
lcd_out(1,1,"Enter the Time");
w=keypad_read();
if(w==0)      {goto loop2;}
else if(w==14){goto loop2;}
else if(w==16){Lcd_Cmd(Lcd_Clear);goto loop;}
else          {Lcd_Cmd(Lcd_Clear);tens1=number2[m];lcd_chr_cp(number[m]);delay_ms(500);}

test2:               //testing the second pushing down
w=keypad_read();
if(w==0)      {goto test2;}
else if(w==14){ones1=tens;tens1=0;on();goto test3;}
else if(w==16){Lcd_Cmd(Lcd_Clear);goto loop;}
else          {ones=number2[m];lcd_chr_cp(number[m]);delay_ms(500);}

test3:             //testing the third pushing down
w=keypad_read();
if(w==0)      {goto test3;}
else if(w==14){on();}
else if(w==16){Lcd_Cmd(Lcd_Clear);goto loop;}
else          {goto test3;}
}


الصورة الرمزية SAMI-ALG
SAMI-ALG
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2009
الدولة: الجزائر
المشاركات: 199
نشاط [ SAMI-ALG ]
قوة السمعة:
قديم 05-09-2010, 12:21 AM المشاركة 31   
افتراضي


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

بالنسبة للنوع فهو مثل ماذكره الاخ diaeldeen

اما عن السعر فالله اعلم كم سعره بالضبط

وفقط كتوضيح فاللغة المستحدمة في البرمجة ليست ال mikroc وانما ال ccs

هذا ودمت في رعاية الله وحفظه


محمد يسرى محمد
:: مهندس متميز ::
تاريخ التسجيل: Apr 2010
المشاركات: 525
نشاط [ محمد يسرى محمد ]
قوة السمعة:
قديم 05-09-2010, 01:31 AM المشاركة 32   
Thumbs up


الف شكر يا بشمهندس وسام
الحمد لله الكود تمام
ولكن لسه مجربتوش على البروتيوس
وده اللى حعمله وان شاء الله حبلغك بالنتيجة
فى سؤال بسيط
انت حطيت لدرجة الحرارة رقمين فقط
ones tens
وانا اريد الحرارة من 0 الى 1000 درجة
ومعنى ذلك انى حزود متغيرين
وعموما انا مش عايز ازعجك بعد المجهود الى انت عملته معايا
وعشان كده انا حجرب وابلغك
سلام



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