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

   

hassan.pic
:: مهندس متميز ::
تاريخ التسجيل: Aug 2016
المشاركات: 300
نشاط [ hassan.pic ]
قوة السمعة:
قديم 08-11-2016, 11:06 PM المشاركة 449   
افتراضي



تجربة الكود (111),
السلام عليكم اخي العزيز جربت الكود ،والنتيجة اذا قللنا التعديل تحت 50, لاتكتمل الدائرة واذا زودنا فوق 50 ،تكتمل الدائرة وعند وصول الذورة الاولي الي نهايتها تبدإ الحروف بالوميض وتضهر كلمة اخري غيرها خلفها مع وميض. وارسلت لك فيديو يضهر ذالك ، مع ملاحظة ان الحروف في اول دورة رائعة جدا ، حياك الله اخي وبارك الله فيك

اعلانات

hassan.pic
:: مهندس متميز ::
تاريخ التسجيل: Aug 2016
المشاركات: 300
نشاط [ hassan.pic ]
قوة السمعة:
قديم 08-11-2016, 11:51 PM المشاركة 450   
افتراضي


تجربة الكود(112), حياك الله اخي العزيز، بالتجربة لم يضهر اي شي ،

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

مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 619
نشاط [ مشتاق الله ]
قوة السمعة:
قديم 09-11-2016, 09:59 AM المشاركة 451   
sun


بسم الله الرحمن الرحيم

السلام عليكم و رحمة الله و بركاته
توكل على الله الذى لا اله الا هو و جرب هذا ايضا :
يا رب
فان مع العسر يسرا , ان مع العسر يسرا ... فرج الله قريب
باذن الله اقتربنا

الكود ( 113) :

كود:
void step_Move(char step);
char i = 0 , START_flag = 0 , RELOAD_flag = 0 ;
char stepdelay = 0;
unsigned int  numbofturns = 0;

char letter_M[] = {0xfe,0xfe,0x60,0x30,0x60,0xfe,0xfe};
char letter_i[] = { 0x00,0x82,0xfe,0xfe,0x82,0x00,0x00};
char letter_c[] = { 0x38,0x7c,0xc6,0x82,0x82,0xc6,0x44};
char letter_R[] = {0x82,0xfe,0xfe,0x98,0x9c,0xf6,0x62};
char letter_O[] = {0X38,0X7C,0XC6,0X82,0XC6,0X7C,0X38};
char letter_p[] = { 0x82,0xfe,0xfe,0x92,0x90,0xf0,0x60};
char letter_Rr[] = { 0x82,0xfe,0xfe,0x98,0x9c,0xf6,0x62};

void interrup() iv IVT_ADDR_PCINT0 ics ICS_AUTO {
 PCIFR.PCIF0 = 1;
 if ((PINB & 0X02) && (START_flag == 0) ) {START_flag = 1;}
 else if ((PINB & 0X02) && (START_flag == 1) ) {RELOAD_flag = 1;}
}

void step_Move(char step){
 for (i=0; i< step; i++){
     delay_us(600);       //
 }
}

void main() {
DDRD = 0XFF;
PORTD = 0;
DDRB = 0XFD;
PORTB = 2;

SREG_I_bit = 1;
PCICR |= 1<<PCIE0;
PCMSK0 |= 1<<PCINT1;
while(1){
stepdelay = 0;
numbofturns = 0;

while( 1){
   if(START_flag == 1){
          numbofturns++;
          if (numbofturns == 4 ) {
             numbofturns = 0;
             stepdelay++;
          }
          step_Move(stepdelay);

          for(i=0; i<7; i++){PORTD=letter_M[i]; if (RELOAD_flag == 1){PORTD = 0; break ; }
                              delay_us(300);
                             }

          if (RELOAD_flag == 1) {RELOAD_flag = 0;
                                 if (i <=1){break;}
                                 continue;
                                }
          PORTD=0; delay_us(1200);

      for(i=0; i<7; i++){PORTD=letter_I[i]; if (RELOAD_flag == 1) {PORTD = 0; break ;} delay_us(300);}
          if (RELOAD_flag == 1) {RELOAD_flag = 0; continue;}
          PORTD=0; delay_us(1200);

          for(i=0; i<7; i++){PORTD=letter_C[i]; if (RELOAD_flag == 1) {PORTD = 0; break ;} delay_us(300);}
          if (RELOAD_flag == 1) {RELOAD_flag = 0; continue;}
          PORTD=0; delay_us(1200);

         for(i=0; i<7; i++){PORTD=letter_R[i]; if (RELOAD_flag == 1) {PORTD = 0; break ;} delay_us(300);}
          if (RELOAD_flag == 1) {RELOAD_flag = 0; continue;}
          PORTD=0; delay_us(1200);

          for(i=0; i<7; i++){PORTD=letter_O[i]; if (RELOAD_flag == 1) {PORTD = 0; break ;} delay_us(300);}
          if (RELOAD_flag == 1) {RELOAD_flag = 0; continue;}
          PORTD=0; delay_us(1200);

          for(i=0; i<7; i++){PORTD=letter_P[i]; if (RELOAD_flag == 1) {PORTD = 0; break ;} delay_us(300);}
          if (RELOAD_flag == 1) {RELOAD_flag = 0; continue;}
          PORTD=0; delay_us(1200);

          for(i=0; i<7; i++){PORTD=letter_Rr[i]; if (RELOAD_flag == 1) {PORTD = 0; break ;} delay_us(300);}
          if (RELOAD_flag == 1) {RELOAD_flag = 0; continue;}
          PORTD=0; delay_us(1200);

          START_flag = 0;
       }
    }
    START_flag = 0;
 }
}


الكود (114) :
كود:
void step_Move(char step);
char i = 0 , START_flag = 0 , RELOAD_flag = 0 ;
char stepdelay = 0;
unsigned int  numbofturns = 0;

char letter_M[] = {0xfe,0xfe,0x60,0x30,0x60,0xfe,0xfe};
char letter_i[] = { 0x00,0x82,0xfe,0xfe,0x82,0x00,0x00};
char letter_c[] = { 0x38,0x7c,0xc6,0x82,0x82,0xc6,0x44};
char letter_R[] = {0x82,0xfe,0xfe,0x98,0x9c,0xf6,0x62};
char letter_O[] = {0X38,0X7C,0XC6,0X82,0XC6,0X7C,0X38};
char letter_p[] = { 0x82,0xfe,0xfe,0x92,0x90,0xf0,0x60};
char letter_Rr[] = { 0x82,0xfe,0xfe,0x98,0x9c,0xf6,0x62};

void interrup() iv IVT_ADDR_PCINT0 ics ICS_AUTO {
 PCIFR.PCIF0 = 1;
 if ((PINB & 0X02) && (START_flag == 0) ) {START_flag = 1;}
 else if ((PINB & 0X02) && (START_flag == 1) ) {RELOAD_flag = 1;}
}

void step_Move(char step){
 for (i=0; i< step; i++){
     delay_us(600);       //
 }
}

void main() {
DDRD = 0XFF;
PORTD = 0;
DDRB = 0XFD;
PORTB = 2;

SREG_I_bit = 1;
PCICR |= 1<<PCIE0;
PCMSK0 |= 1<<PCINT1;
while(1){
 if (START_flag == 1){
          numbofturns++;
          if (numbofturns == 4 ) {
             numbofturns = 0;
             stepdelay++;
          }
          step_Move(stepdelay);

          for(i=0; i<7; i++){PORTD=letter_M[i]; if (RELOAD_flag == 1){  if(i<=1){stepdelay = 0; numbofturns = 0;}
                                                                        PORTD = 0;
                                                                        break ;
                                                                      }
                              delay_us(300);
                             }

          if (RELOAD_flag == 1) {RELOAD_flag = 0;
                                 continue;
                                }
          PORTD=0; delay_us(1200);

          for(i=0; i<7; i++){PORTD=letter_I[i]; if (RELOAD_flag == 1) {PORTD = 0; break ;} delay_us(300);}
          if (RELOAD_flag == 1) {RELOAD_flag = 0; continue;}
          PORTD=0; delay_us(1200);

          for(i=0; i<7; i++){PORTD=letter_C[i]; if (RELOAD_flag == 1) {PORTD = 0; break ;} delay_us(300);}
          if (RELOAD_flag == 1) {RELOAD_flag = 0; continue;}
          PORTD=0; delay_us(1200);

         for(i=0; i<7; i++){PORTD=letter_R[i]; if (RELOAD_flag == 1) {PORTD = 0; break ;} delay_us(300);}
          if (RELOAD_flag == 1) {RELOAD_flag = 0; continue;}
          PORTD=0; delay_us(1200);

          for(i=0; i<7; i++){PORTD=letter_O[i]; if (RELOAD_flag == 1) {PORTD = 0; break ;} delay_us(300);}
          if (RELOAD_flag == 1) {RELOAD_flag = 0; continue;}
          PORTD=0; delay_us(1200);

          for(i=0; i<7; i++){PORTD=letter_P[i]; if (RELOAD_flag == 1) {PORTD = 0; break ;} delay_us(300);}
          if (RELOAD_flag == 1) {RELOAD_flag = 0; continue;}
          PORTD=0; delay_us(1200);

          for(i=0; i<7; i++){PORTD=letter_Rr[i]; if (RELOAD_flag == 1) {PORTD = 0; break ;} delay_us(300);}
          if (RELOAD_flag == 1) {RELOAD_flag = 0; continue;}
          PORTD=0; delay_us(1200);

          START_flag = 0;

    }
 }
}



و ما توفيقى الا بالله
و لا حول و لا قوة الا بالله
اللهم صبرك و نصرك




hassan.pic
:: مهندس متميز ::
تاريخ التسجيل: Aug 2016
المشاركات: 300
نشاط [ hassan.pic ]
قوة السمعة:
قديم 09-11-2016, 05:15 PM المشاركة 452   
افتراضي


تجربة الكود الجديد(113/114):
السلام عليكم اخي العزيز ، قمت بتجربة الكودين واعطوني نفس النتيجة وهي عند انتهاء الدورة الاولي تقفز الحروف مباشرة الي الدورة الثانية والغريب بالامر بان الكود ممتاز وعند التجريب تختلف الامور فاين السرواليوم باذن الله ساحاول ان ارسل لك مقطع يضهر لك ذلك ،ودمت بامان الله ياطيب


مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 619
نشاط [ مشتاق الله ]
قوة السمعة:
قديم 09-11-2016, 09:39 PM المشاركة 453   
sun


تجربة الكود الجديد(113/114):
السلام عليكم اخي العزيز ، قمت بتجربة الكودين واعطوني نفس النتيجة وهي عند انتهاء الدورة الاولي تقفز الحروف مباشرة الي الدورة الثانية والغريب بالامر بان الكود ممتاز وعند التجريب تختلف الامور فاين السرواليوم باذن الله ساحاول ان ارسل لك مقطع يضهر لك ذلك ،ودمت بامان الله ياطيب
الفيديو ممتاز لكن كنت اريد معرفة اين موقع الحساس :
هل هو فى مواجهة الكاميرا ام ناحية الحائط ام ناحية الشاشة ام الناحية المتبقية.

على ما يبدو ان مشكلة القفزات و الومضات انتهت و الحمد لله , اليس كذلك؟


hassan.pic
:: مهندس متميز ::
تاريخ التسجيل: Aug 2016
المشاركات: 300
نشاط [ hassan.pic ]
قوة السمعة:
قديم 09-11-2016, 09:51 PM المشاركة 454   
افتراضي


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


مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 619
نشاط [ مشتاق الله ]
قوة السمعة:
قديم 09-11-2016, 10:10 PM المشاركة 455   
sun


بسم الله الرحمن الرحيم

السلام عليكم و رحمة الله و بركاته
توكل على الله الذى لا اله الا هو و جرب هذا ايضا :
يا رب
فان مع العسر يسرا , ان مع العسر يسرا ... فرج الله قريب

الكود 115 :
كود:
void step_Move(char step);
char i = 0 , START_flag = 0 , RELOAD_flag = 0 ;
char stepdelay = 0;
unsigned int  numbofturns = 0;

char letter_M[] = {0xfe,0xfe,0x60,0x30,0x60,0xfe,0xfe};
char letter_i[] = { 0x00,0x82,0xfe,0xfe,0x82,0x00,0x00};
char letter_c[] = { 0x38,0x7c,0xc6,0x82,0x82,0xc6,0x44};
char letter_R[] = {0x82,0xfe,0xfe,0x98,0x9c,0xf6,0x62};
char letter_O[] = {0X38,0X7C,0XC6,0X82,0XC6,0X7C,0X38};
char letter_p[] = { 0x82,0xfe,0xfe,0x92,0x90,0xf0,0x60};
char letter_Rr[] = { 0x82,0xfe,0xfe,0x98,0x9c,0xf6,0x62};

void interrup() iv IVT_ADDR_PCINT0 ics ICS_AUTO {
 PCIFR.PCIF0 = 1;
 if ((PINB & 0X02) && (START_flag == 0) ) {START_flag = 1;}
 else if ((PINB & 0X02) && (START_flag == 1) ) {RELOAD_flag = 1;}
}

void step_Move(char step){
 for (i=0; i< step; i++){
     delay_us(600);       //
 }
}

void main() {
DDRD = 0XFF;
PORTD = 0;
DDRB = 0XFD;
PORTB = 2;

SREG_I_bit = 1;
PCICR |= 1<<PCIE0;
PCMSK0 |= 1<<PCINT1;
while(1){
 if (START_flag == 1){
    SREG_I_bit = 1;
          numbofturns++;
          if (numbofturns == 4 ) {
             numbofturns = 0;
             stepdelay++;
          }
          step_Move(stepdelay);

          for(i=0; i<7; i++){PORTD=letter_M[i]; if (RELOAD_flag == 1){ SREG_I_bit = 0;
                                                                       if(i<=1){stepdelay = 0; numbofturns = 0;}
                                                                       PORTD = 0;
                                                                       break ;
                                                                      }
                              delay_us(300);
                             }

          if (RELOAD_flag == 1) {RELOAD_flag = 0;
                                 continue;
                                }
          PORTD=0; delay_us(1200);

          for(i=0; i<7; i++){PORTD=letter_I[i]; if (RELOAD_flag == 1) {PORTD = 0; SREG_I_bit = 0;break ;} delay_us(300);}
          if (RELOAD_flag == 1) {RELOAD_flag = 0; continue;}
          PORTD=0; delay_us(1200);

          for(i=0; i<7; i++){PORTD=letter_C[i]; if (RELOAD_flag == 1) {PORTD = 0; SREG_I_bit = 0;break ;} delay_us(300);}
          if (RELOAD_flag == 1) {RELOAD_flag = 0; continue;}
          PORTD=0; delay_us(1200);

         for(i=0; i<7; i++){PORTD=letter_R[i]; if (RELOAD_flag == 1) {PORTD = 0; SREG_I_bit = 0;break ;} delay_us(300);}
          if (RELOAD_flag == 1) {RELOAD_flag = 0; continue;}
          PORTD=0; delay_us(1200);

          for(i=0; i<7; i++){PORTD=letter_O[i]; if (RELOAD_flag == 1) {PORTD = 0;SREG_I_bit = 0; break ;} delay_us(300);}
          if (RELOAD_flag == 1) {RELOAD_flag = 0; continue;}
          PORTD=0; delay_us(1200);

          for(i=0; i<7; i++){PORTD=letter_P[i]; if (RELOAD_flag == 1) {PORTD = 0;SREG_I_bit = 0; break ;} delay_us(300);}
          if (RELOAD_flag == 1) {RELOAD_flag = 0; continue;}
          PORTD=0; delay_us(1200);

          for(i=0; i<7; i++){PORTD=letter_Rr[i]; if (RELOAD_flag == 1) {PORTD = 0;SREG_I_bit = 0; break ;} delay_us(300);}
          if (RELOAD_flag == 1) {RELOAD_flag = 0; continue;}
          PORTD=0; delay_us(1200);

          START_flag = 0;

    }
 }
}

و ما توفيقى الا بالله
و لا حول و لا قوة الا بالله
اللهم صبرك و نصرك





hassan.pic
:: مهندس متميز ::
تاريخ التسجيل: Aug 2016
المشاركات: 300
نشاط [ hassan.pic ]
قوة السمعة:
قديم 10-11-2016, 05:52 PM المشاركة 456   
افتراضي


تجربة الكود (115),
السلام عليكم اخي العزيز مشتاق الله ، قمت بتجربة الكود والنتيجة عند انتهاء الدورة الالي تفز الحروف فورا للدورة الثانية ، ولاتضحك علي قمت بتعديل للكود حيث قمت بتعريف متغير، char hassan; وقمت بالغاء التعديل بالموضوع بالحرف M وقمت بتشكيل حلقة تكرارية تبدا بالحرف M وتنتهي بالحرف R كالتالي تبدا ،hassan: وتنتهي بgoto hassan;والنتيجةعند التشغيل تضهر الدائرة كلها احرف متكررة وتمشي خلف بعض وتتلاشي الاحرف حرف تلو الاخز مثل الثعبان علي حرف السنسور الي ان تتلاشي نهائيا بدون اي وميض او اي شي وبعد حوالي دقيقة تضهر فجاة وهي تتحرك وتتلاشي حرف تلو الاخر وهكذا والسوال كيف بامكاننا كما تتلاشي حرف تلو الاخر ان تضهر حرف تلو الاخر وليس فجاة ، هل هذا التعديل الذي قمت به. له دلالة عندك كمحترف بالبرمجة ، وادامك الله بالف خي ياطيب



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