Blinking LED GPIOs LAB1

Поділитися
Вставка
  • Опубліковано 2 лип 2018
  • Blinking LED - GPIOs LAB1
    Embedded Systems Tutorials - Microchip PIC Microcontrollers - MPLAB X
    [[ Tutorial #7 ]]
    You can read this exact same tutorial as a written article (in English) on my website.
    Through this link down below
    deepbluembedded.com/input-out...
    You can also check for downloadable content (code + schematics) herein in the description or on the website
    ===========================================
    In this tutorial, We'll create our first embedded project (LED Blinking). We'll do the coding stuff, simulate the project on the computer simulation software, and finally construct the prototype to test the project practically.
    ===========================================
    You can follow this course playlist on UA-cam
    You can also follow this course (with extra info) on my website
    deepbluembedded.com/pic-progr...
    ===========================================
    Downloadable Files & Links
    ----------------------
    [[ MPLAB Code Project (Firmware) ]]
    MediaFire
    Link1 destyy.com/wJjnou
    Link2 zipansion.com/1oexE
    Drive
    Link1 destyy.com/wJjnaQ
    Link2 zipansion.com/1oezp
    [[ Schematics + Simulation Files ]]
    MediaFire
    Link1 destyy.com/wJjnYs
    Link2 zipansion.com/1ofD4
    Drive
    Link1 destyy.com/wJjnIj
    Link2 zipansion.com/1ofDl
    ===========================================
    For More Information
    Visit my website @ DeepBlueMbedded.com
    deepbluembedded.com/
    Follow me on socials
    LinkedIn / khaled-magdy-
    Twitter / ii_deepblue_ii
    FaceBook / khaled.elrawy.359
    ===========================================
    If you've any questions, feel free to leave a comment down below. I will be glad to respond to your comments as soon as possible.
    Good Luck ^^
    And don't forget to SUBSCRIBE for more tutorials from DeepBlue!
    If you find this content useful, Then Share It With Your Network!
  • Наука та технологія

КОМЕНТАРІ • 83

  • @ctobi707
    @ctobi707 3 роки тому +5

    man the feeling you get from the thing actually working, a thing of beauty

  • @comedymood9529
    @comedymood9529 Місяць тому

    جزاك الله كل خير.الشرح جميل والرسومات التي تضعها والالوان والتلخيص اكثر من رائع.اتمنى ان تضع لنا ملف pdf للرسومات والشرح الذي تضعه جانبا على الورق نظرا للظروف الصعبة التي نعيشها وجزاك الله كل خير ❤❤

  • @basmaal-ghali9174
    @basmaal-ghali9174 3 роки тому +1

    بارك الله في عمركم ونفعكم ونفع بكم

  • @user-sb5pr3nq4u
    @user-sb5pr3nq4u 4 роки тому +2

    رحم الله والديك

  • @peternagy9183
    @peternagy9183 4 роки тому

    Thanks

  • @mreengineering4935
    @mreengineering4935 3 роки тому

    ياخي انت قوووه

  • @abbeed1
    @abbeed1 4 роки тому +1

    الله يجزيك الخير

  • @Omar.bin.khattab
    @Omar.bin.khattab 2 роки тому

    ما شاء الله لا قوة الا بالله
    احسنت وبارك الله فيك

  • @elhosseninoureldeen6991
    @elhosseninoureldeen6991 4 роки тому +1

    شكرا علي المحتوي العظيم اللي بتقدمه
    ممكن PDF فيه كل ال components اللي هنتسخدمها خلال الكورس

  • @ahmadmadany5032
    @ahmadmadany5032 5 років тому +1

    شئ ممتع
    جزاك الله خير

    • @DeepBlueMbedded
      @DeepBlueMbedded  5 років тому

      بالتوفيق اخی .. استمر 😀✌

  • @yasserlabeeb.
    @yasserlabeeb. 2 роки тому

    وفقك الله

  • @GimmeMonie
    @GimmeMonie 3 роки тому +3

    فيه مشكلة غريبة، الدايرة مش بتشتغل صح غير لما ألمس ال ground بإيدي!!
    بحثت عن الموضوع بيقولوا بسبب floating input, مش فاهم فين المشكلة بالظبط؟
    ⚠️تعديل
    الحمد لله عرفت المشكلة فين.
    ال pin رقم 36 كان floating, اللي هو RB3/PGM
    ده ال pin بتاع ال In-Circuit Serial Programming. أنا خليته on في ال configuration bits عشان ال PIC kit 3 مكانتش عايزها تحرق الكود غير لما فعلته.
    ملحوظه ال pin السادس في ال PIC kit 3 بتوصله بال pin 36 اللي هو PGM وبعد الحرق بنعمله pull down بمقاومة 10k.

  • @zakariakhouni9569
    @zakariakhouni9569 4 роки тому +2

    ملاحظة فقط أثناء معرفة أطراف اللد (الطريقة الثالثة) انت عكست (لأن المثلث الكبير هو اللي يدل على الموجب) شكرا وبارك الله فيك

    • @DeepBlueMbedded
      @DeepBlueMbedded  4 роки тому +3

      متأكد يا اخی ؟ 😀
      طيب جربها تانی معلش لانی متأكد انی قولتها صح .. المثلث الصغير يدل علی الموجب انا متأكد من ذلك ما تخلينيش اشك ف نفسی 😅

  • @hossammohamed
    @hossammohamed 2 роки тому

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

  • @odainaser7573
    @odainaser7573 Рік тому

    عدم اضافه مواسعين بجانب الكريستال هل تأثيره قوي؟ وكم قيم المواسعات المناسية

  • @abdosherif7280
    @abdosherif7280 Рік тому

    بشمهندس بيجيلي ايرور ف ال simulation مكتوب فيه
    Mixed model1 PIC16.DLL fail to authorize-missing or invalid customer key
    ده ايه ده مع العلم ال build بتاع الكود صح

  • @smartarabicprojects1782
    @smartarabicprojects1782 3 роки тому

    السلام عليكم ما هو اقصى تيار يمكن ان يتحمله المتحكم

  • @abdokotb6000
    @abdokotb6000 2 роки тому

    معلش انا لسه مبتدئ ولقيت الكورس برمجة ميكروكونترولر فتحت بس انا مش لاقي اي حاجة اعرفها هنا في حاجات المفروض اكون عارفها قبل مدخل الكورس دة انا مخلص c ,c++ ,ومخلص جزء كبير من الالكترونيكس

  • @Fungril
    @Fungril 3 роки тому

    hi, am getting those errors on proteus, mixed model PIC16.DLL failed to authorize - Missing or invalid Customer Key.. [U1]
    and
    Real Time Simulation failed to start.
    Simulation FAILED due to fatal simulator errors.

  • @ahmedhamdy6662
    @ahmedhamdy6662 2 роки тому

    بشمهندس ال MPLAP مش متعرف علي

  • @yusufborham7039
    @yusufborham7039 4 роки тому

    Hello Khaled I am from Egypt and I am watching your tutorial of the embedded systems and I am in the eighth episode and can't find pickit 3 to buy it and use it to program the pic16F877A so I am asking you if I could use a FTDI module to program it Thank you for you nice tutorial it's the best one I watch please answer

    • @ctobi707
      @ctobi707 3 роки тому

      stick to simulators for now bro

    • @GimmeMonie
      @GimmeMonie 3 роки тому

      موجودة باب اللوق عند ميدان التحرير، في محلات الكترونيات كتير هناك، زي رام و free electronics والنخيلي وغيرهم

  • @kareemessam6245
    @kareemessam6245 5 років тому

    How could I make like this short wires to make the breadboard more clear

    • @DeepBlueMbedded
      @DeepBlueMbedded  5 років тому

      You can DIY using a roll of wires or you can buy a kit of wires just like these i usually use in my videos

  • @Lamoboos223
    @Lamoboos223 Рік тому

    ليه ما استخدمت arduino IDE ؟

  • @omarf148
    @omarf148 5 років тому

    you could of used if_with same condition instead of the nested loop because i think you used while to make use of its condition
    am i right ?

    • @DeepBlueMbedded
      @DeepBlueMbedded  5 років тому +1

      Dude, it's a very good question!
      Technically speaking, only for this particular example, replacing the nested while loop with the if statement will result in the exact same behavior which is "LED Blinking Twice Per Second".
      However, if you're using an if statement (condition), you can never guarantee that the led will be blinking twice/second. The main loop will always have many other instructions (code) to execute which takes more time in fact. You can simulate this by adding a small delay in the main loop. And you'll see that you can never guarantee a twice/second blinking behavior.
      On the other hand, with a nested while loop, the CPU will be "Locked" doing nothing other than blinking the LED for a guaranteed twice/second behavior.
      I hope this helps to clarify the difference between using an if statement and a nested loop. even if they utilize the same logical condition, they will result in a completely different behavior.

    • @omarf148
      @omarf148 5 років тому +1

      @@DeepBlueMbedded
      yea it's all clear now , thanks sir.

  • @dohaelhady8551
    @dohaelhady8551 4 роки тому

    First of all, Thanks for the videos.
    Secondly, MPlab gives me an error of :
    [2042] no target device specified; use -mcpu option to specify a target device
    make[2]: * [build/default/production/main.p1] Error 1
    make[1]: * [.build-conf] Error 2
    make: * [.build-impl] Error 2
    what is the reason?

    • @user-lc2ff4hw1v
      @user-lc2ff4hw1v 3 роки тому

      yes friend i think you must attention for syntax of while loop
      while(condition)
      {
      code block
      }
      focus on curved brackets

  • @mohamedyounis4058
    @mohamedyounis4058 3 роки тому

    بيطلعلي ايرور في السوفتوير بتاع الpickit 2 كل اما اجي احرق الكود على البيك بيقول
    programming failed at program memory address 0x000000

  • @naderabdo8895
    @naderabdo8895 4 роки тому

    انا مش فاهم حته P.B اللى بيعمل RESTART
    ياريت لو توضحها تانى

  • @kerolosmarsleus5293
    @kerolosmarsleus5293 Рік тому

    انا بيطلعلي 2.5 فولت لما بدوس علي السويتش ومش بينور ويطفي

  • @mahmoudessam1162
    @mahmoudessam1162 4 роки тому +1

    بالنسبة لل pic 16F628A
    ال osc الداخلي 4MHZ
    ايه الجملة اللي بدل
    #define _XTAL_FREQ 4000000
    عشان نحطها وميحصلش error

    • @DeepBlueMbedded
      @DeepBlueMbedded  4 роки тому +1

      التعريف ال حضرتك كاتبه دا ضروری عشان الديلای ماكرو لو هتستخدمه بعد كدة.
      لو استخدمت الديلای فالكود بتاعك و مكنش مكتوب السطر ال فوق دا، الكومبايلر هيخرب الدنيا 😀 بغض النظر عن نوع الاوسيليتور او ترددها او الكنترولر او ای شیء. دا كدة اولا
      لو حضرتك معاك pic16f628a
      و حابب تختار الكريستالة الداخلية ف دی بيتم ضبطها من الكونفيج بيتس زی ماشرحت انا كدة ف بداية عمل البروجيكت. اختار الكريستالة الداخلية ك مصدر للكلوك و بس كدة.

    • @mahmoudessam1162
      @mahmoudessam1162 4 роки тому +1

      @@DeepBlueMbedded
      شكراً جزيلاً لحضرتك تم حل المشكلة
      كانت في ال delay
      الحل بالطريقة ديه
      #ifndef _XTAL_FREQ
      #define _XTAL_FREQ 4000000 //4Mhz FRC internal osc
      #define __delay_us(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000000.0)))
      #define __delay_ms(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000.0)))
      #endif
      المصدر موقع مايكروشيب

    • @mahmoudessam1162
      @mahmoudessam1162 4 роки тому

      شكراً جزيلاً لحضرتك
      ممكن مساعدة تقنية في فكرة
      ازاي ممكن يتم عمل Access لكل بت
      في لغة ال C من أي data type
      ازاي ال compiler بيعملها ؟
      لو اتطبقت الفكرة ديه والكود بقى سهل كده
      زي ما بنعمل ال tris وال port
      بس لأي data type بقى char int اي حاجة
      ممكن تسهل الدنيا .. لو عند حضرتك علم
      في لغة ال c ازاي تتعمل هتسهل حاجات كتيرة

    • @DeepBlueMbedded
      @DeepBlueMbedded  4 роки тому +1

      تحت امرك ب اى وقت ان شاء الله ^^
      الموضوع بسيط اه و من ضمن خصائص لغة السى
      تمسى Bit Fields
      و يمكنك انشاءها و تسميتها واستخدامها كيفما شئت
      فقط انظر الشرح فى هذا الدرس
      www.geeksforgeeks.org/bit-fields-c/
      او ابحث على الانترنت عن البيت فيلدز و هتوصل ان شاء الله
      بالتوفيق ^^

    • @mahmoudessam1162
      @mahmoudessam1162 4 роки тому

      @@DeepBlueMbedded شكراً جزيلاً لحضرتك ربنا يجازيك كل خير

  • @electronic6774
    @electronic6774 2 роки тому

    السلام عليكم و رحمة الله و بركاته
    أنا عندي مشكلة البورتات و الpins مش بتبقي لونها أخضر معناها انها مش متعرفة initialized

    • @electronic6774
      @electronic6774 2 роки тому

      يعني بعد ما أحط PORTBbits. مش بيظهر حاجة

  • @ahmeddenewar4631
    @ahmeddenewar4631 4 роки тому

    السلام عليكم شكرا جزبلا لمجهودك الكبير ............انا دلوقتي بقالي يومين pickit2 USB unknown و مش عارف ايه السبب

    • @DeepBlueMbedded
      @DeepBlueMbedded  4 роки тому

      لسا مشتغلتش بردو ؟
      هی البتاعة دی ليها درايفر للويندوز كدة بينزل معاها من موقع الشركة ال اشتريت منها و موجود كتير ع النت هو بردو لو بتستخدم نسخة و يندوز معينة دور ع درايفر ليها
      Pickit2 drivers for windows x
      و هتوصله ان شاء الله

  • @Technical-Ocean
    @Technical-Ocean Рік тому

    يا باش مهندس انا بحاول اعمل المحاكاة على برنامج ال Proteus بس للأسف بواجه رسالة خطأ "PIC16.dll" مفقود

  • @AhMed-qs8in
    @AhMed-qs8in 5 років тому

    I have error in Proteus I hope you help me to solve that problem, when I press run give me " Error reading HEX file at line 1: Colon expected at start of line "
    Also another Error says " Real Time Simulation failed to start "
    So could you help me please ??

    • @DeepBlueMbedded
      @DeepBlueMbedded  5 років тому

      Can you upload any image indicating this error?
      Does the code compile successfully?
      What about the configuration bits?

    • @AhMed-qs8in
      @AhMed-qs8in 5 років тому

      @@DeepBlueMbedded thanks for your replying, but i think i can't upload images in comments, can i send it by email?

  • @user-ur1fh2zg5k
    @user-ur1fh2zg5k 3 роки тому

    اسف جدااا يا هندسه علي السؤال هو البور بيكون 5 فولت ولا كام بظبط

    • @DeepBlueMbedded
      @DeepBlueMbedded  3 роки тому +1

      اه 5فولت بالضبط. المايكرو يستحمل لحد 5.3 تقريبا بس حاول تستخدم منظم جهد يطلع5فولت بالضبط زی
      LM7805
      و مفيش اسف و لا حاجة انا تحت امرك يااخی، بالتوفيق يارب ^^

    • @user-ur1fh2zg5k
      @user-ur1fh2zg5k 3 роки тому

      @@DeepBlueMbedded شكراااا يا هندسه

  • @Raghadhafez
    @Raghadhafez 10 місяців тому

    ليه فيه خط أحمر تحت
    PORTBbits.RB0 =0;

  • @wxmohamed2679
    @wxmohamed2679 4 роки тому

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

    • @DeepBlueMbedded
      @DeepBlueMbedded  4 роки тому +1

      امممم دا معناه ان فی مشكلة فی دايرة الباور عندك .. او ممكن يكون الميكرو بيعمل ريستارت بشكل مستمر دا لو كنت موصل المقاومة من بين رقم1 الی الارضی و طبعا هی المفروض بتتوصل علی ال5فولت.
      لو توصيلة المقاومة صح
      يبقا مشكلة فی دائرة بالباور او البطارية نفسها ممكن تكون ميتة 😀
      فی احتمالات كتير هنا .. ف حاول تراجها كويس و لو حابب تاخدلها كام صورة من زوايا مختلفة و تبعتهملی ع الميل او الفيس اراجعها معاك ف انا معاك ان شاء الله ف ای وقت 😀👌

    • @wxmohamed2679
      @wxmohamed2679 4 роки тому

      @@DeepBlueMbedded هكلم حضرتك فيس

  • @mohammedahmed-br5jt
    @mohammedahmed-br5jt 5 років тому

    جزاك الله خيرا يا استاذ
    لدي سؤالين
    1- ما هي قيمة المتسعة بين الموجب والسالب.
    2- كيف اقوم بالسيطرة على امرين ب(بوش بوتم واحد ) اي اني لو قمت بالضغط عليه ضغطة قصيرة سيعمل الليد , اما اذا قمت بالضغط عليه ولم ارفع يدي منه لثلاث ثواني مثلا سيقوم بعمل ريستارت مثلا كبعض الاجهزة.

    • @DeepBlueMbedded
      @DeepBlueMbedded  5 років тому

      و اياكم اخی الكريم ^^
      1 اعتقد لم افهم السؤال جيدا لكن لو تقصد المكثف ف يمكنك استخدام ای قيمة تريد 100 ميكرو مثلا او 470 ای مكثف ذو سعة متوسطة سيفی بالغرض.
      2 يمكنك تنفيذ ذلك باستخدام تايمر بمجرد الضغط ع البوتون يبدأ التايمر فی العد و لما تنتهی الفترة بتاعته و ليكن بعد 2 ثانية فالهاندلر بتاع الانتربت خد القرار بتاعك و اعمل ريستارت او ما شئت .. اما ف حال ان اليوزر رفع صوباعه من ع البوتون بسرعة ف هتعمل تصفير للتايمر و تطفيه بداخل اللوب الاساسية عادی جدا. الكلام دا شبه ال بيحصل ف حالة استخدام مؤقت كلب الحراسة تماما !
      تقدر تعمل ای طريقة مختلفة دا مجرد اقتراح للحل و اكيد فی طرق مختلفة اخری

    • @mohammedahmed-br5jt
      @mohammedahmed-br5jt 5 років тому

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

  • @mohsenazmi5
    @mohsenazmi5 4 роки тому +1

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

    • @DeepBlueMbedded
      @DeepBlueMbedded  4 роки тому +1

      تقصد انك لما بتكتب اسم ريجيستر او bit field
      مش بتظهر عندك او بيديك ايرور ؟
      اتاكد انك عامل
      #include

    • @mohsenazmi5
      @mohsenazmi5 4 роки тому

      معمول!!!

    • @DeepBlueMbedded
      @DeepBlueMbedded  4 роки тому +1

      طب هو ايه شكل الايرور ال بيطلعلك .. زعلان من ايه الكومبايلر ؟
      بص كدة فالlog بتاع الbuild process
      ال بيظهر عندك من تحت
      السطر ال تلاقی فيه كلمة error
      هيبقا لونه ازرق و قابل للضغط
      اضغط عليه و هيوديك لمكان الايرور دا فالكود و لو معرفتش خده كوبی بيست ف جوجل و سيرش بيه ع الايرور دا

  • @technology479
    @technology479 2 роки тому

    صديقي انت مستخدم لنكات مش شغاله للاكواد ارجو التعديل

  • @ahmedfarag5103
    @ahmedfarag5103 3 роки тому

    بيقولي خطأ fatal error في proteus
    رغم عملت كل حاجه زيك بالظبط

    • @user-lc2ff4hw1v
      @user-lc2ff4hw1v 3 роки тому

      تأكد أخي الكريم لأن syntax لـ while هو
      while(condition)
      ;{block code}
      ركز على curved bracket

    • @ahmedfarag5103
      @ahmedfarag5103 3 роки тому

      @@user-lc2ff4hw1v انا حليت المشكلة من زمان يحبيبي بس والله بجد شكرا ليك وربنا يوفقك❤❤❤

    • @user-lc2ff4hw1v
      @user-lc2ff4hw1v 3 роки тому +1

      @@ahmedfarag5103 آمين وياك

  • @ahmed96207
    @ahmed96207 4 роки тому

    بيدييني الايرورز دي باللون الاحمر
    make[2]: *** [build/default/production/main.p1] Error 1
    make[1]: *** [.build-conf] Error 2
    make: *** [.build-impl] Error 2
    BUILD FAILED (exit value 2, total time: 2s)

    • @DeepBlueMbedded
      @DeepBlueMbedded  4 роки тому

      يا ريت لو فى سكرين شوت لرسالة الايرور كلها .. دى اخر حتة من تحت بس لكن الايرور بالتحديد هتلاقيه فوق شوية فى الرسالة

    • @ahmed96207
      @ahmed96207 4 роки тому

      @@DeepBlueMbedded طب ممكن فيسبوك بتاعك ابعتلك الاسكرين عليه ؟

    • @ahmed96207
      @ahmed96207 4 роки тому

      @@DeepBlueMbedded ها يا غالي ابعتلك فين الاسكرين لو سمحت

    • @user-lc2ff4hw1v
      @user-lc2ff4hw1v 3 роки тому

      وانا كذلك مثلك ؟؟

    • @user-lc2ff4hw1v
      @user-lc2ff4hw1v 3 роки тому

      تأكد أخي الكريم لأن syntax لـ while هو
      while(condition)
      ;{block code}
      ركز على curved bracket

  • @chabihabdelaziz7224
    @chabihabdelaziz7224 4 роки тому

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

    • @DeepBlueMbedded
      @DeepBlueMbedded  4 роки тому

      شكرا لك اخی الكريم ❤
      بالفعل قد اكتشفت هذه المشكلة مبكرا ف اوقفت الاختصار و ستجد معظم الروابط فی كل الدروس القادمة روابط مباشرة سواء من جوجل درايف الخاص بی او من ميديافاير .. و بردو لو حابب تزور الموقع ستجد كل شیء هناك بدون الحاجة للتحميا حتی 😀
      بالتوفيق ^^