درس 521 من دورة الاردوينو -- تشغيل برنامج الوميض بدون إيقاف تأخير

Поделиться
HTML-код
  • Опубликовано: 24 ноя 2024

Комментарии • 58

  • @Osama-ep9vl
    @Osama-ep9vl 4 года назад +10

    حل التمرين الثاني:
    int buttom=8;
    int spk=9;
    int led=13;
    int P;
    int x;
    int ledDelay=500;
    bool s=0;
    unsigned long T1=0;
    unsigned long T2=0;
    void setup() {
    pinMode(buttom,INPUT_PULLUP);
    pinMode(led, OUTPUT);
    pinMode(spk, OUTPUT);
    }
    void loop() {
    T1=millis();
    if(T1>T2+ledDelay){
    s=!s;
    T2=T1;
    digitalWrite(led,s);}
    if(digitalRead(buttom)==0)
    ledDelay=100;
    else
    ledDelay=500;
    P=analogRead(A0);
    x=map(P,0,1023,500,1000);
    tone(spk,x);
    }

  • @Omar_z
    @Omar_z 4 месяца назад

    بارك الله فيك على الشروح الممتعة والرائعة وجزاك الله ألف خير ورزقك من واسع فضله

  • @VetRamiAwwad
    @VetRamiAwwad 4 года назад +4

    كل التحية و الحب و الاحترام و التقدير لاستاذي الذي لم اره في حياتي 3>

  • @asaadtulpa3368
    @asaadtulpa3368 3 года назад

    بارك الله فيك واسال الله ان يجعل هذه العلم في مزان حسناتك كل الفخر في بلاد التوحيد حكومتا وشعبا💖💖💖💖

  • @mostafasuliman7513
    @mostafasuliman7513 3 года назад

    الف شكر ليك و تحية على مجهوداتك العظيمه ...جزاك الله خيرا ... اخي الكريم !!!!

  • @icerde2531
    @icerde2531 4 года назад +1

    جزاك الله خير

  • @younessalaouiismaili7562
    @younessalaouiismaili7562 2 года назад

    Exercice 1:
    byte x;
    int led1=12;
    int led=10;
    int D=100,d=1000;
    unsigned long T1=0, T2=0, t1=0;
    void setup(){
    pinMode(led1, OUTPUT);
    pinMode(led , OUTPUT);
    }
    void loop(){
    T1=millis();
    if(T1>T2+D){
    x=~x;
    digitalWrite(led1,x);
    T2=T1;
    }
    if(T1>t1+d){
    x=~x;
    digitalWrite(led,x);
    t1=T1;
    }
    }

  • @hussamshadoud5777
    @hussamshadoud5777 4 года назад +1

    حل التمرين الثاني :
    int LED=3,SW=7,Buzzer=4;
    int D1=300,D2=600;
    int x,freq;
    unsigned long T1=0,T2=0,T3=0;
    bool s1=0,s2=0;
    int max=0,min=1023;
    //-----------------------
    void setup()
    {
    pinMode(LED,OUTPUT);
    pinMode(Buzzer,OUTPUT);
    pinMode(SW,INPUT_PULLUP);
    delay(1000);
    tone(4,200,200);
    while (millis()T2+D1)
    {
    s1=!s1;
    digitalWrite(LED,s1);
    T2=T1;
    }
    }
    else
    if (T1>T3+D2)
    {
    s2=!s2;
    digitalWrite(LED,s2);
    T3=T1;
    }
    }

    • @mehdiexcelsior20
      @mehdiexcelsior20 2 года назад

      you take some mistakes bro
      led should blink alternatly not direct way

  • @khaledkhaled-ec1lm
    @khaledkhaled-ec1lm 6 месяцев назад

    شكرا

  • @in-fk1fb
    @in-fk1fb 4 года назад +1

    int light =11,piezo=3;
    int button1=0,button2,resister;
    unsigned long T1,T2=0;
    int S1=0,S2=0;
    void setup() {
    Serial.begin(9600);
    pinMode(light,OUTPUT);
    pinMode(piezo,OUTPUT);

    }
    void loop(){
    T1=millis();
    while(button1==0){

    T1=millis();
    button1=digitalRead(A1);
    if(T1>T2+100){
    S1=!S1;
    T2=T1;
    digitalWrite(light,S1);
    }
    resister=analogRead(A0);
    tone(piezo,200,100);
    }


    if(T1>T2+500){
    S2=!S2;
    button1=digitalRead(A1);
    digitalWrite(light,S2);
    T2=T1;}
    tone(piezo,resister,100);
    resister=analogRead(A0);

  • @abdulalessi2962
    @abdulalessi2962 5 лет назад +1

    طيب اذا كان قيمة الميليس اكبر؟12:20
    لانه في الكود حقي في حلقة وايل وايضا في ديلاي
    قبلها

  • @حيدرالغراوي-ق7ر
    @حيدرالغراوي-ق7ر 3 года назад +2

    والله آني تعبان .. نأخذها والله تعبان بس عندي نشاط خلي نسوي التمرين بس آني تعبان تعبان هههههه

  • @Mohammad-kf1tg
    @Mohammad-kf1tg Год назад

    حل التمرين الثاني
    اول شي توصل الضو على الارضي ومع مقاومة على منفذ 12
    وتوصل السماعة مع الارضي ومنفذ 8
    وتوصل الزر مع الارضي ومنفذ 7
    وتوصل المقاومة المتغيرة على الارض و A0 و 5V.
    وبعدين الكود
    unsigned long T1=0,T2=0;
    bool s=0;
    void setup()
    {
    pinMode(12,OUTPUT);
    pinMode(8,OUTPUT);
    pinMode(7,INPUT_PULLUP);
    }
    void loop()
    {
    int D=3000;
    T1=millis();
    int c=digitalRead(7);
    int x=analogRead(A0);
    tone(8,x,T1);
    if(c==0){
    D=500;
    }
    if(T1>T2+D){
    s=!s;
    digitalWrite(12,s);
    T2=T1;
    }
    }
    اخذت مساعدة من تعليق Osama اللي تحت او فوق.

  • @رجلالسلام-خ2و
    @رجلالسلام-خ2و 4 года назад +3

    كيف اصفر millis بعد 3 ايام او بعد 10 ايام مثلا و اخليه يبدا من جديد

    • @HSRMF
      @HSRMF 4 года назад +2

      اعتقد عن طريق watch dog
      ابحث عن الموضوع ، عسى ان تنفعك

    • @رجلالسلام-خ2و
      @رجلالسلام-خ2و 4 года назад +2

      @@HSRMF شكرا على ردك و بارك الله فيك و في صاحب الفيديو و الجميع

    • @HSRMF
      @HSRMF 4 года назад +1

      @@رجلالسلام-خ2و بالتوفيق للجميع اخي ..

    • @allawi_jalal1596
      @allawi_jalal1596 3 года назад

      نفس السوال لقيت الحل ؟؟؟

  • @mahershhab3824
    @mahershhab3824 4 года назад

    الي يشاهد المقاطع ويعتقد الامر سهل وان فاهم لما يروح للعملي راح يلاقي حالوا صفر. حاول تشاهد درس وتروح للتنكر وتطبق وحاول تغير بالاوامر شوي لحتى تحس انك فاهم. عشان خطأ في كتابه حرف الف حول حالي

  • @Gamers_j.f.j
    @Gamers_j.f.j Год назад

    الموقع يعطيك عدد معين
    لرفع الاومر الى الاردوينو

  • @shahed1496
    @shahed1496 5 лет назад +2

    يعطيك العافية انا حليت التمرين للجزء الاول فقط بطريقة مختلفة عن يلي بالتعليقات
    T1=millis();
    S=0;
    x=digitalRead(butoom) ;
    While(T1 > (T2 - 20 *x){
    S =!S;
    digitalRead(LED, s) ;
    T2=T1;}
    صحيحة؟؟؟؟؟؟؟ 🤨
    اذا كان الزر on بيطرح من الوقت ٢٠

    • @Osama-ep9vl
      @Osama-ep9vl 4 года назад +1

      وين الif?
      وين الشرط لما ينضغط الزر يطرح من الوقت 20؟
      الكود ناقص 🙃

  • @AliMohamed-vx2tv
    @AliMohamed-vx2tv 5 лет назад +1

    جزاك الله كل خير
    زمن التشغيل ٥٠٠ مل ثانية
    عرفناه بالمتغير
    زمن الانتضار او الايقاف
    من وين تحدد
    هل من المعادلة؟
    وشون اكدر ازيدة اكثر؟

    • @jeem2academy334
      @jeem2academy334  5 лет назад +1

      مرحبا بك ___ الموضوع مقارنة بين
      T1 , T2
      يعني مثلا اكتب
      if(T1>T2+600) { T2=T1; do anything here ..... }

  • @aqqqq5357
    @aqqqq5357 2 года назад

    ارجو ازاله الموسيقى وشكرا

  • @amirafaroui4881
    @amirafaroui4881 2 года назад

    for me ,in the 1st exercise, i used T1 ,2 for the led n1 and T3,4 for the n2,but it didn't work , i think there is a relationship with millis ,it 's more complicated to turn 2 millis in the same loop...,who has an idea ,or the wrong ,share it with me ,please!!

  • @May-zi2hj
    @May-zi2hj 6 лет назад +1

    مهندس سامي نشكرك كثير على الدروس .. بارك الله فيك ..
    عندي سؤال اذا كان الزمن الاطفاء ما يساوي زمن الاشتغال لدايود ضوئي واحد فقط
    مثلا اذا عندنا عندي LED واحد والمطلوب يكون شغال لمدة ثانية واحدة ثم يطفي لمدة نصف ثانية
    وبدون استخدام امر الديلاي ؟
    وسؤال عندما يستقبل الاردوينو مدخلات من حساسات متنوعة والتنفيذ يكون على هذه (المدخلات التماثلية والرقمية) ونحصل النتايج بدون تاخير ديلاي كيف !؟ كيف نطبق الmillis هنا
    وممكن تحل لنا السؤال الاخير بهذا الدرس لأن بيفيدنا كثير في فهم دالة الmillis عند وجود مداخل عديدة للاردوينو !؟
    وشكرا

    • @jeem2academy334
      @jeem2academy334  6 лет назад +4

      بالنسبة للسؤال الأول ::
      unsigned long T1=0 , T2=0;
      bool s=0;
      T1=millis();
      if(T1>T2+1000 && s==0 ){T2=T1; s=1 ; digitalWrite(13,0);}
      if (T1>T2+500 && s==1) { T2=T1 ; s=0 ; digitalWrite(13,1);}

    • @jeem2academy334
      @jeem2academy334  6 лет назад +2

      السؤال الثاني غير واضح :: حسب فهمي ... فقط ضع كل قراءة حساس في متغير مختلف ، و استخدمها حسابيا في أي شيء. .... و الحقيقة انا حاليا أمنتج دروس متقدمة و يصعب أعود للدروس القديمة

    • @jeem2academy334
      @jeem2academy334  6 лет назад +2

      www.tinkercad.com/things/gjLtZklsTXk
      حاولت أحلها في الرابط السابق ____ لاحظ تشعر إن كل شيء بطيء ... السبب هو قدرة الموقع البرمجية _ لاحظ سرعة التشغيل في الأعلى . . لكن أعتقد أن الكود مكتوب صح ، و بدون تأخير _ توقف

    • @massmedia3226
      @massmedia3226 5 лет назад

      @@jeem2academy334
      في نهاية الكود هناك delay(10)
      لماذا؟

    • @jeem2academy334
      @jeem2academy334  5 лет назад +2

      @@massmedia3226 تزيد سرعة التنفيذ في موقع تينكر كاد ... غير مهمة في الاردوينو الحقيقي

  • @djaminepira671
    @djaminepira671 4 года назад +1

    أخي العزيز لدي مشكل في كود ، برمجت الأردوينو ليدور سيرفو الموتور كل اربع ساعات و الشاشة تظهر نتيجة حساس الحرارة كل خمسين ميلي ثانية و لكن الشاشة تظهر النتيجة كل اربع ساعات أي زمن السيرفو موتور ، ما هو الحل ؟؟

    • @HSRMF
      @HSRMF 4 года назад

      هل استخدمت دالة ال delay مع السيرفو ؟

    • @djaminepira671
      @djaminepira671 4 года назад

      @@HSRMF نعم

    • @HSRMF
      @HSRMF 4 года назад +1

      @@djaminepira671 اذن سيتوقف الكود عند ال
      delay
      الاولى حتى تنتهي المدة ثم يكمل بقية الكود ، طبق دالة ال
      mills
      في كل الكود و ان شاء الله يعمل كما تريد ..

    • @djaminepira671
      @djaminepira671 4 года назад

      شكرا لك

    • @djaminepira671
      @djaminepira671 4 года назад

      لقد نجح معي الأمر و لكن لم اجد كود بالميليس لموتور سيرفو ؟؟

  • @ahmadmuslimani29
    @ahmadmuslimani29 3 года назад

    كتبت الكود بس مو راضي يقلب , عم يشتغلو الليدات ويبقو شغالين بدون وميض اللي يعرف فين الخطأ يعلمني (●'◡'●)
    unsigned long t1=0,t2=0,f1=0,f2=0;
    bool x=0,y=0;
    void setup()
    {
    pinMode(13, OUTPUT);
    pinMode(7, OUTPUT);
    }
    void loop()
    {
    t1=millis();
    if( t1 > t2+500 ){
    x=!x;
    t1=t2;
    }
    f1=millis();
    if( f1 > f2+200 ){
    y=!y;
    f1=f2;
    }
    digitalWrite(7,y);
    digitalWrite(13,x);
    }

  • @ahmedatia9697
    @ahmedatia9697 5 лет назад +1

    يا شيخ انت ليش مصعبها يا شيخ في الف طريقه اسهل شكلك جاهل وقاعد تشرح

    • @وسامالهاشمي-ج9و
      @وسامالهاشمي-ج9و 5 лет назад +3

      ترا هو نفسه قال بهذا المشروع مالها اي داعي هالطريقة لكنه سواها لانه مشروع سهل حتى فهمها يكون سهل لكنك شكلك همجي حافظ مو فاهم