يعطيك العافية هندسة... تعقيب ع جزئية if الخاصة باطفاء البازر ////// المفروض نحط جملة time1 = millis لحتى ياخد القيمة الجديدة بدونها حيعتبر ال10 ثواني جزء منها انتظار 8 ثواني وجزء تشغيل البازر لثانيتين
تم الاشتراك وتفعيل الجرس . واقر واعترف انك محترف . بحثت مطولا عن هالموضوع وانو كيف اشغل لمدة 5 دقائق واطفاءه لمدة ساعتين واغلب( المحترفين) قالولي تحتاج ساعه rts وانت حضرتك عملت الطريقه بدون ساعه ولا شيئ مجرد تكتيك برمجي . الله يوفقك ويكثر من امثالك بارك الله بك وبعملك وحياتك
أشكر الأستاذ عرفة على مجهوده , و أحب أن أشارككم التعديل التالي على الكود : بإمكاننا استخدام التعليمة التالية : (millis() % 10000) == 0 بدل من millis()-time1>=10000 وليس هناك داع للتعامل مع المتغير time1
شكرا لك علي الاقتراح، بارك الله فيك لكن في هذه الحالة مش هتقدر تحدد زمن البدء للع بمعني كل عدد معين من الثواني، فيه حالات معينة مثل لما تريد حساب الزمن المستغرق لتنفيذ تعليمة هتحتاج تبدأ عد عند سطر معين لذلك هتحتاج time1 فانا لما بشرح بشرح الحالة الاكثر شمولا. بالتوفيق
هو فعلا كلامك مضبوط في بعض الحلقات بيبقي وقتها طويل بس بفضل يبقي الموضوع موجود بحلقة واحدة ومقسمهاش علشان المتابع ميتوهش مني ما بين الأجزاء وبعضها، لكن كلامك مضبوط وهو باذن الله انا ماشي بنظام دلوقتي ان مدة الحلقة لا تزيد عن نصف ساعة وبحاول اجتهد علشان اوصل لتلت ساعة، لكن سبب مدة طول الحلقات اني بحب اذكر كل التفاصيل بالكامل وده اللي بياخد وقت، لكن ان شاء الله الحلقات القادمة هتكون مش طويلة
مجهود رائع محتاجين لو سمحت تايمر مثل البلينك لكن محتاج بوش بوتون للتحكم بزمن الاضاءة وزمن الاطفاء وسفن سيغمنت يعد تنازلي ويكرر العملية دائما ولك مني خالص الشكر
وانا طلع معاي نفسك معليش انا جديد بلشت ابرمج وهلق شفت للفيديو لو ممكن تقدر تبعتلي كيف اصلح الكود عندما يكون توقيت التشغيل اكبر من توقيت الايقاف !!! مشكور
الله ينور يا هندسه استاذنك بس افهم من حضرتك جزئيه أنا مثلا عندى ليد فى mode معين اول ما بضغط على pushbutton بدخل mode إلى فيه الليد ده عاوز اشغله وقت معين ويفصل وقت تانى محددهوله أنا حولت اعملها بس المشكله ان الوقت إلى قبل mode ده قصير فى أول التشغيل اسف طولت ع حضرتك
السلام عليكم اولا جزاك الله خيرا على جميع مجهوداتك في جميع الدروس والمحاضرات....نادرا ما اجد محتوى عربي يستحق الاحترام والمتابعة....لأن الغالبية وليس الكل يشاهدوا فيديوهات ثم يفرغوا محتواها في دروس بدون ادراك كامل لما شاهدوه او قدموه....ولكن حضرتك لا تحتاج لثنائي عليك فأعمالك كفيلة بذلك نفعك الله بها في الدارين وزادك علما....واستأذنك عندي سؤال واعتقد انه يحتاج شرح مطول للرد عليه (مش عارف هيحتاج محاضرة كاملة ولا هينفع الرد عليه في التعليقات) وسؤالي هو....أني لدي مشروع جهاز إنذار وقد قمت بدمج اكثر من كود مع بعض(باسورد وحساس غاز وشبابيك وحماية لبوكس المشروع نفسه واشياء اخري ..المهم انه بيحتوي على اكتر من void فكيف استخدم millis مع كل void لأن موضوع millis ده صعب فعلا...وانا مجبر على استخدامه لأنه مثلا وكما شرحت حضرتك كلما شعر بوكس المشروع بمحاولتي كتابه الباسورد فيطلق إنذار الحماية فبتالي يتوقف عمل الكيباد عن الكتابة بسبب ال delay فأحتاج لإستخدام اكتر من time ولكل time millis خاصة بيه ولكني لا اعرف آليه عمل ذلك....اسف للإطالة...واتمنى الرد...وجزاك الله خيرا....وارجو من حضرتك الإستمرار
اخي الكريم الاستاذ عرفة ممكن تساعدني في انشاء تايمر اضاءة انا مضطر جدا للتايمر عن طريق الاردوينو اكون شاكر جدا لحضرتك او لاي شخص بالمجموعة يمد لي المساعدة وشكرا جزيلا انتظر الرد
هو الشرح ممتاز ربنا يكرمك بس عندي استفسار هل الـ Millis ليها أكتر من طربقه في التطبيق يعني لما أستخدما كـ blink غير لما استخدمها كـ timer ولا انا سيحت الدنيا في بعضها والفيوزات ولعت ولاايه
بمعني لو عايز ليد تعكس حالتها كل ثانية بمعني ثانية تبقي منورة وثانية تطفي وهكذا if(millis()-time1>=1000) { digitalWrite(led,!digitalRead(led)); } في الجملة دي ببساطه داخل DigitalWrite هتلاقيني في مكان الحالة اللي المفروض بياخد High أو LOW كتبت كده !digitalRead(led) ده معناه روح اقرا حالة الليد اذا كانت بـ High أو ب LOW وبعدين اعكس الحالة بحرف ! not يعني شوف حالتها لو HIGH خليها LOW والعكس وده علشان يقلب حالتها كل ثانية
هو والله شرحك ممتاز هي يمكن القصه ان انا كنت شوفت دروس Millis دي عـ اليوتيوب كل اللي كان يشرحها كان يجيبها جاهزه من برنامج IDE ويشرحها أي كلام في أي كلام ومكنتش بفهمها فكنت بخدها كوبي وخلاص فـ يمكن ده اللي عمل عندي لبس في الموضوع ولكن ان شاء الله هشوف حلقة حضرتك أكتر من مره لحد ماتثبت لأنها مهمة جداً وجالي منها أفكار مشاريع كتير. عموماً مشكور عـ مجهودك والله استفادت من حضرتك كتير جداً لأنك بتشرح بضمير جزاك الله خير يابش مهندس وأنا آسف عـ الاطاله
مجهود رااائع جدا ... انا طالب داخل 2 كهربا باور ف اسكندرية ... واضح ان الكورس مش مبتدئين خالص ... بدأ للمبتدا و بيتدرج وصل للأدفانسد اظن ... 1- احنا كدا نعتبر دخلنا ع الأدفانسد ؟ ....2-أنا هخلص دي ان شاء الله و ادخل على باقي البلاي ليستات اردوينو .. تنصحني ادخل ع انهي بلاي بعد دي ع طول و بعدها ايه و هكذا؟
بص يا بشمهندس، المواضيع اللي بتكلم فيها لحد الان مفيش فيها اي حاجه كمستوي متقدم انا قبل ما ابدا الدورة دي بدات بالمستوي المتقدم، الكلام اللي في الحلقة دي انا شرحته قبل كده في حلقة مخصصة Delay&millis ورجعت شرحت تاني في الحلقة دي وعملت عليه تطبيق وصدقني كل الاشياء اللي ممكن تعتقد انها صعبة بتبقي تريكات برمجية وبذكرهالك ومع احترامي لاي حد شرح اردوينو سواء عربي او اجنبي انه بيهرب من التحدث عن الجزئيات اللي بتكلم فيها ده لانها جزئيات صعبة ومش هتجيب مشاهدات كتير او انه مش هيبقي متمكن منها قوي فالكلام ده مفيش حد هيشرحه سواء علي النت او في كورس بفلوس، وكل اللي بطلبه من حضرتك تعيير انتباهك فقط وبعيد الحاجه مره واتنين وتلاته وبقعد بالساعات وتعب ومجهود علشان اوصل المعلومة للمتابع ولو انا مهتم بالمشاهدات مكنتش نزلت حلقات من دي لان اغلب الحلقات 100 مشاهدة ودي ولا اي حاجه مقابل المجهود، النقطة اللي بعد كده انا عندي خبرة في المجال اكتر مما تتخيل ومنظم جدا في شغلي وكل سلسلة حلقات بعملها بيبقي ليها هدف وبتخدم سلسلة تانية انا عاملها برضه تستنتج من الكلام ده اني عارف الحته دي احطها فين وامته كويس وكل الكلام اللي اتكلمت فيه ده مبتدئين ومتوسطين ولم نتطرق الي المستوي المتقدم لاني عملته قبل كده وعارف محتوياته كويس فكل اللي بطلبه منك تشوف الحلقة كويس ولو فيها حاجه مش واضحة قوللي وان شاء الله هرد عليك
أولا تسلم جدا جدا على مجهود حضرتك ..... ثانيا حضرتك حرفيا مش متخيل انا قد ايه فرحان جدا جدا جدا بالقناة دي لاني اكتشفتها لوحدي .....ثالثا حضرتك تقريبا فهمتني غلط ...أنا لما قولت أدفانسد ...كنت بشيد وبشكر في مهارة حضرتك انك بدأت للمبتدا و بكل مهرة وسلاسة وصلت لمستوى متقدم ...او اللي انا كنت فاكره متقدم يعني ....فأنا كنت فرحان بدا ...يعني كنت بشكر مش بنتقد :] ....... القناة رائعة جدا و انا اقسم بالله زعلان و مستغرب ازاي الاشتراك في قناة هااايلة زي دي موصلش مليون ...بس هيوصل قريب ان شاء الله و انا عموما ببعتها لصحابي ف الكلية ......... اخر حاجة ... حضرتك تنصحين أدخل على انهي بلاي ليست بعد البلاي المحترمة دي
انا اسف لو فهمتني غلط اني بهاجمك او برد علي انتقاد، انا والله مقصدش كده انا بس ببقي زعلان لما بنزل حلقة نفسي الناس تستفاد بيها وفعلا ناس كتيرة تستصعبها مع اني بقول دايما لو فيه جزئية مش واضحة اكتبوا في التعليقات ولو فيه حته مش واضحو وعايزين اعمل عليها تطبيق اكتبوها، ومبلقيش حد بيعمل كده وجميع الاسئلة اللي بتجيلي بتكون خارج موضوع الحلقات فانا بعتذرلك لو حسيت اني بهاجمك انا هدفي اني ابني قاعدة برمجية محترمة للمتابعين علشان لما اعمل بعد كده تطبيقات متقدمة ابقي عارف انا قولت ايه والمتابعين فاهمين ايه وايه اللي مش واضح. بارك الله فيك لو عايزني انصحك تبدأ بعد الكورس ده فايه فانصحك تدخل علي Advanced Arduino Coding علشان تدخل علي الجزئيات المتقدمة وتربطها بالكورس ده وهنا تحصل الاستفادة من الكورسين وهدف اني اعمل الكورس بتاع المبتدئين انه يخدم الكورس ده لان الكورس ده فيه كنية تفاصيل رهيبة ولو احتجت اي حاجه انا تحت امرك
I write in english because i haven't arabic keyboard , my quistion is , can i use two functions at same time ? , first function is for running DS18B20 use millis() , seconde fonction while (for running stepper motors and many security sensors , thanks
لا يخفى عليك أن البروسيسر تؤدي وظيفة أو عملا واحدا فقط في أي لحظة من الزمن ولكن إن كنت تعني أن الكونترولر يعمل بالتوازي في أكثر من مهمة أو وظيفة فهذا يتم بتوزيع الوقت على المهمات المختلفة ولا يتوقف أبدا عند نقطة منتظرا مرور الوقت المحدد كما هو في أمر delay
بص احترف أردوينو وبعد كده ادخل امبيديد وتوسع الاردوينو كبداية بيبقي كويس تبدا منه الاردوينو في شغل باور, فهمك لطريقة عمل المايكروكنترولر والتريكات البرمجية بشكل عام ولغة Arduino C هتنفعك أكيد لو مش هتنفعك بمشاريع هيدخل فيها اردوينو فهتنفعك في طريقة التفكير البرمجية وده هيسهل عليك حل مشاكل كتير احتكاكك الاكتر هيبقي مع PLC خصوصا في الصناعة وفي الغالب هتبرمجه بالـ Ladder Diagram وفهمك للمايكروكنترولر هيوفر عليك كتير ففهمك للـ Registers وكل الكلام ده هيصب في مصلحتك في النهاية سواء بطرق مباشرة او بطرق غير مباشرة اللي انصحك بيه كمهندس باور وتتك عليه جامد انك تبدأ Autocad Electrical انت مش متخيل ده هينفعك قد ايه لما تتخرج كمان ان يبقي معاك لغة بمعني انك تبقي Fluent في English ده هينفعك جامد جدا وانك تحتك مع PLC وتشتغل بايدك ولو فيه ورش عمل تشبط فيها انك او فيه تدريب متاح قودامك في ثالثة تطلع ومنصحكش تضيع وقتك في التدريب قبل كده لان مش هتبقي فاهم كتير في مجالك وهيبقي بالنسبة لك اشبة بتضييع وقت فاهتم بالحجات اللي بقوللك عليها دي كويس لما يتشرحلك الكورسات الخاصة بيك في الكلية زي Micro Electronics وال Power Electronics و ال Motors بأنواعها دايما ابحث عن الكلام ده علي النت وشوف تطبيقات عليه علشان تبقي فاهم كويس
السلام عليكم أولا شكرا على مجهودك محتوى رائع و إنسان أروع عندي سؤال صارلي أسبوع ببحث عن طريقة أعمل بيها reset للأردوينو عن طريق الكود بس ما لقيت طريفة و جربة أكثر من كود و ما مشي معي بتمنى تحكيلي اذا في طريقة بكون متشكر ليك جدااااااااااااااااااااااااا
أفضل طريقة من وجهة نظري لعمل Soft Reset للاردوينو وشرحتها علي القناة قبل كده هيا انك تفعل ال Watchdog Timer وتعمله اعداد في بداية الكود داخل Function خاصة بيه وتنده علي Function دي من المكان اللي حابب تعمل Reset منه في الكود، ده مثال لده وكده كده باذن الله هشرح ده في فيديو قصير علي Shorts قريب ده الكود: #include void software_Reset() { wdt_enable(WDTO_15MS); while(1) {} } void setup() { software_Reset(); } void loop() { // الكود الأساسي بتاعك }
ال millis بتتحط في متغير من نوع unsigned long يعني بيقبل ارقام من 0 to 4,294,967,295 (2^32 - 1). يعني اقصي رقم ده معناه 49 يوم وبعدها بيحصل تصفير لا يؤثر اطلاقا علي الكود اللي شرحته لاننا بنشتغل علي الفرق فراجع الكود عندك
المشروع ببساطة اني اتحكم مبدئيا بموتور عن طريق pushbutton او اشارة ريموت بس لو اتفتح الموتور هيشتغل مده نص ساعه فقط وبعد كده هيقفل لوحدة اتمني حضرتك تبص على الكود لو تسمح انا رفعته drive.google.com/open?id=19-Usjfp70dzUZL2-A-8m8OrfKjEVXmNE @@arafamicrosystems
@@arafamicrosystems هو التصفير مش هيأثر على حاجة يعني كواجهة مستخدم وبعيد عن ما يحدث في كواليس الكود مش هيتأثر الكود بأي شي وهيصفر ويكمل من اول وجديد وهكذا ولا هحتاج مثلا لعمل ريستارت للبورد
الشرط هو.. قيمه حالية اكبر من قيمه سابقه بفارق نص ساعه.. نفذ الحلقه.. متل المثال الي تفضلت فيه... اما بعد ٤٩ يوم مستحيل يتحقق الشرط لان دائما القيمه السابقة اكبر بكتير من القيمه الحالية.. الف شكر على الرد استاذ🌹
@@orwa12 يس يا فندم علشان تبقي فاهم اللي بيحصل دالة ال Millis ما هي الا دالة بـ return unsigned Long والدالة دي موجودة في Timer 0 Interrupt بمعني ان التايمر كل مللي ثانية بيدخل لمقاطعة التايمر يزود القيمة بواحد ويعمل return للقيمة يعني الامر محسوم وانا قولتلك كل الحلول المتاحة وانت اعمل الانسب ليك
السلام عليكم ورحمة الله وبركاته؛ يا بش مهندس عندي ملاحظة بسيطة على هذا المشروع بواسطة الدالة ( millis ) وهي كالآتي: في أول دورة الجرس سيشتغل بعد عشرة ثواني ويستمر تشغيله لثانيتين ولكن في الدورة الثانية سيشتغل الجرس بعد ثمانية ثواني وليس كما هو مرغوب (10 ثواني) فما حل هذه المشكلة؟ وبارك الله فيك وجزاك الله عنا كل خير. أخوك هيثم علي من ليبيا.
السلام عليكم استاذ عرفة انا كنت حابة اعرف حضرتك خريج كلية اى يعنى هل فى قسم معين مخصص للأردوينو يعنى دلوقتى لو انا عايزه ادخل حاجة ليها علاقة بالأردوينو هل فى كلية معينة كده انا لما جيت ادور ملقتش الا حاسبات ومعلومات وفى ذكاء اصطناعي بس انا مش فاهمه هل اللى بيبقى حابب يدرس اردوينو بيبقى تعلم ذاتى وكورسات وكده ولا اى + آسفه انى طولت على حضرتك
وعليكم السلام ورحمة الله وبركاته، انا خريج هندسة جامعة عين شمس قسم ميكاترونكس، احنا خلال سنوات الدراسة درسنا برمجة ودرسنا امبيديد ودرسنا اردوينو، لكن المنهج اللي في الكلية مهما كان متقدم فلازم Practice لازم علشان تتقني مجال الامبيديد تدخلي مسابقات تبع الكلية بالاضافة تشتغلي في مجال الامبيديد وتتوسعي في المجال ك Self Study وتشتغلي مشاريع امبيديد لان ده اللي هيخليكي تحتكي بمشاكل كتيرة ومنها هتتعلمي.
بس يا هندسة أقصى قيمة كدة للtime1 هتكون 4294967295 بمعنى إن الالتطبيق ده مش هيشتغل أكتر من 50 يوم صح ؟؟ أنا بتكلم عن استخدامها في تطبيق يحتاج فترات تشغيل مستمرة وطويلة
مضبوط اخر قيمة 49 يوم وبعد كده القيمة هتتصفر ومعني انها هتتصفر ان الكود أكنه عملتله Reset ومعني كده برضه لو مخليه يعمل حاجه كل 10 دقايق هيرجع يعملها بدون أي مشكلة لان انت بتشتغل علي الفرق يعني بتطرح القيم من بعض ومبترتبطش بالقيمة
لكن لو محتاج تنفذ حاجه كل 60 يوم فده ببساطة هتتغلب عليه بانك تعمل متغير تاني من نوع Long مثلا Long Accum=0; if(millis()==4294967295) { Accum++; } وهكذا تقدر تكسر قاعدة ال 49 يوم وتتعامل بعدها مع اني شايف ان 49 يوم ده حاجه كبيرة جدا ومش هتحتاج تعمل حاجه بعدها
هو السؤال ده كويس جدا، وفعلا انا فرحت لما سألتني السؤال ده ومعلومة ليك برضه ان لو عايز تصفر Reset millis() يبقي تعمل Softreset من الكود بمعني ترستر الاردوينو بالسوفتوير زي ما شرحت في حلقات Advanced Arduino Coding
السلام عليكم ورحمة الله وبركاته عندي سؤال لو تكرمتم ها يمكن اعتماد الميليس كتطبيق ساعة دقيق؟ عندي فرق ثانية كل 12 ساعة علما لم استخدم اي ديلاي وماذا يحدث عندما تصل Millis إلى اقصى حد هل يمكن أن تضع اي حسابات أخرى لك لسهولة التواصل ايميل مثلا او فيس بوك؟ ولكم جزيل الشكر والتقدير والاحترام ❤ 🌹 🌹
بالنسبة للتاخير اللي ممكن تسببه دالة Millis فلو تطبيقك لا يتحمل التاخير هذا قم باستخدام RTC فنسبة الخطأ بها اجزاء بسيطة جدا من المليون PPM اما عن ماذا سيحدث عند وصول دالة Millis لاكبر رقم فشرحت ده قبل كده في حلقة تقدر تتفرج عليها من الرابط التالي ua-cam.com/video/bK4kVYjAvMc/v-deo.html بالنسبة لايميل للتواصل ففي الغالب مبتابعش الايميلات نظرا لضيق وقتي فلو يوجد استفسار اكتبه في التعليقات ولو يوجد مشاريع مدفوعة ارسلها علي هذ الميل arafa.microsys.business@gmail.com
يعطيك العافية هندسة... تعقيب ع جزئية if الخاصة باطفاء البازر ////// المفروض نحط جملة time1 = millis لحتى ياخد القيمة الجديدة بدونها حيعتبر ال10 ثواني جزء منها انتظار 8 ثواني وجزء تشغيل البازر لثانيتين
أرقى قناة بشرح برامج الآردوينو
معلم حقيقي.. والكلام لا يفي بحقك انما نسئل الله ان يكثب اجرك ويتقبل منك
ماشاء لله استاذ أحمد شرح رائع كالعادة و برغم من مرور زمن على نزول الفيديو إلا ان الستفادة كبيرة وبلفعل أفضل قناة أحبها ❤❤❤
طلع في حد غيري يشاهد الدرس اليوم
@@qusaykambal6903 😄اليوم و كل يوم نشألله ☺️
شكرا المشكلة واجهتني بمشروعي وتركته بسبب المشكلة هاي لكن اليوم رجعت كلت خل ابحث باليوتيوب والحمدلله لكيت الفيديو هذا وفادني جدا شكرا 😀
الله ينوووور يابشمهندس --- انا مستخدمها ف مشرووعى وفعلا مظبطه الكلام
السلام عليكم ورحمة الله وبركاته ..... بارك الله فيك وزادك الله علما ونفعنا بعلمكم .... واسال الله لك التوفيق ولابنائك وحفظكم الله ورعاكم
تم الاشتراك وتفعيل الجرس . واقر واعترف انك محترف . بحثت مطولا عن هالموضوع وانو كيف اشغل لمدة 5 دقائق واطفاءه لمدة ساعتين واغلب( المحترفين) قالولي تحتاج ساعه rts وانت حضرتك عملت الطريقه بدون ساعه ولا شيئ مجرد تكتيك برمجي . الله يوفقك ويكثر من امثالك
بارك الله بك وبعملك وحياتك
بارك الله فيك وجزاك الله خيرا واصل ابداعك وفقك الله
بالتوفيق موضوع مهم جداً وقليل الفيديوهات عنه على اليوتيوب
نسئل الله ان يكثب اجرك وحفظكم الله ورعاكم
سلمت يمينك ولا فض فوك
رائع واضح علمي رصين
ربي يبارك فيك ويرزقك
و الله براڤو عليك أفضل مليون مره من قناه الأخ بتاع فيك راس .....بالتوفيق
زادك الله علما وجزاكم الله عنا كل خير
الله الله الله .... مكنتش فاهمها ف الفدييو بتاع الداتا تايب ,,,بس هنا واضحة جدا و حضرتك ركزت اوي ع الحتة اللي كانت ملخبطاني ♥
أشكر الأستاذ عرفة على مجهوده , و أحب أن أشارككم التعديل التالي على الكود :
بإمكاننا استخدام التعليمة التالية :
(millis() % 10000) == 0
بدل من
millis()-time1>=10000
وليس هناك داع للتعامل مع المتغير time1
+
شكرا لك علي الاقتراح، بارك الله فيك
لكن في هذه الحالة مش هتقدر تحدد زمن البدء للع
بمعني كل عدد معين من الثواني، فيه حالات معينة مثل لما تريد حساب الزمن المستغرق لتنفيذ تعليمة هتحتاج تبدأ عد عند سطر معين لذلك هتحتاج
time1
فانا لما بشرح بشرح الحالة الاكثر شمولا.
بالتوفيق
قليل في هذه الايام من يعطيك المعلومة كاملة ومتاحة كما تفعل
زادك الله علما ... ما شاء الله عليك
و الله انت مميز و ادعو من الله ان يوفقك
ربنا يجزيك الف خيييييير مجهود ممتاززززز
تعقيب واحد ان وقت الشرح كان طويل ياريت يقصر شوية في الشروحات الجاية
thumps Up ;)
هو فعلا كلامك مضبوط في بعض الحلقات بيبقي وقتها طويل بس بفضل يبقي الموضوع موجود بحلقة واحدة ومقسمهاش علشان المتابع ميتوهش مني ما بين الأجزاء وبعضها، لكن كلامك مضبوط وهو باذن الله انا ماشي بنظام دلوقتي ان مدة الحلقة لا تزيد عن نصف ساعة وبحاول اجتهد علشان اوصل لتلت ساعة، لكن سبب مدة طول الحلقات اني بحب اذكر كل التفاصيل بالكامل وده اللي بياخد وقت، لكن ان شاء الله الحلقات القادمة هتكون مش طويلة
سرعه الفديو
@@arafamicrosystems والله يا اخي نحبك ونحب فائدتك وحرصك على تقديم المعلومات بطريقة جيدة
خذ راحتك في الفيديو واعمل المدة التي بدت لك
سلمت يداك ولا فض فوك
درس مهم جداً وشرح ممتاز بارك الله فيك ونفع بعلمك
عشت ياطيب🌿
احسنت وبارك الله فيك والي الامام دائما
شكرا على جهودك أخي الفاضل
شرح رائع وداله جميله , وامل المزيد من الدوال وخصوصا المقاطعات
مشكور جاد جدا على الشرح الوافي و المهم........تحياتي
احسنت يا بشمهندس
مجهود رائع
محتاجين لو سمحت تايمر مثل البلينك لكن محتاج بوش بوتون للتحكم بزمن الاضاءة وزمن الاطفاء وسفن سيغمنت يعد تنازلي ويكرر العملية دائما
ولك مني خالص الشكر
شكرا جزيلا استاذ
ممتاز 🎉،،
شرح واضح شكر لك
مشكووووور جدا يا هندسة
شكرا استاذ على الشرح المفيد
اريد مساعدة حول تشغيل ليد لمدة ثانتين عند تحقق شرط ما مثلا احد المخارج يكون high ثم يتكرر كل 30 ثانية
شكرا جزيلا .
حبيب القلب .
شكرا جزيلا .
الله يجازيك الخير
مجهود هايل
لازم ترجع تأسند mills للtime1 جوا if الإطفاء لانو هيك عم يعد ٨ ثواني بس لانو عم يحسب الثانيتين الي كان فين شغال
barakalaho fik ....
استاذ هل الميليز اللي صفرناها راح تبقى ثابته عند نفس الزمن عند استمرار اللوب والا بتتحدث
بارك الله فيك
شرح عظمة
كل الشكر لجهودكم.. 🎀🎁🌺🌻🌼🌷🌹🌹🌹
رائع جزاك الله خيرا
لن ننسى معروفك
مشكور جدا على شروحاتك العاليه المستوى
لاحظت مشكله في الكود عندما يكون توقيت التشغيل اكبر من توقيت الايقاف لا يعمل الكود
مفيش اخطاء في الكود اخي
اكيد انت اللي كاتب المعادلة خطأ
تاكد من كودك
@@arafamicrosystems شكرا على تفاعلك معي لكن انا غيرت التوقيت في كودك الدي حملته غيره وسترى ان البزر سيبقى شغال
اعكس التوقيت اعمل 100 في اف الاولى و 2000في اف التانية
void loop()
{
if(millis()-time1>=100)
{
digitalWrite(buz,HIGH);
time1=millis();//10018
mask=1;
}
if(millis()-time1>=2000&&mask==1)
{
digitalWrite(buz,LOW);
mask=0;
}
@@zakariatouil9442 استأذنك تبعتلي الكود
ابص عليه
وانا طلع معاي نفسك معليش انا جديد بلشت ابرمج وهلق شفت للفيديو لو ممكن تقدر تبعتلي كيف اصلح الكود عندما يكون توقيت التشغيل اكبر من توقيت الايقاف !!!
مشكور
الله ينور يا هندسه
استاذنك بس افهم من حضرتك جزئيه
أنا مثلا عندى ليد فى mode معين اول ما بضغط على pushbutton بدخل mode إلى فيه الليد ده عاوز اشغله وقت معين ويفصل وقت تانى محددهوله أنا حولت اعملها بس المشكله ان الوقت إلى قبل mode ده قصير فى أول التشغيل
اسف طولت ع حضرتك
السلام عليكم ورحمه الله وبركاته اخي اود الاستفسار من ناحية عد الزمن بالساعات ثم الايام وبداخلهم اوامر تتنفد وشكراً
ساعات وايام يبقي انصحك تستخدم
RTC Module
شرحه موجود هنا
ua-cam.com/video/TPLyhI0yqiU/v-deo.html
استاذ ماهو ال mask الذي عرفته ماذا يعني ممكن شويه توضيح رجاءا
السلام عليكم
اولا جزاك الله خيرا على جميع مجهوداتك في جميع الدروس والمحاضرات....نادرا ما اجد محتوى عربي يستحق الاحترام والمتابعة....لأن الغالبية وليس الكل يشاهدوا فيديوهات ثم يفرغوا محتواها في دروس بدون ادراك كامل لما شاهدوه او قدموه....ولكن حضرتك لا تحتاج لثنائي عليك فأعمالك كفيلة بذلك نفعك الله بها في الدارين وزادك علما....واستأذنك عندي سؤال واعتقد انه يحتاج شرح مطول للرد عليه (مش عارف هيحتاج محاضرة كاملة ولا هينفع الرد عليه في التعليقات) وسؤالي هو....أني لدي مشروع جهاز إنذار وقد قمت بدمج اكثر من كود مع بعض(باسورد وحساس غاز وشبابيك وحماية لبوكس المشروع نفسه واشياء اخري ..المهم انه بيحتوي على اكتر من void فكيف استخدم millis مع كل void لأن موضوع millis ده صعب فعلا...وانا مجبر على استخدامه لأنه مثلا وكما شرحت حضرتك كلما شعر بوكس المشروع بمحاولتي كتابه الباسورد فيطلق إنذار الحماية فبتالي يتوقف عمل الكيباد عن الكتابة بسبب ال delay فأحتاج لإستخدام اكتر من time ولكل time millis خاصة بيه ولكني لا اعرف آليه عمل ذلك....اسف للإطالة...واتمنى الرد...وجزاك الله خيرا....وارجو من حضرتك الإستمرار
اخي الكريم
الاستاذ عرفة ممكن تساعدني في انشاء تايمر اضاءة
انا مضطر جدا للتايمر عن طريق الاردوينو
اكون شاكر جدا لحضرتك او لاي شخص بالمجموعة يمد لي المساعدة
وشكرا جزيلا
انتظر الرد
شكرا جزيلا
بس ما دور mask في البرنامج
أنا طبقت البرنامج وما لاحظت لها دور
يرجى التوضيح
شكرا مقدما
عمل جيد
ايه الفرق بين ()time1=millis و millis()=time1 اصل بيدينى erorr
قيمة المقاومة بكام ؟
هو الشرح ممتاز ربنا يكرمك
بس عندي استفسار هل الـ Millis ليها أكتر من طربقه في التطبيق يعني لما أستخدما كـ blink غير لما استخدمها كـ timer ولا انا سيحت الدنيا في بعضها والفيوزات ولعت ولاايه
لأ بنفس الطريقة بالضبط الفكرة كلها في ايه اللي هتكتبه داخل
IF Condition
بمعني لو عايز ليد تعكس حالتها كل ثانية بمعني ثانية تبقي منورة وثانية تطفي وهكذا
if(millis()-time1>=1000)
{
digitalWrite(led,!digitalRead(led));
}
في الجملة دي ببساطه داخل
DigitalWrite
هتلاقيني في مكان الحالة اللي المفروض بياخد
High
أو
LOW
كتبت كده
!digitalRead(led)
ده معناه روح اقرا حالة الليد اذا كانت بـ
High
أو ب
LOW
وبعدين اعكس الحالة بحرف
!
not
يعني شوف حالتها لو HIGH
خليها LOW
والعكس وده علشان يقلب حالتها كل ثانية
وطبعا متنساش تعمل
Reset
للـ time1
في اخر
if Condition
time1=millis();
هو والله شرحك ممتاز هي يمكن القصه ان انا كنت شوفت دروس Millis دي عـ اليوتيوب كل اللي كان يشرحها كان يجيبها جاهزه من برنامج IDE ويشرحها أي كلام في أي كلام ومكنتش بفهمها فكنت بخدها كوبي وخلاص فـ يمكن ده اللي عمل عندي لبس في الموضوع ولكن ان شاء الله هشوف حلقة حضرتك أكتر من مره لحد ماتثبت لأنها مهمة جداً وجالي منها أفكار مشاريع كتير.
عموماً مشكور عـ مجهودك والله استفادت من حضرتك كتير جداً لأنك بتشرح بضمير جزاك الله خير يابش مهندس وأنا آسف عـ الاطاله
استاذ
يمكن أيضا وضع الpb في intterpte fonction
حل بديل
لكن الاستخدام محدود يعني اقدر اربط 2 pbفقط
بامكانك عمل ما شئت في
Interrupt Service Routine
مع الالتزام بالنصائح اللي ذكرناها في حلقة الانتربت حول
ISR
استاذ انا دورة كتير على تصفير millis كل المواقع ذكرو انه ما بتصفر.. عم اقرا تعليقك انو بتصفر Rest millis (). ياريت تووسع بالشرع اذا في مجال
هو بصراحة القصة صعبه شوية لكن مع اللممارسه هتبقى أسهل إن شاء الله
مجهود رااائع جدا ... انا طالب داخل 2 كهربا باور ف اسكندرية ... واضح ان الكورس مش مبتدئين خالص ... بدأ للمبتدا و بيتدرج وصل للأدفانسد اظن ... 1- احنا كدا نعتبر دخلنا ع الأدفانسد ؟ ....2-أنا هخلص دي ان شاء الله و ادخل على باقي البلاي ليستات اردوينو .. تنصحني ادخل ع انهي بلاي بعد دي ع طول و بعدها ايه و هكذا؟
بص يا بشمهندس، المواضيع اللي بتكلم فيها لحد الان مفيش فيها اي حاجه كمستوي متقدم انا قبل ما ابدا الدورة دي بدات بالمستوي المتقدم، الكلام اللي في الحلقة دي انا شرحته قبل كده في حلقة مخصصة
Delay&millis
ورجعت شرحت تاني في الحلقة دي وعملت عليه تطبيق وصدقني كل الاشياء اللي ممكن تعتقد انها صعبة بتبقي تريكات برمجية وبذكرهالك ومع احترامي لاي حد شرح اردوينو سواء عربي او اجنبي انه بيهرب من التحدث عن الجزئيات اللي بتكلم فيها ده لانها جزئيات صعبة ومش هتجيب مشاهدات كتير او انه مش هيبقي متمكن منها قوي
فالكلام ده مفيش حد هيشرحه سواء علي النت او في كورس بفلوس، وكل اللي بطلبه من حضرتك تعيير انتباهك فقط وبعيد الحاجه مره واتنين وتلاته وبقعد بالساعات وتعب ومجهود علشان اوصل المعلومة للمتابع ولو انا مهتم بالمشاهدات مكنتش نزلت حلقات من دي لان اغلب الحلقات 100 مشاهدة ودي ولا اي حاجه مقابل المجهود، النقطة اللي بعد كده انا عندي خبرة في المجال اكتر مما تتخيل ومنظم جدا في شغلي وكل سلسلة حلقات بعملها بيبقي ليها هدف وبتخدم سلسلة تانية انا عاملها برضه
تستنتج من الكلام ده اني عارف الحته دي احطها فين وامته كويس وكل الكلام اللي اتكلمت فيه ده مبتدئين ومتوسطين ولم نتطرق الي المستوي المتقدم لاني عملته قبل كده وعارف محتوياته كويس
فكل اللي بطلبه منك تشوف الحلقة كويس ولو فيها حاجه مش واضحة قوللي وان شاء الله هرد عليك
أولا تسلم جدا جدا على مجهود حضرتك ..... ثانيا حضرتك حرفيا مش متخيل انا قد ايه فرحان جدا جدا جدا بالقناة دي لاني اكتشفتها لوحدي .....ثالثا حضرتك تقريبا فهمتني غلط ...أنا لما قولت أدفانسد ...كنت بشيد وبشكر في مهارة حضرتك انك بدأت للمبتدا و بكل مهرة وسلاسة وصلت لمستوى متقدم ...او اللي انا كنت فاكره متقدم يعني ....فأنا كنت فرحان بدا ...يعني كنت بشكر مش بنتقد :] ....... القناة رائعة جدا و انا اقسم بالله زعلان و مستغرب ازاي الاشتراك في قناة هااايلة زي دي موصلش مليون ...بس هيوصل قريب ان شاء الله و انا عموما ببعتها لصحابي ف الكلية ......... اخر حاجة ... حضرتك تنصحين أدخل على انهي بلاي ليست بعد البلاي المحترمة دي
انا اسف لو فهمتني غلط اني بهاجمك او برد علي انتقاد، انا والله مقصدش كده انا بس ببقي زعلان لما بنزل حلقة نفسي الناس تستفاد بيها وفعلا ناس كتيرة تستصعبها مع اني بقول دايما لو فيه جزئية مش واضحة اكتبوا في التعليقات ولو فيه حته مش واضحو وعايزين اعمل عليها تطبيق اكتبوها، ومبلقيش حد بيعمل كده وجميع الاسئلة اللي بتجيلي بتكون خارج موضوع الحلقات
فانا بعتذرلك لو حسيت اني بهاجمك
انا هدفي اني ابني قاعدة برمجية محترمة للمتابعين علشان لما اعمل بعد كده تطبيقات متقدمة ابقي عارف انا قولت ايه والمتابعين فاهمين ايه وايه اللي مش واضح.
بارك الله فيك
لو عايزني انصحك تبدأ بعد الكورس ده فايه
فانصحك تدخل علي
Advanced Arduino Coding
علشان تدخل علي الجزئيات المتقدمة وتربطها بالكورس ده وهنا تحصل الاستفادة من الكورسين
وهدف اني اعمل الكورس بتاع المبتدئين انه يخدم الكورس ده لان الكورس ده فيه كنية تفاصيل رهيبة
ولو احتجت اي حاجه انا تحت امرك
هو ازاي اطبق الكلام ده على كذه خرج فى الكود استخدم millies() ل اكتر من خرج ازاى
ua-cam.com/video/qO0E5DipW78/v-deo.html
debounce السلام عليكم بارك الله فيك يا عالمي .... لو سمحت انا عايز شرح عن
ua-cam.com/video/HgJs_NoVtlA/v-deo.html
ممكن تروح علي الدقيقة 9
السلام عليكم
هل بالامكان تصفير ()millis ؟
اتفرج علي احدث حلقة علي القناة فهي بخصوص هذا الموضوع
I write in english because i haven't arabic keyboard , my quistion is , can i use two functions at same time ? , first function is for running DS18B20 use millis() , seconde fonction while (for running stepper motors and many security sensors , thanks
لا يخفى عليك أن البروسيسر تؤدي وظيفة أو عملا واحدا فقط في أي لحظة من الزمن
ولكن إن كنت تعني أن الكونترولر يعمل بالتوازي في أكثر من مهمة أو وظيفة فهذا يتم بتوزيع الوقت على المهمات المختلفة
ولا يتوقف أبدا عند نقطة منتظرا مرور الوقت المحدد كما هو في أمر delay
تنصحني بايه برضه عشان ادخل طريق الامبدد ؟.. و هل الأردوينو هيفدني ف شغل باور عموما ؟
بص احترف أردوينو وبعد كده ادخل امبيديد وتوسع الاردوينو كبداية بيبقي كويس تبدا منه
الاردوينو في شغل باور, فهمك لطريقة عمل المايكروكنترولر والتريكات البرمجية بشكل عام ولغة
Arduino C
هتنفعك أكيد لو مش هتنفعك بمشاريع هيدخل فيها اردوينو فهتنفعك في طريقة التفكير البرمجية وده هيسهل عليك حل مشاكل كتير
احتكاكك الاكتر هيبقي مع
PLC
خصوصا في الصناعة وفي الغالب هتبرمجه بالـ
Ladder Diagram
وفهمك للمايكروكنترولر هيوفر عليك كتير ففهمك للـ
Registers
وكل الكلام ده هيصب في مصلحتك في النهاية سواء بطرق مباشرة او بطرق غير مباشرة
اللي انصحك بيه كمهندس باور وتتك عليه جامد
انك تبدأ
Autocad Electrical
انت مش متخيل ده هينفعك قد ايه لما تتخرج
كمان ان يبقي معاك لغة بمعني انك تبقي
Fluent
في
English
ده هينفعك جامد جدا
وانك تحتك مع
PLC
وتشتغل بايدك ولو فيه ورش عمل تشبط فيها
انك او فيه تدريب متاح قودامك في ثالثة تطلع ومنصحكش تضيع وقتك في التدريب قبل كده لان مش هتبقي فاهم كتير في مجالك وهيبقي بالنسبة لك اشبة بتضييع وقت فاهتم بالحجات اللي بقوللك عليها دي كويس
لما يتشرحلك الكورسات الخاصة بيك في الكلية زي
Micro Electronics
وال
Power Electronics
و ال
Motors
بأنواعها دايما ابحث عن الكلام ده علي النت وشوف تطبيقات عليه علشان تبقي فاهم كويس
مش عااارف اشكر حضرتك ازااي ...تسلم جدا انا كدا نظمت دماغي و طريقة تفكيري ♥
السلام عليكم
أولا شكرا على مجهودك محتوى رائع و إنسان أروع
عندي سؤال
صارلي أسبوع ببحث عن طريقة أعمل بيها reset للأردوينو عن طريق الكود
بس ما لقيت طريفة
و جربة أكثر من كود و ما مشي معي
بتمنى تحكيلي اذا في طريقة بكون متشكر ليك جدااااااااااااااااااااااااا
int led = 4;
int rest = 3;
void setup() {
// put your setup code here, to run once:
pinMode(led, OUTPUT);
pinMode(rest, OUTPUT);
digitalWrite(rest, 1);
digitalWrite(led, 1);
delay(1000);
digitalWrite(led, 0);
delay(1000);
digitalWrite(led, 1);
delay(3000);
digitalWrite(rest, 0);
digitalWrite(rest, 1);
}
void loop() {
// put your main code here, to run repeatedly:
}
هذا الكود اللي عملته بالنهاية و لكن لما يوصل للreset بطفي و لازم أفك pin 3 حتى ترجع الأردوينو تشتغل كمان مره
أفضل طريقة من وجهة نظري لعمل
Soft Reset
للاردوينو وشرحتها علي القناة قبل كده هيا انك تفعل ال
Watchdog Timer
وتعمله اعداد في بداية الكود داخل
Function
خاصة بيه وتنده علي
Function
دي من المكان اللي حابب تعمل
Reset
منه في الكود، ده مثال لده وكده كده باذن الله هشرح ده في فيديو قصير علي
Shorts
قريب
ده الكود:
#include
void software_Reset() {
wdt_enable(WDTO_15MS);
while(1) {}
}
void setup() {
software_Reset();
}
void loop() {
// الكود الأساسي بتاعك
}
وللعلم فيه كذا طريقة تانية ان شاء الله هستعرضهم في الفيديو اللي هينزل قريب علي القناة تابع القناة
@@arafamicrosystems
شكرا ليك جدا
بس لو تبعتلي الرابط تبع الفيديو لاني مش عارف اي واحد
و شكرا جدا يا صديقي ❤️❤️❤️❤️❤️❤️
حلقة عالية جدا
Vielen Dank
ولله العظيم ضعت انا في الحلقه دي هههه
عيد الحلقة أكثر من مره ولو فيه حاجه مش واضحة لسه قوللي وانا اوضحهالك
@@arafamicrosystems اكيد وبارك الله فيك بشمهندس حسام انا معجب جدا في شرح الممتاز وطرقتك واسلوبك
ربنا ما يضوعلك تعب شكرا وربنا يحميك من كل شر❤
ادخل ف البرروجكتات ولا الادفانسد ولا التريكات ي باش مهندس ؟
بص هو لو عايز تكمل وتدخل في المستوي المتقدم يبقي
Advanced Arduino Coding
أما لو عايز تكمل في التطبيقات
Arduino Projects
وبعد كده التريكات
مش فاهم الكود 😢😢😢
سؤال بعد إذنك يا باشمهندس
انا ظبط الدالة millis علي 1800000
يعني نص ساعه
وماشتغلتش ؟
هل ليها حدود ؟
ال millis
بتتحط في متغير من نوع
unsigned long
يعني بيقبل ارقام من
0 to 4,294,967,295 (2^32 - 1).
يعني اقصي رقم ده معناه 49 يوم
وبعدها بيحصل تصفير لا يؤثر اطلاقا علي الكود اللي شرحته لاننا بنشتغل علي الفرق
فراجع الكود عندك
المشروع ببساطة اني اتحكم مبدئيا بموتور عن طريق pushbutton
او اشارة ريموت
بس لو اتفتح الموتور
هيشتغل مده نص ساعه فقط
وبعد كده هيقفل لوحدة
اتمني حضرتك تبص على الكود لو تسمح انا رفعته
drive.google.com/open?id=19-Usjfp70dzUZL2-A-8m8OrfKjEVXmNE
@@arafamicrosystems
@@arafamicrosystems تسلم يا باشمهندس انا حلتها تسلم يا كبير ❤️👍
@@arafamicrosystems هو التصفير مش هيأثر على حاجة يعني كواجهة مستخدم وبعيد عن ما يحدث في كواليس الكود مش هيتأثر الكود بأي شي وهيصفر ويكمل من اول وجديد وهكذا ولا هحتاج مثلا لعمل ريستارت للبورد
الشرط هو.. قيمه حالية اكبر من قيمه سابقه بفارق نص ساعه.. نفذ الحلقه.. متل المثال الي تفضلت فيه... اما بعد ٤٩ يوم مستحيل يتحقق الشرط لان دائما القيمه السابقة اكبر بكتير من القيمه الحالية.. الف شكر على الرد استاذ🌹
بامكانك استخدام
Hard Reset
وانا شرحه في حلقة زمن البدء وده علشان تصفر
millis()
او استخدم
RTC
@@arafamicrosystems لو حل برمجي بلا ما رست ولا استعمال wdt
@@orwa12 يس يا فندم علشان تبقي فاهم اللي بيحصل
دالة ال
Millis
ما هي الا دالة بـ
return
unsigned Long
والدالة دي موجودة في
Timer 0 Interrupt
بمعني ان التايمر كل مللي ثانية بيدخل
لمقاطعة التايمر يزود القيمة بواحد
ويعمل
return
للقيمة
يعني الامر محسوم وانا قولتلك كل الحلول المتاحة وانت اعمل الانسب ليك
الف شكرا على التوضيح استاذ 🌹
@@arafamicrosystems❤
👍👏
السلام عليكم ورحمة الله وبركاته؛ يا بش مهندس عندي ملاحظة بسيطة على هذا المشروع بواسطة الدالة ( millis ) وهي كالآتي:
في أول دورة الجرس سيشتغل بعد عشرة ثواني ويستمر تشغيله لثانيتين ولكن في الدورة الثانية سيشتغل الجرس بعد ثمانية ثواني وليس كما هو مرغوب (10 ثواني) فما حل هذه المشكلة؟
وبارك الله فيك وجزاك الله عنا كل خير.
أخوك هيثم علي من ليبيا.
السلام عليكم استاذ عرفة
انا كنت حابة اعرف حضرتك خريج كلية اى يعنى هل فى قسم معين مخصص للأردوينو يعنى دلوقتى لو انا عايزه ادخل حاجة ليها علاقة بالأردوينو هل فى كلية معينة كده انا لما جيت ادور ملقتش الا حاسبات ومعلومات وفى ذكاء اصطناعي بس انا مش فاهمه هل اللى بيبقى حابب يدرس اردوينو بيبقى تعلم ذاتى وكورسات وكده ولا اى + آسفه انى طولت على حضرتك
وعليكم السلام ورحمة الله وبركاته، انا خريج هندسة جامعة عين شمس قسم ميكاترونكس، احنا خلال سنوات الدراسة درسنا برمجة ودرسنا امبيديد ودرسنا اردوينو، لكن المنهج اللي في الكلية مهما كان متقدم فلازم
Practice
لازم علشان تتقني مجال الامبيديد تدخلي مسابقات تبع الكلية بالاضافة تشتغلي في مجال الامبيديد وتتوسعي في المجال ك
Self Study
وتشتغلي مشاريع امبيديد لان ده اللي هيخليكي تحتكي بمشاكل كتيرة ومنها هتتعلمي.
@@arafamicrosystems شكرا جدا لحضرتك ومعلش اخدت من وقتك
بس يا هندسة أقصى قيمة كدة للtime1 هتكون 4294967295
بمعنى إن الالتطبيق ده مش هيشتغل أكتر من 50 يوم
صح ؟؟
أنا بتكلم عن استخدامها في تطبيق يحتاج فترات تشغيل مستمرة وطويلة
مضبوط اخر قيمة 49 يوم
وبعد كده القيمة هتتصفر
ومعني انها هتتصفر ان الكود أكنه عملتله
Reset
ومعني كده برضه لو مخليه يعمل حاجه كل 10 دقايق هيرجع يعملها بدون أي مشكلة
لان انت بتشتغل علي الفرق يعني بتطرح القيم من بعض
ومبترتبطش بالقيمة
تمام يا هندسة
جزاك الله خير :)
لكن لو محتاج تنفذ حاجه كل 60 يوم فده ببساطة هتتغلب عليه بانك تعمل
متغير تاني من نوع
Long
مثلا
Long Accum=0;
if(millis()==4294967295)
{
Accum++;
}
وهكذا تقدر تكسر قاعدة ال 49 يوم وتتعامل بعدها مع اني شايف ان 49 يوم ده حاجه كبيرة جدا ومش هتحتاج تعمل حاجه بعدها
تمام يا هندسة
هو السؤال ده كويس جدا، وفعلا انا فرحت لما سألتني السؤال ده ومعلومة ليك برضه ان لو عايز تصفر
Reset millis()
يبقي تعمل Softreset من الكود بمعني ترستر الاردوينو بالسوفتوير زي ما شرحت في حلقات
Advanced Arduino Coding
السلام عليكم ورحمة الله وبركاته عندي سؤال لو تكرمتم ها يمكن اعتماد الميليس كتطبيق ساعة دقيق؟ عندي فرق ثانية كل 12 ساعة علما لم استخدم اي ديلاي وماذا يحدث عندما تصل Millis إلى اقصى حد هل يمكن أن تضع اي حسابات أخرى لك لسهولة التواصل ايميل مثلا او فيس بوك؟ ولكم جزيل الشكر والتقدير والاحترام ❤ 🌹 🌹
بالنسبة للتاخير اللي ممكن تسببه دالة
Millis
فلو تطبيقك لا يتحمل التاخير هذا قم باستخدام
RTC
فنسبة الخطأ بها اجزاء بسيطة جدا من المليون
PPM
اما عن ماذا سيحدث عند وصول دالة
Millis
لاكبر رقم فشرحت ده قبل كده في حلقة تقدر تتفرج عليها من الرابط التالي
ua-cam.com/video/bK4kVYjAvMc/v-deo.html
بالنسبة لايميل للتواصل
ففي الغالب مبتابعش الايميلات نظرا لضيق وقتي فلو يوجد استفسار اكتبه في التعليقات
ولو يوجد مشاريع مدفوعة ارسلها علي هذ الميل
arafa.microsys.business@gmail.com
@@arafamicrosystems شكرا جزيل لاهتمامك ❤️❤️❤️
الكود في حته غلط 😅
if(millis()-time1 >= 2000&&mask==1)
{
digitalWrite(buz, 0);
mask=0;
time1=millis(); \\ الجزء دا ناقص 😃😃
}
تفوقت علي نفسك
👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍
استاذ عرفة .. لقد قمت بأرسال ايميل اليك ... و منتظر ردك لو امكن
بارك الله فيك وجزاك الله خيرا واصل ابداعك وفقك الله
بارك الله فيك
👍👍
بارك الله فيك