منتدى المشاريع و الدوائر الإلكترونية صناعة وتصميم وانشاء مشاريع و دوائر الكترونية

   

aiwa19
:: مهندس ::
تاريخ التسجيل: Oct 2012
المشاركات: 37
نشاط [ aiwa19 ]
قوة السمعة:
قديم 09-04-2014, 10:44 AM المشاركة 1   
افتراضي سؤال بسيط حول الأردوينو .. الله يبارك فيكم



السلام عليكم ورحمة الله .. أجيبوني الله يرض عنكم
في برنامج أردوينو .. أريد كتابة برنامج يضيء اللد من البن رقم 8 .. لمدة ثانية ويطفئه لمدة ثانية .. حتى الآن الأمر بسيط .. لكن لو أردت في نفس الوقت إضاءة لد آخر وإطفائه من بن آخر وبزمن مختلف ليكن 5 ثواني .. ماذا أفعل ؟؟ يعني يوجد 2 لد .. واحد يضيء وينطفئ في ثانية و الآخر في 5 ثواني كيف أكتب هذا البرنامج ؟

اعلانات

abu-thabit
:: مهندس متميز ::
تاريخ التسجيل: Oct 2010
المشاركات: 320
نشاط [ abu-thabit ]
قوة السمعة:
قديم 09-04-2014, 01:50 PM المشاركة 2   
افتراضي


http://arduino.cc/en/Tutorial/BlinkWithoutDelay

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

aiwa19
:: مهندس ::
تاريخ التسجيل: Oct 2012
المشاركات: 37
نشاط [ aiwa19 ]
قوة السمعة:
قديم 09-04-2014, 04:11 PM المشاركة 3   
افتراضي



بارك الله فيك أخي على اهتمامك .. لكن ليس هذا ما كنت أقصده



انظر لهذه الصورة وستفهم قصدي .. كما أني أريدها بالديلاي


abu-thabit
:: مهندس متميز ::
تاريخ التسجيل: Oct 2010
المشاركات: 320
نشاط [ abu-thabit ]
قوة السمعة:
قديم 09-04-2014, 07:43 PM المشاركة 4   
افتراضي


السلام عليكم

جرب هذا بدون delay


int x2=0;
int x5=0;

const int ledPin_1 = 10; // the number of the LED pin
const int ledPin_2 = 11; // the number of the LED pin
const int ledPin_3 = 12; // the number of the LED pin


int ledState_1 = LOW;
int ledState_2 = LOW;
int ledState_3 = LOW;

long previousMillis = 0;



long interval = 1000;

void setup() {
// set the digital pin as output:
pinMode(ledPin_1, OUTPUT);
pinMode(ledPin_2, OUTPUT);
pinMode(ledPin_3, OUTPUT);
}

void loop()
{


unsigned long currentMillis = millis();

if(currentMillis - previousMillis > interval) {
// save the last time you blinked the LED
previousMillis = currentMillis;

x2++;
x5++;

// if the LED is off turn it on and vice-versa:
if (ledState_1 == LOW)
ledState_1 = HIGH;
else
ledState_1 = LOW;


digitalWrite(ledPin_1, ledState_1);
}

if (x2==2){
x2=0;
ledState_2=!ledState_2;
digitalWrite(ledPin_2, ledState_2);
}

if (x5==5){
x5=0;
ledState_3=!ledState_3;
digitalWrite(ledPin_3, ledState_3);
}
}


او جرب هذا باستخدام delay



int x2=0;
int x5=0;

const int ledPin_1 = 10; // the number of the LED pin
const int ledPin_2 = 11; // the number of the LED pin
const int ledPin_3 = 12; // the number of the LED pin


int ledState_1 = LOW;
int ledState_2 = LOW;
int ledState_3 = LOW;


void setup() {
// set the digital pin as output:
pinMode(ledPin_1, OUTPUT);
pinMode(ledPin_2, OUTPUT);
pinMode(ledPin_3, OUTPUT);
}

void loop()
{

x2++;
x5++;

ledState_1 = !ledState_1;
digitalWrite(ledPin_1, ledState_1);


if (x2==2){
x2=0;
ledState_2=!ledState_2;
digitalWrite(ledPin_2, ledState_2);
}

if (x5==5){
x5=0;
ledState_3=!ledState_3;
digitalWrite(ledPin_3, ledState_3);
}

delay(1000);
}




اعتذر عن طول وضعف الكود ولكن هذا ما استطيع


abu-thabit
:: مهندس متميز ::
تاريخ التسجيل: Oct 2010
المشاركات: 320
نشاط [ abu-thabit ]
قوة السمعة:
قديم 09-04-2014, 07:44 PM المشاركة 5   
افتراضي


اسف وصعت لك 3 ليدات

ليد على الطرف 10 لمدة 1 ثانية
ليد على الطرف 11لمدة 2 ثانية
ليد على الطرف 12لمدة 5 ثانية


aiwa19
:: مهندس ::
تاريخ التسجيل: Oct 2012
المشاركات: 37
نشاط [ aiwa19 ]
قوة السمعة:
قديم 12-04-2014, 09:11 AM المشاركة 6   
افتراضي


اسف وصعت لك 3 ليدات

ليد على الطرف 10 لمدة 1 ثانية
ليد على الطرف 11لمدة 2 ثانية
ليد على الطرف 12لمدة 5 ثانية

بارك الله فيك وجعلها في ميزان حسناتك

شكرااااااااااااااااا جزيلااااااااااااااا


abu-thabit
:: مهندس متميز ::
تاريخ التسجيل: Oct 2010
المشاركات: 320
نشاط [ abu-thabit ]
قوة السمعة:
قديم 12-04-2014, 12:24 PM المشاركة 7   
افتراضي


وفيك بارك


بالتوفيق اخي الكريم



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