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

   

المغترب63
:: مهندس ::
تاريخ التسجيل: Oct 2010
الدولة: الحلة-فرنسا
المشاركات: 49
نشاط [ المغترب63 ]
قوة السمعة:
قديم 31-03-2011, 06:28 PM المشاركة 9   
افتراضي



انت تريد أن تجعل RA1 زرار start لتحريك الموتور ؟؟
نعم : ولكن النبضة الاولى أمر أخراج , و النبضة الثانية أمر ثاني , و النبضة الثالثة أمر ثالث , و النبضة الرابعة أمر رابع .

ماهو الكود الذي يتعامل مع هذه النبضة ؟

وجدت هذا الكود في الانترنت لدائرة مشابهة فهل هو بلغة الmicro C? و هل هو صحيح؟

كود:
void do_step(byte step_pin, byte dir_pin, byte dir)
{
        if (dir)
        {
         //Serial.println("+");
            if (digitalRead(step_pin) == HIGH) {
                if (digitalRead(dir_pin) == HIGH) {
                     digitalWrite(step_pin, HIGH);
                     digitalWrite(dir_pin, LOW);
                }
                else {
                     digitalWrite(step_pin, LOW);
                     digitalWrite(dir_pin, LOW);          
                }             
            }
            else {
                if (digitalRead(dir_pin) == HIGH) {
                     digitalWrite(step_pin, HIGH);
                     digitalWrite(dir_pin, HIGH);
                }
                else {
                     digitalWrite(step_pin, LOW);
                     digitalWrite(dir_pin, HIGH);
                }    
            }
        }
     else
        {
         //Serial.println("-");
            if (digitalRead(step_pin) == HIGH) {
                if (digitalRead(dir_pin) == HIGH) {
                     digitalWrite(step_pin, LOW);
                     digitalWrite(dir_pin, HIGH);
                }
                else {
                     digitalWrite(step_pin, HIGH);
                     digitalWrite(dir_pin, HIGH);            
                }             
            }
            else {
                if (digitalRead(dir_pin) == HIGH) {
                     digitalWrite(step_pin, LOW);
                     digitalWrite(dir_pin, LOW);
                }
                else {
                     digitalWrite(step_pin, HIGH);
                     digitalWrite(dir_pin, LOW);
                }    
            }
        }

     //digitalWrite(step_pin, HIGH);
     delayMicroseconds(5);
     //digitalWrite(step_pin, LOW);
}


التعديل الأخير تم بواسطة : المغترب63 بتاريخ 31-03-2011 الساعة 06:47 PM
اعلانات

الصورة الرمزية #MAAM#
#MAAM#
:: عضو ذهبي ::
تاريخ التسجيل: Jun 2008
الدولة: EGYPT
المشاركات: 529
نشاط [ #MAAM# ]
قوة السمعة:
قديم 31-03-2011, 07:52 PM المشاركة 10   
افتراضي


نعم : ولكن النبضة الاولى أمر أخراج , و النبضة الثانية أمر ثاني , و النبضة الثالثة أمر ثالث , و النبضة الرابعة أمر رابع .

ماهو الكود الذي يتعامل مع هذه النبضة ؟

وجدت هذا الكود في الانترنت لدائرة مشابهة فهل هو بلغة الmicro C? و هل هو صحيح؟

كود:
void do_step(byte step_pin, byte dir_pin, byte dir)
{
        if (dir)
        {
         //Serial.println("+");
            if (digitalRead(step_pin) == HIGH) {
                if (digitalRead(dir_pin) == HIGH) {
                     digitalWrite(step_pin, HIGH);
                     digitalWrite(dir_pin, LOW);
                }
                else {
                     digitalWrite(step_pin, LOW);
                     digitalWrite(dir_pin, LOW);          
                }             
            }
            else {
                if (digitalRead(dir_pin) == HIGH) {
                     digitalWrite(step_pin, HIGH);
                     digitalWrite(dir_pin, HIGH);
                }
                else {
                     digitalWrite(step_pin, LOW);
                     digitalWrite(dir_pin, HIGH);
                }    
            }
        }
     else
        {
         //Serial.println("-");
            if (digitalRead(step_pin) == HIGH) {
                if (digitalRead(dir_pin) == HIGH) {
                     digitalWrite(step_pin, LOW);
                     digitalWrite(dir_pin, HIGH);
                }
                else {
                     digitalWrite(step_pin, HIGH);
                     digitalWrite(dir_pin, HIGH);            
                }             
            }
            else {
                if (digitalRead(dir_pin) == HIGH) {
                     digitalWrite(step_pin, LOW);
                     digitalWrite(dir_pin, LOW);
                }
                else {
                     digitalWrite(step_pin, HIGH);
                     digitalWrite(dir_pin, LOW);
                }    
            }
        }

     //digitalWrite(step_pin, HIGH);
     delayMicroseconds(5);
     //digitalWrite(step_pin, LOW);
}
هبحث في الموضوع وهحاول أرد عليك إن شاء الله في اقرب وقت

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

الصورة الرمزية kaoutar11
kaoutar11
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2012
الدولة: Algeria
المشاركات: 144
نشاط [ kaoutar11 ]
قوة السمعة:
قديم 07-03-2012, 11:09 PM المشاركة 11   
افتراضي


هبحث في الموضوع وهحاول أرد عليك إن شاء الله في اقرب وقت
بارك الله فيك أخي


الصورة الرمزية kaoutar11
kaoutar11
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2012
الدولة: Algeria
المشاركات: 144
نشاط [ kaoutar11 ]
قوة السمعة:
قديم 07-03-2012, 11:17 PM المشاركة 12   
x4


هبحث في الموضوع وهحاول أرد عليك إن شاء الله في اقرب وقت
بارك الله فيك أخي



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