اخي ممكن مساعدتك اخي اريد اشغل كودين كود steepmotor وكود led فلاش لكن كيف اجعل الكودين يعملون بدون توقف المشكله عندما اشغل الكود يعمل الليد ومن ثم يعمل الماتور وعندما يكتمل كود الماتور بعدئذ يعمل الليد اي متسلسل #include Servo myservo; // create servo object to control a servo // twelve servo objects can be created on most boards int led=13; int pos = 0; // variable to store the servo position void setup() { myservo.attach(9); pinMode(led,OUTPUT);// attaches the servo on pin 9 to the servo object } void loop() { digitalWrite(led,HIGH); delay(500); digitalWrite(led,LOW); delay(500); for (pos = 0; pos = 0; pos -= 1) { // goes from 180 degrees to 0 degrees myservo.write(pos); // tell servo to go to position in variable 'pos' delay(15); // waits 15ms for the servo to reach the position } }
+Ftyu Futf الجزء التالي من الكود يقوم بتشغيل وإطفاء ليد: digitalWrite(led,HIGH); delay(500); digitalWrite(led,LOW); delay(500); بينما الجزء التالي يقوم بتحريك المحرك: for (pos = 0; pos = 0; pos -= 1) { // goes from 180 degrees to 0 degrees myservo.write(pos); // tell servo to go to position in variable 'pos' delay(15); // waits 15ms for the servo to reach the position } سؤالك هو كيف تقوم بتشغيل الإثنين مع بعض في آن واحد. حتى تستطيع عمل ذلك لابد من تجنب إستخدام دالة delay وكذلك for loop حيث أنها تقوم بالاستحواذ على التحكم بشكل كامل وهو ما يسمى بـ blocking فعلى سبيل المثال، عندما تقوم بإستدعاء: delay(500) سوف يقوم الأردوينو بالانتظار لمدة نصف ثانية ولن يفعل شيء آخر. في المقابل يمكنك عمل طريقة أخرى تكون non-blocking حيث تقوم بالتأكد إذا ما تم تجاوز نصف ثانية أو لا بشكل دوري لتحقيق ذلك في الأردوينو يمكنك إستخدام مكتبة Metro وهنا مثال لكيفية إستخدامها: github.com/thomasfredericks/Metro-Arduino-Wiring/blob/master/Metro/examples/blinking/blinking.ino
اخي بارك الله بك اخي احتمل جهلي عليك لكن وجدت صعوبه بالفهم ممكن تكتب لي الكود حتى افهم اكثر جزاك الله خير وان الله في عون العبد ما دام العبد في عون اخي . اخي انا من العراق وهنا نجد صعوبه في ايجاد المعلومه اعتمد على الله ثم عليك
كفيت و وفيت جزاك الله خير
السيد ياسر المحترم ... إسلوب شرحك رائع جدا
السيد ياسر اسلوبك جدا ممتاز بالشرح ياريت لو تستمر
والله انك مبدع شرح جدا جميل وياليت تفيدنا بعد عن دروس الاردينو وشكرا لك
استاذ ياسر شرحك جميل جدا واكثر من رائع ، لكن كيف يمكن قراءة ملف نصي فيه مجموعة من الحروف في الاردوينو. شكرا لك
مبدع الله يحفظك
اخي كتبت نفس الكود لكن يطلع غلط دوخني كثير
+Ftyu Futf
أرجو كتابة رسالة الخطأ هنا أو التقاط صورة لها حتى أتمكن من مساعدتك يا غالي
بارك الله بك اخي لقد تمكنت من ايجاد الخطأ لكن بعد معاناة تسلم يا اخي على اهتمامك
اخي ممكن مساعدتك اخي اريد اشغل كودين كود steepmotor وكود led فلاش لكن كيف اجعل الكودين يعملون بدون توقف المشكله عندما اشغل الكود يعمل الليد ومن ثم يعمل الماتور وعندما يكتمل كود الماتور بعدئذ يعمل الليد اي متسلسل
#include
Servo myservo; // create servo object to control a servo
// twelve servo objects can be created on most boards
int led=13;
int pos = 0; // variable to store the servo position
void setup() {
myservo.attach(9);
pinMode(led,OUTPUT);// attaches the servo on pin 9 to the servo object
}
void loop() {
digitalWrite(led,HIGH);
delay(500);
digitalWrite(led,LOW);
delay(500);
for (pos = 0; pos = 0; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
}
+Ftyu Futf
الجزء التالي من الكود يقوم بتشغيل وإطفاء ليد:
digitalWrite(led,HIGH);
delay(500);
digitalWrite(led,LOW);
delay(500);
بينما الجزء التالي يقوم بتحريك المحرك:
for (pos = 0; pos = 0; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
سؤالك هو كيف تقوم بتشغيل الإثنين مع بعض في آن واحد. حتى تستطيع عمل ذلك لابد من تجنب إستخدام دالة
delay
وكذلك
for loop
حيث أنها تقوم بالاستحواذ على التحكم بشكل كامل وهو ما يسمى بـ
blocking
فعلى سبيل المثال، عندما تقوم بإستدعاء:
delay(500)
سوف يقوم الأردوينو بالانتظار لمدة نصف ثانية ولن يفعل شيء آخر.
في المقابل يمكنك عمل طريقة أخرى تكون
non-blocking
حيث تقوم بالتأكد إذا ما تم تجاوز نصف ثانية أو لا بشكل دوري
لتحقيق ذلك في الأردوينو يمكنك إستخدام مكتبة
Metro
وهنا مثال لكيفية إستخدامها:
github.com/thomasfredericks/Metro-Arduino-Wiring/blob/master/Metro/examples/blinking/blinking.ino
اخي بارك الله بك اخي احتمل جهلي عليك لكن وجدت صعوبه بالفهم ممكن تكتب لي الكود حتى افهم اكثر جزاك الله خير وان الله في عون العبد ما دام العبد في عون اخي . اخي انا من العراق وهنا نجد صعوبه في ايجاد المعلومه اعتمد على الله ثم عليك
الفقره الاولى غلط لان الحرف = 1 Bit وليس 1 Byte , والبايت = 8 بت :)
:) كلامك انت اللي غلط
الحرف 8 بت 0 او 1