انجمن های گفتگوی روبوایکیو

لطفا به سیستم وارد یا ثبت‌نام کنید.

لطفا برای ورود نام کاربری و رمز عبورتان را وارد نمایید

لطفا برای استفاده بهتر از انجمن، ثبت نام کنید!

نویسنده موضوع: ساخت ابشار LED  (دفعات بازدید: 78 بار)

0 کاربر و 1 مهمان درحال دیدن موضوع.

آفلاین Alish923

  • کاربر جدید
  • *
  • ارسال: 25
  • امتیاز: 0
  • بهترين سرگرمي = ساختن ربات
    • ديدن مشخصات
ساخت ابشار LED
« : 15 شهریور, 1398, 01:06:23 »
چگونه می توانم نور LED را با ای سی ATMEGA8 کم و یا زیاد کنم؟
تمام عشقم حسين

آفلاین مسئول فنی

  • مدیر سایت
  • یه دنگ از سایت به نامشه
  • *****
  • ارسال: 1578
  • امتیاز: 639
    • ديدن مشخصات
پاسخ : ساخت ابشار LED
« پاسخ #1 : 20 شهریور, 1398, 12:12:54 »
میتونید از مد PWM تایمر ها برای این کار استفاده کنید

آفلاین Alish923

  • کاربر جدید
  • *
  • ارسال: 25
  • امتیاز: 0
  • بهترين سرگرمي = ساختن ربات
    • ديدن مشخصات
پاسخ : ساخت ابشار LED
« پاسخ #2 : 20 شهریور, 1398, 06:46:48 »
میتونید از مد PWM تایمر ها برای این کار استفاده کنید
مي شود در مورد pwm توضيح دهيد؟
تمام عشقم حسين

آفلاین مسئول فنی

  • مدیر سایت
  • یه دنگ از سایت به نامشه
  • *****
  • ارسال: 1578
  • امتیاز: 639
    • ديدن مشخصات

آفلاین Alish923

  • کاربر جدید
  • *
  • ارسال: 25
  • امتیاز: 0
  • بهترين سرگرمي = ساختن ربات
    • ديدن مشخصات
پاسخ : ساخت ابشار LED
« پاسخ #4 : 21 شهریور, 1398, 11:40:54 »
ممنون
تمام عشقم حسين

آفلاین Mahantara9

  • کاربر جدید
  • *
  • ارسال: 8
  • امتیاز: 0
    • ديدن مشخصات
پاسخ : ساخت ابشار LED
« پاسخ #5 : 14 مهر, 1398, 01:14:40 »
 آموزش ساخت LED آبشاری را داریم.

در این برنامه از تکنیک موج PWM برای کاهش نور LED ها استفاده شده است و تعداد LED های دنباله آبشار 5 عدد می باشد.

LED آبشاری

میتوان این برنامه را تعمیم داد و برای تمام پایه های میکرو تعریف نمود (یعنی حداقل 6 و حد اکثر 32، LED میتوان استفاده کرد.)

ابتدا معرفی میکرو،متغییرها،تایمر و پورت خروجی:
$regfile = "m16def.dat"
$crystal = 8000000
Config Porta = Output
Dim C As Byte , X As Byte , Y As Byte , Led(8) As Byte
Dim E As Byte , L As Byte , N As Byte

Config Timer0 = Timer , Prescale = 1
On Ovf0 Rgbpwm
Enable Timer0
Enable Interrupts
1
2
3
4
5
6
7
8
9
10
   
$regfile = "m16def.dat"
$crystal = 8000000
Config Porta = Output
Dim C As Byte , X As Byte , Y As Byte , Led(8) As Byte
Dim E As Byte , L As Byte , N As Byte
 
Config Timer0 = Timer , Prescale = 1
On Ovf0 Rgbpwm
Enable Timer0
Enable Interrupts

تمام LED ها را خاموش می کند:
For X = 1 To 8
Led(x) = 0
Next
1
2
3
   
For X = 1 To 8
Led(x) = 0
Next

کدهای اصلی برنامه:

در مرحله اول باید LED اول را روشن نمود و تمام LED ها نیز خاموش باقی بمانند.

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

در مرحله سول مطابق مراحل قبلی باید پیش بروید.

تا به مرحله پنجم برسیم.
Do
L = 250
For Y = 1 To 5
For X = 1 To 5
Led(x) = E
If E = 0 Then Goto M
If E < 250 Then : E = E + 50 : Goto M : End If
If E > 249 Then E = 0
M:
Next
Waitus 500
L = L - 50
If L < 50 Then Goto M1
Next
1
2
3
4
5
6
7
8
9
10
11
12
13
14
   
Do
L = 250
For Y = 1 To 5
For X = 1 To 5
Led(x) = E
If E = 0 Then Goto M
If E < 250 Then : E = E + 50 : Goto M : End If
If E > 249 Then E = 0
M:
Next
Waitus 500
L = L - 50
If L < 50 Then Goto M1
Next

در مرحله پنجم باید تمام LED ها را شیفت داد.
M1:
Led(1) = 0
For Y = 1 To 9
For X = 7 To 1 Step -1
Led(x + 1) = Led(x)
Next
Waitus 500
Next
Loop
1
2
3
4
5
6
7
8
9
   
M1:
Led(1) = 0
For Y = 1 To 9
For X = 7 To 1 Step -1
Led(x + 1) = Led(x)
Next
Waitus 500
Next
Loop

پایان برنامه
End
1
   
End

کد تایمر جهت کاهش نور LED ها :
Rgbpwm:
Timer0 = 0
Incr C
If C = 0 Then Porta = &B11111111
If Led(1) = C Then Reset Porta.0
If Led(2) = C Then Reset Porta.1
If Led(3) = C Then Reset Porta.2
If Led(4) = C Then Reset Porta.3
If Led(5) = C Then Reset Porta.4
If Led(6) = C Then Reset Porta.5
If Led(7) = C Then Reset Porta.6
Return
1
2
3
4
5
6
7
8
9
10
11
12
   
Rgbpwm:
Timer0 = 0
Incr C
If C = 0 Then Porta = &B11111111
If Led(1) = C Then Reset Porta.0
If Led(2) = C Then Reset Porta.1
If Led(3) = C Then Reset Porta.2
If Led(4) = C Then Reset Porta.3
If Led(5) = C Then Reset Porta.4
If Led(6) = C Then Reset Porta.5
If Led(7) = C Then Reset Porta.6
Return

این برنامه صرفا جهت آموزش می باشد و کدهای آن به صورت کامل نوشته نشده است.

شما میتوانید برای دریافت فایل هگز درخواست خود را در قسمت نظرات درج کنید تا به صورت رایگان برای شما ارسال شود اما در صورتی که سورس برنامه را نیاز دارید میتوانید با پرداخت اندکی هزینه آن را دریافت کنید.

آفلاین Alish923

  • کاربر جدید
  • *
  • ارسال: 25
  • امتیاز: 0
  • بهترين سرگرمي = ساختن ربات
    • ديدن مشخصات
پاسخ : ساخت ابشار LED
« پاسخ #6 : 14 مهر, 1398, 03:06:08 »
آموزش ساخت LED آبشاری را داریم.

در این برنامه از تکنیک موج PWM برای کاهش نور LED ها استفاده شده است و تعداد LED های دنباله آبشار 5 عدد می باشد.

LED آبشاری

میتوان این برنامه را تعمیم داد و برای تمام پایه های میکرو تعریف نمود (یعنی حداقل 6 و حد اکثر 32، LED میتوان استفاده کرد.)

ابتدا معرفی میکرو،متغییرها،تایمر و پورت خروجی:
$regfile = "m16def.dat"
$crystal = 8000000
Config Porta = Output
Dim C As Byte , X As Byte , Y As Byte , Led(8) As Byte
Dim E As Byte , L As Byte , N As Byte

Config Timer0 = Timer , Prescale = 1
On Ovf0 Rgbpwm
Enable Timer0
Enable Interrupts
1
2
3
4
5
6
7
8
9
10
   
$regfile = "m16def.dat"
$crystal = 8000000
Config Porta = Output
Dim C As Byte , X As Byte , Y As Byte , Led(8) As Byte
Dim E As Byte , L As Byte , N As Byte
 
Config Timer0 = Timer , Prescale = 1
On Ovf0 Rgbpwm
Enable Timer0
Enable Interrupts

تمام LED ها را خاموش می کند:
For X = 1 To 8
Led(x) = 0
Next
1
2
3
   
For X = 1 To 8
Led(x) = 0
Next

کدهای اصلی برنامه:

در مرحله اول باید LED اول را روشن نمود و تمام LED ها نیز خاموش باقی بمانند.

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

در مرحله سول مطابق مراحل قبلی باید پیش بروید.

تا به مرحله پنجم برسیم.
Do
L = 250
For Y = 1 To 5
For X = 1 To 5
Led(x) = E
If E = 0 Then Goto M
If E < 250 Then : E = E + 50 : Goto M : End If
If E > 249 Then E = 0
M:
Next
Waitus 500
L = L - 50
If L < 50 Then Goto M1
Next
1
2
3
4
5
6
7
8
9
10
11
12
13
14
   
Do
L = 250
For Y = 1 To 5
For X = 1 To 5
Led(x) = E
If E = 0 Then Goto M
If E < 250 Then : E = E + 50 : Goto M : End If
If E > 249 Then E = 0
M:
Next
Waitus 500
L = L - 50
If L < 50 Then Goto M1
Next

در مرحله پنجم باید تمام LED ها را شیفت داد.
M1:
Led(1) = 0
For Y = 1 To 9
For X = 7 To 1 Step -1
Led(x + 1) = Led(x)
Next
Waitus 500
Next
Loop
1
2
3
4
5
6
7
8
9
   
M1:
Led(1) = 0
For Y = 1 To 9
For X = 7 To 1 Step -1
Led(x + 1) = Led(x)
Next
Waitus 500
Next
Loop

پایان برنامه
End
1
   
End

کد تایمر جهت کاهش نور LED ها :
Rgbpwm:
Timer0 = 0
Incr C
If C = 0 Then Porta = &B11111111
If Led(1) = C Then Reset Porta.0
If Led(2) = C Then Reset Porta.1
If Led(3) = C Then Reset Porta.2
If Led(4) = C Then Reset Porta.3
If Led(5) = C Then Reset Porta.4
If Led(6) = C Then Reset Porta.5
If Led(7) = C Then Reset Porta.6
Return
1
2
3
4
5
6
7
8
9
10
11
12
   
Rgbpwm:
Timer0 = 0
Incr C
If C = 0 Then Porta = &B11111111
If Led(1) = C Then Reset Porta.0
If Led(2) = C Then Reset Porta.1
If Led(3) = C Then Reset Porta.2
If Led(4) = C Then Reset Porta.3
If Led(5) = C Then Reset Porta.4
If Led(6) = C Then Reset Porta.5
If Led(7) = C Then Reset Porta.6
Return

این برنامه صرفا جهت آموزش می باشد و کدهای آن به صورت کامل نوشته نشده است.

شما میتوانید برای دریافت فایل هگز درخواست خود را در قسمت نظرات درج کنید تا به صورت رایگان برای شما ارسال شود اما در صورتی که سورس برنامه را نیاز دارید میتوانید با پرداخت اندکی هزینه آن را دریافت کنید.
من فقط با كدويژن كار كرد و با بسكام زياد كار نكرد و زبان ان را نمي دانم. :'(
تمام عشقم حسين