
در این روش میتوانید به تعداد پایههای میکرو موج PWM تولید کنید. اما نکته مهم در این مورد این است که این موج خیلی دقیق نیست و فقط میتوان برای تابلوهای LED استفاده کرد که بتوان با آن نور LEDها را کم کرد.
روش استفاده:
ابتدا میکرو را معرفی میکنیم:
$regfile = "m32def.dat" $crystal = 8000000 Config Porta = output Dim C As Byte , X As Byte , LED(8) As Byte
سپس پیکربندی تایمر 1:
Config Timer0 = Timer , Prescale = 1 On Ovf0 Rgbpwm Enable Timer0 Enable Interrupts For x=1 to 8 LED(x) = 0 next /* در این قسمت برنامه خودتون رو بنویسید */ Do
اکنون در بین do loop
باید برنامهای بنویسید که مقادیر متغییرهای LED رو با توجه به شدت نور مقداردهی کنید. بین 0 تا 255 (0 برای کاملا خاموش و 1 برای کاملا روشن)
بهطور مثال: با توجه به شکل بالا رنگ قرمز برابر 210 و سبز 120 و آبی 50 است که با توجه به عددها رنگ قرمز پرنورتر از همه و رنگ آبی کمنورتر از همه است.
led1 = 210 led2 = 120 led3 = 50 Loop END
این قسمت باید در پایینترین قسمت برنامه و زیر END قرار دهید.
در این قسمت LED قرمز به پورت a.0 که همان متقیر led1 است متصل شده و به همین ترتیب led سبز به پورت a.1 و led آبی به پورت a.2 متصل شده است.
Rgbpwm: Timer0 = 0 Incr C If C = 0 Then Porta = &B11111111 If LED1 = C Then Reset Porta.0 If LED2 = C Then Reset Porta.1 If LED3 = C Then Reset Porta.2 Return
در صورت نیاز به کدها میتوانید آنها را از باکس زیر به رایگان دانلود و استفاده کنید:
این آموزش برای همیشه رایگانه! میتونید با اشتراکگذاری لینک این صفحه از ما حمایت کنید یا با خرید یه فنجون نوشیدنی بهمون انرژی بدید!
میخوام یه نوشیدنی مهمونتون کنم
سلام وقت بخیر
کد را برام ایمیل کنید
کد تولید موج PWM با فرکانس و سیکل وظیفه قابل تنظیم توسط پتانسیومتر میخوام میشه تو این مورد کمک کنید.تشکر
سلام
میتونید کدها رو از باکس دانلود بالای بخش دیدگاهها دریافت کنید.
برای تولید موج PWM با فرکانس و سیکل وظیفه قابل تنظیم در میکرو AVR احتمالا بتونید از تایمر/کانتر و مدهای کاری مختلف مثل Fast PWM یا Phase Correct PWM استفاده کنید.
سلام
ممنون از سایت خوبتون
لطفا فایل برنامه رو برای من هم ارسال کنید
سپاس
سلام
براتون ایمیل شد.
سلام ،میشه کدویژنی بفرستید که بتونم نصب کنم ،دوروزه دارم تلاش میکنم اصلا باز نمیشه،پروتئوس راحت نصب شد،ممنون ازتون بابت کانال وپاسخ گویتان به همه
سلام
متأسفانه فایل کدویژن این برنامه رو نداریم. اما احتمالاً اگه با کدویژن آشنایی داشته باشید الگوبرداری از این آموزش میتونه براتون کاربردی باشه.
سلام ممنون از مطالب علمی اموزنده تون . امکانش هست کدهارو برامون ارسال بفرمایید ممنون
سلام، براتون ارسال شد یاسر عزیز
با سلام
با تشکر از مطالب مفیدتون
می شه لطفا این برنامه ها را برای ایمیل کنید
سلام
براتون ایمیل شد. یه درخواست برای بررسی درستی فایل هم در ایمیل بهتون گفتیم که ممنون میشیم نظرتون رو از طریق همون ایمیل به اطلاعمون برسونید. 😉
با درود و سلام و عرض تشکر از زحمت شما.
ممنون میشم اگه زحمت بکشید و این
برنامه رو برام بفرسید.
باز هم ممنونم از زحمت شما.
سلام
فایل به ایمیلتون ارسال شد.
سلام لطفا برام ارسال کنید ممنون
سلام
به ایمیلتون ارسال شد.
سلام. خیلی به این کدها نیاز دارم. برام ایمیل کنید لطفا.ممنون
با سلام
ارسال گردید.
سلام
لطفا کد را برام ارسال کنید..
تشکر..
با سلام
ارسال گردید.
سلام،اگه میشه برای من هم ارسال کنید
با سلام
ارسال گردید.
وای کارم راه افتاد ممنون از سایت عالیتون
خخخخخخخخییییییییییییییییییللللللللللللللللللللللللللللییییییییییییییییییییییی
ممنون
ما هم خیلی خوشحالیم که آموزشها براتون مفیده 😉
موفق باشید
سایتتون عالی هست خدا ازتون راضی باشه
سلام لطفان برای من هم ارسال کنید
برای کوادکوپتر می خوام
با سلام
ارسال گردید.
سلام میشه برا من ایمیل کنید
با سلام
ارسال گردید.
سلام علیکم
ممنون میشم اگر فایل های از PWM جهت کنترول دور موتور و ساخت موج کامل سینوسی برام بفرستید
با سلام
این مطلب مربوط به کنترل شدت نور LED می باشد ولی با کمی تغییر می توانید برنامه کنترل دور موتور را بنویسید.
قربان امکانش هست کدهارو برام ارسال کنین؟ این چندمین باره که درخواست میکنم
با سلام
ارسال گردید.
یه سوال؟ چه جوری میشه نور ال ای دی را کم یا زیاد کرد و طوری برنامه نوشت که ال ای دی اول بانور کم روشن بشه و بعد کم کم نورش زیاد بشه
با سلام
در همین برنامه، باید مقادیر متغییرها را از 0 تا 255 کم کم افزایش دهید
باسلام لطفا برای من هم ایمیل کنید با تشکر از آموزش خوبتون
با سلام
ارسال گردید.
بابت آموزش ممنونم، اگه امکان داره کدهارو برام ایمیل کنید. تشکر
با سلام
ارسال گردید.
سلام ممنون از آموزش خوبتون ممنون میشم سورس کامل رو ایمیل کنید.با تشکر
سلام ممنون از آموزش خوبتون ممنون میشم سورس کامل رو ایمیل کنید.با تشکر
با سلام
ارسال گردید.
سلام مهندس جان ممنون از آموزش خوبتون ممنون میشم سورس کامل رو ایمیل کنید.با تشکر
با سلام
ارسال گردید.
سلام
لطفا سورس کاملو واسم ارسال کنین
با سلام
ارسال گردید.
سلام وقتتون بخیر
مهندس لطف میکنی اگه مقدور بود برنامه رو واسم ایمیل کنی. ممنونم
با سلام
ارسال گردید.
سلام ممنون میشم برنامتونو برام بفرستید
سلام
ارسال گردید.
سلام.لطفا رنامه بسکام رو واسم ارسال کنید.ممنون
سلام ممنون
میشه واسه من ایمیل کنید ارور میده
سلام
ارسال گردید.
با سلام وعرض ادب وتشکر از سایت خوب تان لطف میکنید کد کم نور به پر نور بدون استفاده پایهPWmرابرام بفرستید
باتشکر
احسنت برنامه هوشمندانه ای نوشتی . بهینه و سبک
سلام.ممنون از سایتتون.اگه انکانش هست برنامه رو واسم ایمیل کنید
با سلام
ارسال گردید.
سلام
آقا دستت درد نکنه
کارت درسته
خداییش از این بهتر نمیشد
ایولا
عالی بود لطفا سورس را بفرستید
سلام لطفا سورس این پروژه رو برام بفرستین.
eror میده.
سلام
ارسال گردید.
سلام میشه برنامه رو کامل برای من ارسال کنید .ممنون
با سلام و خسته نباشید.ی تابلو ال ای دی ساختم ک قرمز و سبزه .رنگ سبزش خیلی نور داره و چشمو میزنه .حالا میخوام ی برنامه بنویسم ک نور قرمز هیچ فرقی نکنه و نور سبز کم بشه.این نور کم در تمام افکت ها باقی بماند.ممنون میشم اگه کمکم کنید
سلام
شما این برنامه را به برنامه خود اضافه کنید البته فقط یک خروجی آن را.
سپس با دادن مقدار به متغییر LED نور مناسب را انتخاب کنید.
حالا هر جا خواستید روشن شود باید مقدار متغییر LED را مقار انتخابی انتخاب کنید و زمانی که می خواهید خاموش باشد برابر صفر قرار دهید.
من می خواهم به صورت rgb بسازم که چند رنگ را بسازد!
سلام
باید یک LED RGB رو به سه پایه میکرو وصل کنید.
سلام لطف کنید برنامه رو برام بفرستید !
سلام
ارسال گردید.
سلام من چیزی از این برنامه متوجه نشدم . من خودم با بست کام یه برنامه آماده کردم برای آی سی atmega8 و فقط خاموش روشن میشه حالا میخوام بعد از خاموش روشن شدن کم نور و پر نور بشه . و از پورت pc4 , pc5 استفاده کردم میتونید برنامه رو برام ارسال کنید
با سلام
برنامه مورد نظر شما برایتان ارسال شد.
سلام
خوب بود لطفا برنامه رو با بسکام بفرستید در ضمن کانال تلگرامی ندارید؟
شماره تلگرامی من ***********
سلام
ارسال گردید.
درصورت ایجاد کانال به شما اطلاع داده میشود.
سلام.
لطفا برنامه رو (بسکام) برام ارسال کنید.
ممنون.
سلام
ارسال گردید.
سلام
خسته نباشید
میشه برنامه آبشاری برای هشت led رو برام ایمیل کنید؟
ممنون
سلام
با مشخصات درخواست شده برای میکرو 16 مگ با فرکانس داخلی 8 مگ ارسال گردید.
سلام من می خوام که در ساخت مبدل باک از کنترلر pwm استفاده کنم طوری که فرکانس 400khz باشه و duty cycle 50% باشه میشه کدشو تو کدویژن برام بنویسید و برام میل کنید خیلی ممنون می شم
با سلام
پاسخ برای شما ارسال گردید.
سلام لطفا برنامه را برایم ارسال کنید. با تشکر
با سلام
ارسال گردید.
سلام برنامه برای من کامپایل نمیشه اگه ممکنه واسه من ایمیل کنید . تشکر
با سلام
فایل برای شما ارسال گردید.
باسلام
لطفا مدشو واسم ارسال کنید
با سلام
ارسال گردید.
پروژه با ماژول hc-05 هستش
که دفعه پیش برای ارسال مقدار به یه مدار دیگه که داشتم اینجوری کار میکردم:
Dim A As String * 2
اول اینو تعرییف میکردم بعد از do هم اینجوری مینوشتم تقریبا:
A = Inkey()
If A = “R” Then
Set Portb.1
End If
خب اینجا مشکل من اینه که نمیدونم این مقدار که به عنوان کلید ورودی نوشتم رو کجا قرار بدم که کار کنم.
اگه کمکم کنید ممنون میشم
با سلام
شما عددی رو که از طریق بلوتوث دریافت می کنید رو باید در یکی از متغییر های LED1 یا LED2 یا LED3 قرار دهید و از همان خروجی مربوط به LED ها نیز برای اتصال به LED خارجی استفاده کنید.
ببخشید
من اینو نوشتم مشکلش چیه ؟ کار نمیکنه
{——
کد ها حذف شدند.
—-}
با سلام و عرض پوزش به خاطر تاخیر در پاسخ
برنامه اصلی را برای شما ارسال کردم.
این برنامه ی تولید موج PWM است و فقط شما باید به متغییر ها مقدار دهید.
با عرض سلام و خسته نباشید آقا واقعا عالیه سایتتون ممنون بابت تمامی پستا.
یه سوال داشتم میشه برنامه ای رو برام بفرستید که توش
پیکر بندی pwm باشه و توش یه led باشه که با مقداری که به اوون ارسال میشه کار کنه
مثلا اگه عدد 255 رو فرستادیم براش کامل روشن شه و اگه 127 رو فرستادیم نصف روشن شه و یا هر عدد دیگه.
البته بگم با بلوتوث میخوام عدد رو بفرستم.
ممنون میشم برنامه کامل اینو برام بفرستید.
سلام
برنامه مورد نظر شما باید دو قسمت داشته باشد:
1- دریافت عدد از طریق بلوتوث
2- تولید موج pwm با توجه به مقدار عدد
قسمت دوم که آماده است ولی قسمت اول بستگی به خیلی عوامل دارد
مثلا نوع ماژول بلوتوث، نحوه ارسال عدد، ارتباط ماژول با دستگاه های جانبی و …
پس ابتدا باید تمام موارد مشخص شود و سپس برای اجرا و ساخت پروژه اقدام شود.
اقا دمت گرم کارم راه افتاد
سلام.
تست شد بسیار عالی بود.ممن,ن از وقتی که میگذارین.
با تشکر فراوان فایل دریافت شد.
با سلام.
ایمیل چک شد ایمیلی دریافت نشده.
ممنون میشم اگر مجددا ارسال کنید.
با سلام
مجددا ارسال گردید.
با سلام.
لطفا فایل برنامه رو برای بنده نیز ارسال کنید.
با سلام
فایل ارسال گردید.
با سلام
لطفا برنامه رو برای atmega8 با پین های d0,d1,d2,d3 به عنوان خروجی برای بنده نیز ارسال کنید.
با تشکر
با سلام
فایل پروژه (سورس) برای شما ارسال گردید.
در صورت نیاز، خودتان برنامه را تغییر دهید.
اگر سوالی بود بنده در خدمتم.
سلام من یه مبتدی هستم و یک پروژه به سنسور تشخیص رنگ tsl230و نمایش ان روی lcd وکنترل یا کم و زیاد کردن نور لامپ با موج pwm که من سر این که جطوری نور لامپو با pwm کنترل میکنن موندم میشه لطفا کمکم کنید.
با سلام
بنده چگونه می توانم به شما کمک کنم؟
سلام اگر امکان داره برنامه رو برام ایمیل کنید
با سلام
فایل برنامه ارسال گردید.
سلام،اگه امکانش هست برنامه رو برای منهم ارسال نمایید
مرسی
با سلام
ارسال شد.
اگر ممکن همین برنامه رو به ابشاری تبدیل کنین بعد برام بفرستین با تشکر
با سلام
به زودی آموزش برنامه نویسی این پروژه در سایت قرار خواهد گرفت.
اصلاح کردم ولی باز هم نشد اگر ممکن برنامه کامل و بدون EROR رو به ایمیلم بفرستید ممنون
با سلام
برنامه برای شما ارسال گردید.
سلام من برنامه رو در بیسکام نوشتم ولی تو قسمت LED ها EROR میده هر کار کردم درست نشد
با سلام
لطفا ویرایش زیر را انجام دهید:
(Led1 -> led (1
این ویرایش را برای تمام led ها و در تمام برنامه اعمال کنید.
سلام
من برنامه ای که نوشتید رو تست کردم led به صورت چشمک زن کار میکنه اگه بخوام نور led رو از کم به زیاد برسونم باید چکار کنم لطف کنید راهنمایی کنید مثل دیمر دیدیدین میشه نور لامپ رو کم وزیاد کرد من همچین چیزی میخوام
با تشکر
با سلام
شما باید فرکانس داخلی میکرو را با فرکانس برنامه (یعنی 8000000) برابر کنید تا مشکل چشمک زدن حل شود.
با سلام
مهندس من برنامه شما رو در محیط بسکام کامپایل کردم خطا داد ممنون میشم اگه برنامه رو واسم میل کنید خطا در قسمت
led 1 = 210 و led 2 =120
هر کاری کردم خطا از بین نرفت
با سلام
برنامه برای شما ارسال گردید.
سلام مهندس
یه تابلو درست کردم که 3 تا حرف داره میخوام چند تا افکت بهش بدم وسط کار هم pwm کار کنم میخواستم ببینم باید 3 تا تایمر فعال کنم
ضمنا تابلو من یه رنگ قرمز بیشتر نداره. ممنون میشم اگه راهنمایی کنید یا برنامه رو واسم میل کنید
باتشکر
با سلام
نه، نیازی به تعریف کردن تایمر نیست.
برنامه بالا دقیقا برای سه پایه از میکرو نوشته شده است.
شما میتوانید با اتصال هر حرف به یکی از این سه پایه، و مقدار دهی متغییر مربوط به آن پایه، نور آن حرف را تغییر دهید.
با سلام.
سایت بسیار خوبی رو فراهم کردید. من که خیلی خوشم اومد. اگه براتون مقدوره برنامه کم و زیاد کردن نور ال ای دی ها رو رو همه پروتها برای من هم ارسال کنید.
خیلی ممنون.
با سلام
اگر بخواهید بر روی تمام پورت ها، موج PWM را داشته باشید، باید تعداد متغییر LED را به تعداد پایه های میکرو تعریف کنید و همچنین در قسمت تایمر دستور IF را برای متغییرهای جدید بنویسید و در برنامه اصلی (بین DO و LOOP ) به متغییر ها مقدار دهید.
سلام اگه امکان داره برنامه رو ایمیل فرمایید . ممنونم.
با سلام
برنامه ارسال شد.
(به دلیل طولانی بودن ،کدها حذف شدند.)
تعداد زیادی دستور دیگه اضافه کردم برای اینکه خودمم بهتر متوجه بشم خلاصه نوشتم تا با توضیحات شما سر در گم نشم
Loop
با تشکر
Set Portc.5 Set Portc.4 Set Portc.3 Set Portc.2 Set Portc.1 Set Portc.0
Set Portb.5 Set Portb.4 Set Portb.3 Set Portb.2 Set Portb.1 Set Portb.0
Set Portd.7 Set Portd.6 Set Portd.5 Set Portb.7
وقتی برنامه به دستور لوپ میرسه دیگه قرار نیس بره بعد از endo بخونه
با این حال ممنون میشم یه توضیح بدید
پاسخ شما ،برایتان ایمیل شد.
سلام خسته نباشید
از برنا مه بالا چیزی نفهمیدم اگه امکانش هس کمک کن
یه تابلو ال ای دی درست کردم و با بسکام بهش افکت دادم فقط تو کم نور و پر نور شدن مشکل دارم
یه برنامه نوشتم که خلاصشو واست میذارم فقط می خوام بعد از چشمک زدن کم نور و پر نور بشه
( کدها به دلیل طولانی بودن حذف شدند.)
اگه میشه یه کد بده که به وسط برنامه اضافه کنم و کم نور و پر نور بشه
با تشکر
با سلام
شما ابتدا باید تایمر را پیکربندی کنید. (با توجه به بالا)
سپس متغییر هایی به تعداد پورت های خروجی که ال ای دی وصل کرده اید تعریف می کنید.
بعد از آن متغییرها را در داخل برنامه مقدار دهی میکنید (بین 0 تا 255 ) مثلا 50
سپس در پایین برنامه ( بعد از end ) طبق بالا دستورات را قرار می دهید.
اگر مشکلی بود ، برنامه کامل را برایم ارسال کنید تا برایتان آماده کنم.