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

   

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



وايضا الكود بدون PORTD=0; لاتضي الليدات ،والف شكر سلف صديقي

اعلانات

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


وايضا الكود بدون =PORTD=0xff لاتضي الليدات ،والف شكر سلف صديقي

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

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


حياك الله اخي العزيز ،هذا الكود قمت بتعديله بحس معلوماتي البسيطة والنتيجة اضاءة الليدات ولكن عند الدوران لم تضهر اية احرف فقط حلقات مضيئة يعني اضاءة ليدات فقط فاين الخلل في هذا الكود واخي انت اخبر متي بكثير اكيد ، بارك الله فيك


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


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

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

اخى العزيز جرب هذا و هو يشبه الكود الذى عدلته ,
لكن تاكد من ضبطك للتردد 1 Mhz
و تاكد من ان الليدات تبدأ مع بداية السنسور .

كود:
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};

char i = 0;
void main() {
DDRD = 0XFF;
DDRB = 0XFE;
while(1){
          while(PINB & 0X01){}
          for(i=0; i<7; i++){PORTD=letter_M[i]; delay_us(300);}
          PORTD=0; delay_us(1200);

          for(i=0; i<7; i++){PORTD=letter_i[i]; delay_us(300);}
          PORTD=0; delay_us(1200);

          for(i=0; i<7; i++){PORTD=letter_c[i]; delay_us(300);}
          PORTD=0; delay_us(1200);
          
          for(i=0;i<7;i++){PORTD=letter_R[i]; delay_us(300);}
          PORTD=0; delay_us(1200);
          
          for(i=0;i<7;i++){PORTD=letter_O [i]; delay_us(300);}
          PORTD=0; delay_us(1200);
          
          for(i=0;i<7;i++){PORTD=letter_P[i]; delay_us(300);}
          PORTD=0; delay_us(1200);
          
          for(i=0;i<7;i++){PORTD=letter_Rr[i]; delay_us(600);}
          PORTD=0;
          }
}
الله ولى التوفيق

اللهم اجعلنا مؤمنين حقا
و علمنا ما ينفعنا و ينفع بنا
اللهم اكتب حياة ترضيك و ميتة تضحكك منا
و احفظ حلب و موصل و اهلها و سائر بلادنا




hassan.pic
:: مهندس متميز ::
تاريخ التسجيل: Aug 2016
المشاركات: 300
نشاط [ hassan.pic ]
قوة السمعة:
قديم 30-10-2016, 01:56 AM المشاركة 389   
افتراضي


السلام عليكم اخي العزيز ،هذا الكود قمت بتجربته والنتيجة صفر، لم يضهر شي وعندما اضفت portd =0 xff اضاءت الليدات ولكن بدون اضهار احرف فقط اضاءه ، وبدون اي تحسس للسينسور ، بارك الله فيك اخي


مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 619
نشاط [ مشتاق الله ]
قوة السمعة:
قديم 30-10-2016, 08:17 AM المشاركة 390   
sun


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

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

لكن تاكد من ضبطك للتردد 1 Mhz
و تاكد من ان الليدات تبدأ مع بداية السنسور .
جرب هذا:
كود:
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};

char i = 0;
void main() {
DDRD = 0XFF;
DDRB = 0XFE;
PORTB = 1;
while(1){
while(PINB.B0==1){}
          for(i=0; i<7; i++){PORTD=letter_M[i]; delay_us(300);}
          PORTD=0; delay_us(1200);

          for(i=0; i<7; i++){PORTD=letter_i[i]; delay_us(300);}
          PORTD=0; delay_us(1200);

          for(i=0; i<7; i++){PORTD=letter_c[i]; delay_us(300);}
          PORTD=0; delay_us(1200);
          
          for(i=0;i<7;i++){PORTD=letter_R[i]; delay_us(300);}
          PORTD=0; delay_us(1200);
          
          for(i=0;i<7;i++){PORTD=letter_O [i]; delay_us(300);}
          PORTD=0; delay_us(1200);
          
          for(i=0;i<7;i++){PORTD=letter_P[i]; delay_us(300);}
          PORTD=0; delay_us(1200);
          
          for(i=0;i<7;i++){PORTD=letter_Rr[i]; delay_us(600);}
          PORTD=0;
          }
}
الله ولى التوفيق

اللهم اجعلنا مؤمنين حقا
و علمنا ما ينفعنا و ينفع بنا
اللهم اكتب حياة ترضيك و ميتة تضحكك منا
و احفظ حلب و موصل و اهلها و سائر بلادنا




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


حياك الله اخي العزيز، قمت بتجربة الكود والنتيجة اضاء ة الليد portd.d0فقط، ،دمت بامان الله


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


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

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

اخى العزيز سنقوم الان بالتاكد من ان الدائرة الجديدة و السنسور يعملان جيدا ,
1- هذا البرنامج سيقوم بتشغيل الليدات فقط اى فلاش لمدة ثانية جربه و عرفنا :
كود:
void main(){
  DDRD = 0XFF;
  DDRB = 0XFE;
  PORTB = 1;
  while(1){
           PORTD = ~PORTD;
           delay_ms(1000);
  }
}
2- هذا البرنامج يستشعر السنسور و يقوم مع كل نبضة سنسور مرة اضاءة و مرة اطفاء كلما مر عليه , يفضل ان تقوم بلف الموتور بيدك و تمرره على السنسور و تراقب ما يحدث و عرفنا :
كود:
void main(){
  DDRD = 0XFF;
  DDRB = 0XFE;
  PORTB = 1;
  while(1){
           while(PINB.B0==1){}
           delay_ms(500);
           PORTD = ~PORTD;
  }
}
الله ولى التوفيق

اللهم اجعلنا مؤمنين حقا
و علمنا ما ينفعنا و ينفع بنا
اللهم اكتب حياة ترضيك و ميتة تضحكك منا
و احفظ حلب و موصل و اهلها و سائر بلادنا





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