تایمر توسط AVR | ایران سیستم روبوتیک - نیاز جهان
طرف قرارداد بانک ملت

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



چند ماه پيش فرزند يكي از بستگان ما از من خواست تا برايش مداري طراحي كنم كه توسط آن افراد مسن و كهنسال بتوانند از زمان مناسب جهت استفاده از داروهاي خود مطلع شوند. اين مدار بايد به گونه‌اي طراحي ميشد كه كار كردن با آن و تنظيمش آسان و ساده باشد…

من اين مدار را با استفاده از يك ميكرو ATmega8 طراحي كردم. كه وظيفه اندازه گيري زمان و پخش موزيك را در زمانهاي مورد نظر بر عهده داشت.

  نحوه عملكرد مدار بدين صورت است كه ابتدا با هر بار فشار دادن كليد  تايمر به اندازه 2 ساعت كوك ميشود. پس در صورتي كه بخواهيم مدار هر 6 ساعت يكبار آلارم بدهد بايد 3 مرتبه كليد آنرا فشار داد.البته بدليل اينكه احتمال اين وجود دارد كه فرد استفاده كننده فراموش كند كه چند بار كليد را زده من در مدار يك LED فرمز هم قرار دادم كه با هر بار زدن كليد به همان تعداد روشن و خاموش ميشود و در حين روشن خاموش شدن صداي بوقي نيز از طريق بلندگو پخش ميشود.

مثلا اگر شما كليد را سه مرتبه زده باشد بعد از هر بار زدن كليد LED و بوق متناسب با آن فعال و غير فعال ميشوند بعنوان مثال در بار سوم سه مرتبه LED روشن و خاموش ميشود و سه مرتبه صداي بوق هم شنيده ميشود.

اين موضوع كمك ميكند كه در صورتي فرد استفاده كننده كم شنوا يا ناشنوا باشد از نور LED متوجه تنظيم شود و همچنين افراد كم بينا نيز از طريق صداي دستگاه متوجه تنظيمات آن خواهند بود.

  پس از تنظيم دستگاه، تايمر آن فعال ميشود و در زمانهاي تنظيم شده با پخش موزيك و روشن كردن LED فرد استفاده كننده را متوجه زمان استفاده از داروها خواهد كرد.

براي مثال اگر شما دستگاه را براي 6 ساعت تنظيم كرده باشيد در هر 6 ساعت يكبار دستگاه شروع به هشدار دادن ميكند.

حال ممكن است كه اين سئوال پيش آيد كه اين وسيله تا چه بازه زماني قابليت تنظيم دارد؟ كه در پاسخ بايد گفت ماكزيمم زمان قابل تنظيم 24 ساعت است. يعني پس از اينكه شما 12 بار كليد را زديد در بار سيزدهم دستگاه بر روي 2 ساعت كوك ميشود نه 26 ساعت!

‘*********************************************
‘* This Program Writing By : Hossein Lachini *
‘* The AVR Musical Timer                     *
‘* For to get more details visit :           *
‘*                 www.HLachini.com          *
‘* Contact to me by : eLachini@Gmail.com     *
‘* Mobile/SMS : +98 912 381 2060             *
‘*********************************************
$regfile = “m8def.dat”
$crystal = 1000000
‘****************************
Config Pinb.= Output
Config Pind.= Input
Config Portc = Output
Config Pind.= Output
Config Timer0 = Timer , Prescale = 1024
On Ovf0 Tim0_isr
‘****************************
Musicpin Alias Portb.1
‘****************************
Const La = 114
Const Lad = 107
Const Si = 101
Const Doo = 96
Const Dod = 90
Const Re = 85
Const Red = 80
Const Mi = 76
Const Fa = 72
Const Fad = 68
Const Sol = 64
Const Sold = 60
Const Mt = 1
‘****************************

Enable Timer0              ‘ enable the timer interrupt
Enable Interrupts

Dim I As Word
Dim Note As Byte
Dim Length As Byte
Dim Duration As Word
Dim B As Byte
Dim C As Byte
Dim S As Byte
Dim M As Byte
Dim H As Byte
Dim K As Byte
Dim E As Eram Byte

If E > 12 Then E = 0

= E

= 0
= 0
= 0
= 0
= 0

Do
If B = 0 Then Set Portd.1
If Pind.= 1 Then
 B = B + 2
 If B > 12 Then B = 0
 K = B * 5
 K = K + 100
 Sound Musicpin , 100 , K
 K = B / 2
 For I = 1 To K
  Set Portd.1
  Waitms 500
  Reset Portd.1
  Waitms 500
 Next I
 E = B
 C = 0
 S = 0
 M = 0
 H = 0
End If

If H = B And B > 0 Then
= 0
= 0
= 0
= 0
Set Portd.1
For I = 0 To 149
 Note = Lookup(, Notes)
 Note = Note * 2
 Length = Lookup(, Lengths)
 Duration = 5000 / Note
 Duration = Duration * Length
 Sound Musicpin , Duration , Note
Next I
Reset Portd.1
Wait 3
End If
Loop
End

Tim0_isr:

  Timer0 = 191
  Incr C
  If C = 15 Then
   C = 0
   Incr S
   If S = 60 Then
    S = 0
    Incr M
    If M = 60 Then
     M = 0
     Incr H
     If H = 24 Then H = 0
    End If
   End If
  End If
Return
‘****************************
Notes:
Data La , Si , Doo , Mi , Fa , Mi
Data Fa , Mi , Fa , Mi , Fa , Mi , Re , Mi
Data Re , Mi , Re , Mi , Re , Mi
Data Re , Doo , Re , Doo , Re , Doo
Data Si , La , Sold , La , Si , Mt
Data Fa , Mi , Mt
Data La , Si , Doo , Mi , Fa , Mi
Data Fa , Mi , Fa , Mi , Fa , Mi , Re , Mi
Data Re , Mi , Re , Mi , Re , Mi
Data Re , Doo , Re , Doo , Re , Doo
Data Si , La , Sold , La , Si , Mt
Data Fa , Mi , Mt ,
Data La , Sol , Fa , Mi , Fa , Mi
Data Re , Fa , Mi , Re , Fa , Sol
Data Fa , Mi , Re , Mi , Re , Doo
Data Mi , Re , Doo , Mi , Fa , Mi
Data Re , Doo , Re , Doo , Si , Re
Data Doo , Si , Re , Re , Mi , Sol
Data Fa , Mi , Sold , La , Mt
Data La , Sol , Fa , Mi , Fa , Mi
Data Re , Fa , Mi , Re , Fa , Sol
Data Fa , Mi , Re , Mi , Re , Doo
Data Mi , Re , Doo , Mi , Fa , Mi
Data Re , Doo , Re , Doo , Si , Re
Data Doo , Si , Re , Mi , Mi , Doo
Data Si , La , Mt
‘****************************
Lengths:
Data 4 , 4 , 4 , 8 , 4 , 8
Data 4 , 8 , 4 , 4 , 4 , 4 , 8 , 4
Data 8 , 4 , 8 , 4 , 4 , 4
Data 4 , 8 , 4 , 8 , 4 , 8
Data 4 , 4 , 4 , 4 , 6 , 4
Data 8 , 4 , 4
Data 4 , 4 , 4 , 8 , 4 , 8
Data 4 , 8 , 4 , 4 , 4 , 4 , 8 , 4
Data 8 , 4 , 8 , 4 , 4 , 4
Data 4 , 8 , 4 , 8 , 4 , 8
Data 4 , 4 , 4 , 4 , 6 , 4
Data 8 , 4 , 4
Data 4 , 4 , 4 , 4 , 6 , 2
Data 4 , 6 , 2 , 4 , 8 , 4
Data 4 , 4 , 4 , 6 , 2 , 4
Data 6 , 2 , 4 , 8 , 4 , 4
Data 4 , 4 , 6 , 2 , 4 , 6
Data 2 , 4 , 8 , 4 , 4 , 4
Data 4 , 12 , 12 , 8 , 4
Data 4 , 4 , 4 , 4 , 6 , 2
Data 4 , 6 , 2 , 4 , 8 , 4
Data 4 , 4 , 4 , 6 , 2 , 4
Data 6 , 2 , 4 , 8 , 4 , 4
Data 4 , 4 , 6 , 2 , 4 , 6
Data 2 , 4 , 8 , 4 , 4 , 4
Data 4 , 4 , 16

جهت دانلود نقشه و برنامه به همراه فایل هگز آن به آدرس زیر مراجعه کنید :

http://www.hlachini.com/Projects/AVR-Timer-Music/ATmega8-Timer-Music.htm

منبع مهندس لاچینی


از این محصول 2,521 بازدید شده است.
این محصول در تاریــخ ۱۳۹۰/۹/۲۵ به فــروشگاه اضافــه شده است.
دسته بندی : مقالات اموزشی

نــــــام
ایـمیـل
سایـت


برچسب ها : , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

امروز : سه شنبه ۵ اردیبهشت ۱۳۹۶ | Today : Tuesday 25 April 2017
فروشگاه نیاز جهان متصل به درگاه پرداخت آنلاین بانک ملت میباشد


up