نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
آزادی حجاز از دست نااهلان
مهدی دمیرچیلو

چراغ چشمک زن با ۸ تا led

به نام خدا : اینو با زبون c وبا کدویژن نوشتم و با پروتئوس طراحیش کردم. و از atmega16 استفده کردم اما شما میتونید از هر IC دیگه ای استفاده کنید؛ کار این برنامه هم اینه که ۸ تا LED  کنار هم هستن که روشن خاموش میشن laugh  البته یه ترتیبی هم دارن و همین طوری شیر تو شیری روشن نمیشن؛ من یه برنامه برا روشن شدن اینا نوشتم اما شما میتونید اونو تغیرش بدین.

نحوه قرار گیری LED ها هم بسته به سلیقه شما داره مثلا داداش من همینا رو طوری کنار هم قرار داده بود که به صورت یه هواپیما شده بودن.خدایشش هم چیز خفنی بود shock   ما هم که حال و حوصله این جور کارا رو نداریم همه رو گزاشتیم کنار هم.

توجه : پایه بزرگتر + و پای کوچکتر – هستش و تو led های معمولی حداقل ولتاژ مورد نیازش ۱٫۸ ولت هستش(البته بسته به نوع led این عدد متفاوته)

انشاالله برناه های بهتری در آینده میزارم.  victory

چراغ چشمک زن با 8 تا led

اینم از کد های برنامه.

 

دانلود : چراغ چشمک زن با ۸ تا LED

 
اگه سوالی بود در خدمتیم.  shout

گروه پرسش و پاسخ الکترونیکی در سروش
مهدی دمیرچیلو گوگل میفرماید : إِنَّ اللّه مَعَ الساچِرین ( خداوند با سرچ کنندگان است )
ارسال دیدگاه
70

1) نظرات غیر فارسی به صورت خودکار حذف میشوند ( حداقل 5 حرف فارسی وارد کنید ).

2) به موارد درخواست پروژه/کد آماده و سوالاتی که بلد نباشم پاسخ داده نمیشه.

3) برای گزاشتن کدهاتون از این سایت استفاده کنید ( طبیعتا لینک کدتون رو باید برای من بفرستید! ) : debian

4) پسورد فایل های سایت : www.dmf313.ir

  1. Avatar

    مهمان

    سید ابوذر

    سلام.
    اگه بخواهیم رقص نور رو با ۱۶تا خروجی کنترل کنیم چه تغییری باید تو برنامه بدیم؟

  2. Avatar

    مهمان

    سینا

    سلام چطوری این برنامه رو دانلود کنم یه آدرسی که بشه دانلودش کرد برام بفرستین

    • مهدی دمیرچیلو

      نویسنده این مطلب

      مهدی دمیرچیلو

      سلام – کدوم برنامه؟ پروتئوس/کدویژن؟ تو نت سرچ کن.

  3. Avatar

    مهمان

    کیمیا

    سلام اگر بخواهیم کد اسمبلی چراغ چشمک زن در avr را بنویسم چگونه میشود ؟

  4. Avatar

    مهمان

    mohammad mahdi

    سلام اگر بخواهم چشمک زن led طراحی کنم که با فشردن کلید بین دو حالت (۸۰٪روشن ۲۰٪خاموش)و(۲۰٪روشن ۸۰٪خاموش) باشد چه برنامه ای بنویسم؟ممنون مشیم ازتون

    • مهدی دمیرچیلو

      نویسنده این مطلب

      مهدی دمیرچیلو

      سلام-یعنی میزان روشناییش رو منظورته؟ با PWM و یه پتاسمتر باید اینکارو بکنی.

  5. Avatar

    مهمان

    محمد

    سلام من پروژه دانشگاهیم ریسه های ال ای دی ادرس پذیر هستش کسی هست که بتونه کمکم کنه در این مورد

  6. Avatar

    مهمان

    محمد

    ???

  7. Avatar

    مهمان

    hadis

    ناقص بود توضیحات wacko

  8. Avatar

    مهمان

    محمد

    سلام
    یه سوال داشتم
    میخواستم ببینم اگه مثلا۱۰تا لامپ LED به صورت سری به هم متصل باشن و بخواهیم اول لامپ۱ روشن بشه و بعد با یک وقفه بسیار کم لامپ دوم هم روشن بشه و به ترتیب همینطور لامپ سوم و چهارم تا لامپ دهم و به محض اینکه لامپ دهم روشن شد کل لامپها خاموش شده و مدار از اول دوباره از سر گیری شود؟؟؟؟
    ممنون میشم اگه پاسختون را برام ایمیل کنین

  9. Avatar

    مهمان

    ناشناس

    چرا پس نوشتن کدها باهم فرق داره

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      متوجه نشدم.

  10. Avatar

    مهمان

    علیرضا آهنی

    سلام.
    ممنون .
    گه یه کم برنامه نویسی بدل باشی می تونی خیلی قشنگش کنی.

  11. Avatar

    مهمان

    raha

    با سلام
    می بخشید من یک سوال داشتم
    port های برنامه بالا را باید چه تغییراتی اعمال کنیم ؟ منظورم این هست که port d رو باید ورودی کنیم یا خروجی؟

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      خب چون تو پروژه بالا من میخوام LED روشن خاموش کنم لذا باید پایه هام ( PORTD ) رو “خروجی” تعیین کنم تا بتونم ولتاژ پایه هام رو کنترل کنم که ۰ولت باشه ( LED خاموش ) یا ۵ ولت ( LED روشن )

  12. Avatar

    مهمان

    مرتضی

    قبل از ایجاد کد، int 0 رو بر اساس low level تنظیم کردم. بازم همین مشکل رو داره.
    اگه کلید از همون اول، زده باشه، کار نمیکنه. باید یه دفعه غیر فعالش کنم. دوباره فعالش کنم که کار کنه.
    sad

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      نمیدونم.

  13. Avatar

    مهمان

    مرتضی

    سلام و خسته نباشید.
    یه سوال در زمینه وقفه ها داشتم
    میخواستم بدونم چطور میشه، یه وقفه از همون ابتدای برنامه کار کنه؟
    مثلا میخواستم داخل پروتئوس، زمانیکه کلید از همون ابتدا، فعاله، لامپ، چشمک بزنه. در حالیکه فقط زمانی چشمک زدن رو شروع میکنه که کلید در حین اجرای برنامه زده بشه. نه از همون اول.
    مثلا من میخوام داخل پروتئوس زمانیکه یه کلید زده میشه، یه لامپ چشمک بزنه و این کار هم به درستی انجام میشه. اما مشکل اینجاست که اگه کلید از همون اول، فعال باشه. دیگه به عنوان وقفه شناخته نمیشه و چشمک نمیزنه.
    ینی واقعا وقفه ها چنین مشکلی دارن یا من بلد نیستم؟
    مرسی
    help

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      احتمالا وقفه رو روی حالت rising یا falling تنظیم کردی – اگه روی لبه تنظیم کنی – نباید این مشکل رخ بده.

  14. Avatar

    مهمان

    مرتضی

    داخل گوگل سرچ کردم. میگفتن داخل کد ویژن ، باید از مبدل آنالوگ به دیجیتال برای ایجاد اعداد رندوم استفاده کنی. من تا حالا از مبدل استفاده نکردم. میتونید راهنمایی کنید لطفا؟

  15. Avatar

    مهمان

    مرتضی

    مرسی. خوندم. اما کمکی نکرد. واقعا عجیبه که کتابخونه time رو نمیشه تعریف کنیم براش.
    من میتونم با rand عدد تصادفی ایجاد کنم. اما rand ضعیفه و هر دفعه که برنامه رو از اول اجرا کنی, همون عدد های تصادفی قبلی رو بهت میده. ینی مثلا هر دفعه که مدار رو روشن میکنی, اولین چراغی که روشن میشه,چراغ قرمز هست. در صورتیکه چنین چیزی رو تصادفی نمیگن.
    sad

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      اونو تو گوگل بسرچ – مگه میشه کارت راه نیوفته!

  16. Avatar

    مهمان

    مرتضی

    چشمک زدنش رو درست کردم خوشبختانه. الآن فقط یه مشکل دارم:
    ۸ تا led به صورت تصادفی روشن و خاموش میشن اما مشکل این جاست که اگه مدار رو ریستارت کنم, دوباره با همون ترتیب قبلی اجرا میشن.
    من میخوام واقعا از همه لحاظ تصادفی باشه. این کده:
    while (1)
    }
    ; led=rand()% 0xFF
    ; PORTD=led
    ; delay_ms(500)
    ; PORTD=0x00
    ; delay_ms(500)
    {

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      متن زیر رو بسرچ
      rand function in codevision
      لینک زیر رو هم ببین – پاسخ ۴ امش مخصوصا ( اولی که سواله )
      http://stackoverflow.com/questions/822323/how-to-generate-a-random-number-in-c

    • Avatar

      مهمان

      زهرا

      میشه بگین تو قسمت main چیا تعریف کردید برای rand وled

  17. Avatar

    مهمان

    مرتضی

    سلام. کتابخانه زمان در code vision چیه؟
    میخموام از srand(time(0)) استفاده کنم ولی time رو نمیشناسه.

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      نمیدونم – کار نمیکنم زیاد با کتابخونه های کدویژن – مزخرفه – منبع باز نیست

  18. Avatar

    مهمان

    مرتضی

    باشه مرسی. اما من تولید اعداد تصادفی رو به صورت پیش فرض با دستورsrand(time(0)) بلدم. اما نمیدونم این اعداد رو به چه صورت باید ایجاد کنم که تو مدار بشناسه. مثلا باید به صورت هگزا ایجاد بشن؟ در این صورت نمیشه. چون دستور srand، اعداد تصادفی رو ایجاد میکنه که باینری نیستن.
    یه مشکل دیگه هم داشتم و اینه که دستور delay رو که میزنم، داخل پروتئوس عمل نمیکنه و led هام همینطوری روشن باقی میمونن.
    البته اگه قبل از ایجاد کد، یه پریود تعیین کنی براش، کار میکنه. اما من نیاز داشتم ازین دستور استفاده کنم.
    نظرتون چیه؟

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      کلا پروتئوس سعی کن کار نکن ولی خب برا این led ها جواب خوب میده پروتتئوس laugh
      سوال اولت رو نفهمیدم چی میگی – درباره نحوه استفاده از تابع rand تو گوگل تحقیق کن.
      کدت رو بده ببینم چی نوشتی که چشمک نمیزنه و فقط روشنه ( فک جان داش کدای اضافی رو حذف کن و کد ترتمیز بفرست)

  19. Avatar

    مهمان

    مرتضی

    بله. اما کدش رو چطوری باید بنویسم؟
    یه مقدار تازه کار هستم.
    اگه کدش رو هم توضیح بدید ممنون میشم?

  20. Avatar

    مهمان

    مرتضی

    سلام و خسته نباشید
    اگه بخوام همین ۸ تا led، به صورت تصادفی روشن و خاموش شن چه تغییراای باید بدم؟
    تشکر

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      از تابع RAND باید استفاده کنی.

    • Avatar

      مهمان

      مرتضی

      ببخشید میشه کدش رو هم بگید؟
      چطور باید از تابع srand استفاده کنم؟ و چه تغییراتی میکنه.
      تشکر

      • مهدی دمرچیلو

        نویسنده این مطلب

        مهدی دمرچیلو

        این که کدش رو بنویسم اصلا فکرش رو هم نکن – بشین کتاب های آموزش زبان c رو بخون –
        تو گوگل بسرچ تابع rand در زبان c
        قربونت.

  21. Avatar

    مهمان

    amir

    salam , man ye poroje daram ke bayad ba zabune VHDL va barnameye xilinx va proteus neveshte she shoma mitunid komakam konid ?

  22. Avatar

    مهمان

    Sara

    سلام من یک پروژه دارم ک باید ۷تا الیدی به صورت چشمک زن یک بار روشن بشن میشه کمکم کنید ممنون میشم???

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      کجاش رو مشکل دارید؟

  23. Avatar

    مهمان

    fateme

    1soal
    age bekham effect haye bishtari dashte bashe,bayad hamaru radif konam jeloye unsigned char?
    man mikham 256ta effect dashte bashe

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      متغییر led از نوع unsigned char هستش و یه آرایه هستش(اگه درباره آرایه در زبان c چیزی نمیدونی تو گوگل بسرچی کلی آموزش فارسی میاد بالا – چیز خاصی نداره یادگیریش) باید افکت هات رو به این آرایه بدی، الان من 6تا افکت داخل آرایه قرار دادم، شما میتونی تعداد بیشتری رو قرار بدی – و بعد در خط 14 برنامه اون حلقه for رو متناسب با تعداد افکت های داخل آرایه تغییرش بدی.

  24. Avatar

    مهمان

    مهناز

    راستی چرا بعد از for با این که i رو صفر نکردیم برنامه ی داخل for بازم از اول اجرا میشه و i رو صفر میکنه؟؟

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      تقریبا نفهمیدم!

  25. Avatar

    مهمان

    مهناز

    سلام امیدوارم حالتون خوب باشه.میشه بگید چرا وقتی آکولادهای for رو برمیداریم برنامه فقط بر بار اول led هارو روشن میکنه؟من میدونم که اگه آکولاد نباشه فقط دستور اول بعد for خونده میشه ولی متوجه نمیشم ارتباط delay رو که چرا داخل for نوشته شده؟؟

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      خب درسته باید هم این طور باشه – چون سرعت میکرو بر فرض اگه 8 میگ باشه یعنی در هر ثانیه 8000000 دستور رو اجرا میکنه(این قدر کلاک میخوره، حالا بستگی داره که هر دستور چقدر کلاک نیاز داره – بگذریم) خب حالا کار ما تو این پروژه چیه؟ روش کردن led ها به 6 روش(6تا افکت) خب اگه شما اون { } رو بردارید برنامه به صورت زیر میشه
      for(i = 0 ; i < = 5 ; i = i+1) PORTD = led[i];
      که میاد به صورتی خیلی خیلی سریع که چشم انسان عمرا بتونه متوجه بشه، میاد و حالات portd رو تغییر میده یا همون افکت های مختلفی به led ها میده و بعد برنامه میرسه به خطی که کد delay_ms(300); هستش، میاد و 300 میلی ثانیه صبر میکنه و در این جا شما آخرین افکت یعنی افکت 6ام رو میبینید، میکرو 300 میلی ثانیه صبر میکنه و بعد دوباره اون کد های for اجرا میشه و بعد میکرو 300 میلی صبر و باز شما به لطف این 300 میلی ثانیه فقط میتونید اون آخرین افکت رو ببینید - به این صورت فقط یه افکت در طول کل برنامه نمایش داده میشه و انگار برنامه یه بار حالت led ها رو تعیین کرده و دیگه کاری نمیکنه

  26. Avatar

    مهمان

    محمدرضا

    سلام ببخشید من یه پروژه دارم که چهارنفر میخان سخنرانی کنن وهرکدوم یه تایمی بین 0-99 ثانیه دارد وهرکدام یک اولویت میخاستم ببینم چطور میشه طراحی کنم که اولویت ها وتایم هرکدوم ازوردوی گرفته بشه؟؟؟باتشکر

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام – برا بحث گرفتن زمان – باید از کیپد استفاده کنی و یا دو تا دکمه برا افزایش و کاهش عدد و یه دکمه برا تایید.

  27. Avatar

    مهمان

    میلاد

    خیلی ممنون توضیحاتتون خیلی کامل بود فقد یه سوال؟
    خو چرا ۶ تا کد باینری گذاشتین؟مگه ۸تا ال ای دی نداریم؟؟؟

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      خوب میبینم قاطی کردی
      دادا هر کدی مثل کد زیر یه افت میده به این ۸ تا LED
      ۰b01010101
      و ما تو آرایه led اومدیم و ۶ تا کد مثل کد بالا توش گزاشتیم چون میخوایم ۶ تا افکت پشت سرر هم و با تاخیر زمانی ۳۰ میلی ثانیه ….
      شما میتونی تعداد افکت ها رو بزاری ۱ دونه…بزاری ۶ تا و یا بزاری شنصد تا… laugh

    • Avatar

      مهمان

      لیلا

      سلام خسته نباشید توروخداکمک کنید من میخوام ال ای دی متصل به پایه صفرپورت a با فشردن کلید متصل به پایه صفرپورت b ده بارچشمک بزنه برنامه مینویسم اماتوپروتئوس بی نهایت بار چشمک میزنه حلقه فور وشرط ifم نوشتم کمکم کنید ممنون

      • مهدی دمرچیلو

        نویسنده این مطلب

        مهدی دمرچیلو

        سلام
        شماتیکتتون رو میشه ببینم
        احتمالا برا دکمه از مقاومت پول دان(یا پول آپ که بستگی به کنویستون داره استفاده از هر کدوم از این دو) استفاده نکردین(البته اگه کد هاتون صحیح باشه) – مطلب زیر رو ببینید
        آموزش جامع میکروکنترلر AVR جلسه۱۲

  28. Avatar

    مهمان

    ميلاد

    با سلاموسپاس از سایت بی نظیرتون
    ببخشید استاد من تو این پروژه اون ۶ تا کد باینری و متوجه نشدم ممنون میشم بیشتر توضیحم بدین
    مرسی

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      خوب ببین آقا میلاد ما یه PORTD داریم که ۸ تا پایه داره….و پروژه ما هم کارش اینه که افکت های مختلفی به این ۸ تا led که به این ۸ تا پایه وصل هستش میدیم
      و این افکت ها تو آرایه led[] ذخیره شده اند—-نحوه مقدار دهی پورت ها به ۳ روش : دسیمال(ده دهی) – هگزا دسیمال(۱۶ تایی) و باینری(۰ و ۱) قابل انجام هستش
      که من اینجا از روش باینری استفاده کردم—برای این که مشخص کنی فرم اطلاعاتت به صورت باینری هستش باس اول داده کد ۰b رو اضافه کنیم
      مثلا در کد باینری زیر که ۸ تا ۰ و ۱ داریم، اون ۱ اولی مقدارش میره به بیت ۰ پورت D یعنی PORTD.0 و به ترتیب ….و در آخر مقدار اون بیت آخر کد زیر که برابر ۰ هستش میره به بیت ۷ ام پورت D یعنی PORTD.7 ….
      ۰b01010101
      و وقتی یه بیتی از یکی از پورت های میکرو(مثلا بیت ۰ پورت C) ، مقدار صفر بدیم اون پایه از میکرو مقدار ۰ ولت به خودش میگیره و اگه مقدار ۱ بدیم به اون بیت اون پایه ولتاژ ۵ ولت به خودش میگیره
      از این خاصیت مثلا میشه برا روشن و خاموش کردن LED استفاده کرد.
      OK?

  29. Avatar

    مهمان

    زهره

    اگه بخوایم از کلید استفاده کنیم باید چیکار کنیم؟

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      یه شرط میزاری (خط زیر) و میگی اگه رو دکمه کلیک شد(فشرده شد) اون حلقه for رو اجراش کن
      مثلا
      if(PINA.0)

      • Avatar

        مهمان

        علیرضا آهنی

        سلام.
        ممنون.

  30. Avatar

    مهمان

    pari

    سلام
    واقعا ببخشید من خیلی سوال میپرسم
    الان توی لینک زیر عکس یه مدار چشمک زن هست

    خب قاعدتا هرچی مقدار خازن و مقاومت رو بیشتر کنم زمان روشن خاموش شدن LED ها بیشتر میشه دیگه؟
    بعد میخواستم بدون این رابطه ی زیر صدق میکنه واسه این که بخوام زمان روشن خاموش شدن رو خودم تنظیم کنم؟
    T=R * C
    بعد میخوام بدونم من هرچی مقاومت ها رو بیشتر کنم زمان شارژ و دشارژ خازن بیشتر میشه دیگه؟ پس طبق رابطه بالا افزایش مقدار خازن و مقاومت روی زمان خاموش روشن شدن تاثیر داره دیگه؟
    بعد یه چیز دیگه مثلا مقاومت معادل 1 و 2 با هم سری میشن یا موازی؟
    بعد مقاومت معادل 1و 2 با 3و4 چی؟ سری یا موازی؟
    dash good cry
    وایی خیلی ممنون میشم اگه راهنماییم کنید

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      والا من زیاد تحلیل مدار آنالوگ سرم نمیشه(دیجیتال کار میکنم) ولی تا اونجایی که میدونم هرچی خازن بیشتر بشه طبیعتا زمان روشن و خاموش طولانی تر میشه و مقاومت هم برا محدود ردن جریان هستش…..>>>>> شما برید سایت eca.ir تو انجمنش….تو قسمت آنالوگ….سوالتون رو مطرح کنید

  31. Avatar

    مهمان

    pari

    شرمنده
    اگر بخواییم ولتاژ مبع تغذیه رو از 1.5 ولت به 5 ولت تبدیل کنیم باید چیکار کنیم ؟
    البته نمیخوام تعداد باتری ها رو اضاف کنم
    روشی به جز اضاف کردن تعداد باتری ها هست؟
    ممنون mosking

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      فک کنم باشه…
      مدار های برا افزایش ولتاژ
      فک کنم

  32. Avatar

    مهمان

    pari

    سلام دوست عزیز
    اگر بخوام چراغ چشمک زن طوری باشه که هر 3 ساعت یک بار روشن خاموش بشه باید چیکار کنم؟
    یه سوال دیگه ، میشه بدون IC درستش کرد؟
    ممنون میشم اگر راهنماییم کنید smile

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      ببین این جواب میده یا نه
      =۳h=3*60min=180min=180*60s=10800second
      ۱۰۸۰۰۰۰۰ms
      delay_ms(1080000);
      اگه نداد..مثلا یه
      delay_ms(1000);
      بنویس و بزارش داخل یه حلقه که ۱۰۸۰۰ بار تکرار بشه…
      ————————————————————
      ابتدا به نظرم برا نیم ساعت تست کن و بعد برو سراغ ۳ ساعت

  33. Avatar

    مهمان

    Amir

    سلام من AVRبه زبان سی یاد بگیرم
    برای ARM مشکلی پیش نمیاد چه جوریه

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      آرم هم به زبون سی هستش فقط و از بیسیک خبری نیست

  34. Avatar

    مهمان

    Amir

    خیلی اقایی
    یاد گرفتم فقد یک جاش هنوز جا برام نیوفتاده
    for(i = 0 ; i < = 5 ; i = i+1)
    شما گفتی اول ای برابر با صفر می شه و بعد باتوجه به شرط حلقه ادامه پیدا می کنه تا دوباره به ایف برسه
    بعد از ای برابر با صفر صرفه نظر میشه به جاش شرط و ++1 اجرا می شه درسته گفتم good smile
    و زمانی که شرط برقرار نباشه از حلقه خارج میشه و چو ن دو باره به ایف رسیده ایف برابر با صفر میشه و ادامه
    درست فهمیدم cool
    خدایش سایت باحای داری ها blush

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      یس

  35. Avatar

    مهمان

    Amir

    سلام میشه از حلقه فور به بعد یک توضیح بدین گیج شدم
    for(i = 0 ; i <= 5 ; i = i+1)
    یعنی اول ای برابر با صفر باشه یا شود
    بعد اگر ای کم تر یا مساوی پنج بود حلقه اجرا شود
    وگر نه یک واحد به ای ازافه شود
    بعد
    راستی PORTD = led[i]; یک توضیح بدین
    تورو خدا unknw

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      بزار این طور بگم
      for(i = 0 ; i < = 5 ; i = i+1)
      در حلقه فور بالا مقدار اولیه i برابر با ۰ هستش و کدهای داخل حلقه یک بار با فرض این که i=0 هستش اجرا میشود......و با توجه به کد
      i = i+1
      مقدار i یک واحد افزایش پیدا میکنه و میشه ۱>>>>وکد های داخل حلقه با فرض این که i=1 هستش اجرا میشه و همین طور تا آخر که در مرحله آخر مقدار i=10 میشه و کد های داخل حلقه با فرض این که i=5 هستش اجرا میشه ولی دیگه i=6 نمیشه و برنامه از حلقه خارج میشه و علتش هم اینه که ما تو حلقه تعیین کردیم که
      “تا زمانی که i < = 5 هستش حلقه ادامه پیدا کند"
      تو خط زیر ما یک آرایه تعریف کردیم……آرایه مثال یه متغییرهای int هستش….ولی با این تفاوت که میتونه چندید(هر چه قدر دلت خواست) توش متغییر ذخیره کنی.
      unsigned char led[]={0b01010101,0b10101010,0b00001111,0b11110000,0b00011000,0b11000011};
      مثلا تو کد بالا ۶ تا متغییر تو آرایه led ذخیره کردیم (با توجه به این که شمارش خانه های آرایه از صفر آغاز میشود و نه ۱) حالا اگه بخوایم به خانه دوم آرایه دسرسی پیدا کنیم میایم و کد
      led[1]
      رو مینویسیم…..حالا میایم تو حلقه ازش استفاده میکنیم
      PORTD = led[i];
      این کد یعنی این که(با توجه به این که در حلقه قرار داره) در مرحله اول که مقدار i=0 هستش بیا و متغییر
      led[0]
      که یعنی خونه اول آرایه …این متغییر یا این مقدار رو به بده به PORTD و همین طور حلقه ادامه داره تا مقدار ۵٫٫٫٫٫و در هر مرحله هم خونه مورد نظر آرایه …متغییرش به PORTD داده میشه…..
      OK??????

  36. Avatar

    مهمان

    alireza

    دوست عزیز یک سوال داشتم
    در یک مدار چراغ چشمک زن باید چه تغییری بدم تا دایم روشن بمونه یعنی چشمک نزنه . چون مدار باطری رو هم با انرژی خورشید شارژ میکنه نمیتونم کامل خارجش کنم . مدار هم ای سی داره هم دو تا خازن . ممنون میشم اگه بهم ایمیل بزنی

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      والا دقیق متوجه نشدم>>الان میگی :
      چراغ ها فقط روشن باشن >>> باید کد نویسی بلد باشین البته اگه از میکرو کنترلر استفاده میکینید >>> جواب : اگه بلد نیستید بگین براتون انجام بدم
      یا
      چه کاری کنیم که برق قطع نشه…تا led ها خاموش نشن(چطور مصرف رو بیاریم پایین) >>>>جواب : از میکرو کنترلر استفاده میکینید؟؟؟
      کدومش؟؟؟؟

      • Avatar

        مهمان

        وحید

        سلام خسته نباشید یه سوال داشتم اگه ما بخوایم این ال ای ها بصورت باینری روشن بشن باید چیکار کنیم یعنی اول پایه یک بعد پایه دو بعد یک و دو با هم .دوباره پایه اول بعد پایه سوم بعد اول و سوم با هم تا اخر .هر کاری کردم نفهمیدم دوتا پایه رو چجوری با هم روشن کنم .ممنون میشم

        • مهدی دمرچیلو

          نویسنده این مطلب

          مهدی دمرچیلو

          سلام-یه حلقه for تعریف کن – مقدار متغییر رو بده به پورت