هل الفرق نسبة أم قيمة مطلقة؟؟ و ما هى اللغة المستخدمه؟؟
لو نسبة يكون
|
السلام عليكم ورحمة الله
شكرااا جزيلا علي الإهتمام ..
أولا اللغه المستخدمه ...." ميكرو سي برو فور بيك " " mikroc pro for pic "
وطريقة المقارنة .. هي بالنسبه % ..
الموضوع بإختصار ودون اطالة ...
هو استخدام المقاومه الضوئيه .. فى مشروع تحسس للحركة ..
وفكرة الكود هي ..
كود:
// PIC12F675 //
unsigned timer=0,m=0,x =0,temp=0;
/*#define LED1_ON GP4_bit = 1;
#define LED2_ON GP5_bit = 1;
#define LED3_ON GP2_bit = 1;
#define LED4_ON GP1_bit = 1;
#define LED1_OF GP4_bit = 0;
#define LED2_OF GP5_bit = 0;
#define LED3_OF GP2_bit = 0;
#define LED4_OF GP1_bit = 0;*/
#define allof GP4_bit = 0; GP5_bit = 0; GP2_bit = 0; GP1_bit = 0;
//********************************************************************//
// Start here
void main() {
TRISIO = 1;
ADC_Init();
allof
//GPIO = 54; delay_ms(5000);
for(m=0;m<5;m++)
{
GPIO = 32; delay_ms(250); allof delay_ms(250); // M < 0.9X ||M >1.1X
}
while(1) {
temp = ADC_Read(0); // Read analog value from channel 0
delay_ms(2);
x = temp ;
delay_ms(2);
for(m=0;m<250;m++) {
delay_ms(1);
temp= ADC_Read(0); // Read analog value from channel 0
if( !!!!!!!!!!!!!!!! ){ GPIO = 32; for(m=0;m<50;m++){delay_ms(2);} GPIO = 0; }
}
}
}
يوجد عدد 2 متغير الأول اسمه "
والثاني "
أولا في بداية البرنامج يبأ في تنفيذ برنامج فلاش داخل حلقة FOR وبعد الخروج من حلقة FOR يدخل الى حلقة
لا نهائية ..
ومن ثم قرأة الإشارة الموجودة علي المدخل محول الإشارة ADC وحفظ القيمة فى متغير
كود:
temp = ADC_Read(0); // Read analog value from channel 0
وبعد ذالك نسخ محتويات المتغير
الى المتغير
وبعد ذالك الدخول في حلقة FOR القرأة مرة ثانيه من حول الإشارة ADC وحفظ القيمه فى المتغير
وبعد ذالك ... يوجد أمر شرط ..
والي هنا نأتي الي أهم نقطة في البرنامج ....
وهي اريد عمل مقارنة بين المتغير temp و المتغير X إذا ذادت نسبة المتغير temp أو نقصت بنسبة 10 % يتحقق الشرط
كود:
if( !!!!!!!!!!!!!!!! ){ GPIO = 32; for(m=0;m<50;m++){delay_ms(2);} GPIO = 0; }
وفكرة المشروع هو كما نعرف أن المقاومة الضوئية تتغير بشدة الضوء الواقع عليها ..
وهنا فى البرنامج المستخدم عنما يعمل يأخذ القيمه الفولتية الخارجه من المقاومه وتبديلها من إشارة تماثلية الى دجيتال .. وحفظ قيمتها داخل متغير temp ... و نسخ قيمة المتغير temp الي المتغير X
وهنا ندخل فى قرأة الإ شارة التماثلية من جديد ومقارنتها مع المتغير X الذى يحمل نفس قيمة المتغير temp وهنا إيذا قطع أحد الأشخاص المقاومه الضوئيه .. وحدث تغير فى الضوء الواقع عليها سوف تتغير قيمه المتغير temp ويتحقق الشرط ... ويضئ الليد أو جهاز الإنذار ...
..
وشكراااا جزيلا لك أخى ...
كان نفسي اساعد لكن ما فهمت ما تريد ؟
ممكن شرح الحالة بمثال اوضح !
|
لحرصك على تقديم الدعم ..