چند ماه پیش فرزند یکی از بستگان ما از من خواست تا برایش مداری طراحی کنم که توسط آن افراد مسن و کهنسال بتوانند از زمان مناسب جهت استفاده از داروهای خود مطلع شوند. این مدار باید به گونهای طراحی میشد که کار کردن با آن و تنظیمش آسان و ساده باشد…
من این مدار را با استفاده از یک میکرو ATmega8 طراحی کردم. که وظیفه اندازه گیری زمان و پخش موزیک را در زمانهای مورد نظر بر عهده داشت.
نحوه عملکرد مدار بدین صورت است که ابتدا با هر بار فشار دادن کلید تایمر به اندازه ۲ ساعت کوک میشود. پس در صورتی که بخواهیم مدار هر ۶ ساعت یکبار آلارم بدهد باید ۳ مرتبه کلید آنرا فشار داد.البته بدلیل اینکه احتمال این وجود دارد که فرد استفاده کننده فراموش کند که چند بار کلید را زده من در مدار یک LED فرمز هم قرار دادم که با هر بار زدن کلید به همان تعداد روشن و خاموش میشود و در حین روشن خاموش شدن صدای بوقی نیز از طریق بلندگو پخش میشود.
مثلا اگر شما کلید را سه مرتبه زده باشد بعد از هر بار زدن کلید LED و بوق متناسب با آن فعال و غیر فعال میشوند بعنوان مثال در بار سوم سه مرتبه LED روشن و خاموش میشود و سه مرتبه صدای بوق هم شنیده میشود.
این موضوع کمک میکند که در صورتی فرد استفاده کننده کم شنوا یا ناشنوا باشد از نور LED متوجه تنظیم شود و همچنین افراد کم بینا نیز از طریق صدای دستگاه متوجه تنظیمات آن خواهند بود.
پس از تنظیم دستگاه، تایمر آن فعال میشود و در زمانهای تنظیم شده با پخش موزیک و روشن کردن LED فرد استفاده کننده را متوجه زمان استفاده از داروها خواهد کرد.
برای مثال اگر شما دستگاه را برای ۶ ساعت تنظیم کرده باشید در هر ۶ ساعت یکبار دستگاه شروع به هشدار دادن میکند.
حال ممکن است که این سئوال پیش آید که این وسیله تا چه بازه زمانی قابلیت تنظیم دارد؟ که در پاسخ باید گفت ماکزیمم زمان قابل تنظیم ۲۴ ساعت است. یعنی پس از اینکه شما ۱۲ بار کلید را زدید در بار سیزدهم دستگاه بر روی ۲ ساعت کوک میشود نه ۲۶ ساعت!
| ‘********************************************* ‘* 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 : +۹۸ ۹۱۲ ۳۸۱ ۲۰۶۰ * ‘********************************************* $regfile = “m8def.dat” $crystal = ۱۰۰۰۰۰۰ ‘**************************** Config Pinb.0 = Output Config Pind.0 = Input Config Portc = Output Config Pind.1 = Output Config Timer0 = Timer , Prescale = ۱۰۲۴ On Ovf0 Tim0_isr ‘**************************** Musicpin Alias Portb.1 ‘**************************** Const La = ۱۱۴ Const Lad = ۱۰۷ Const Si = ۱۰۱ Const Doo = ۹۶ Const Dod = ۹۰ Const Re = ۸۵ Const Red = ۸۰ Const Mi = ۷۶ Const Fa = ۷۲ Const Fad = ۶۸ Const Sol = ۶۴ Const Sold = ۶۰ Const Mt = ۱ ‘**************************** 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 > ۱۲ Then E = ۰
B = E
C = ۰
S = ۰
M = ۰
H = ۰
B = ۰
Do
If B = ۰ Then Set Portd.1
If Pind.0 = ۱ Then
B = B + ۲
If B > ۱۲ Then B = ۰
K = B * ۵
K = K + ۱۰۰
Sound Musicpin , ۱۰۰ , K
K = B / ۲
For I = ۱ To K
Set Portd.1
Waitms ۵۰۰
Reset Portd.1
Waitms ۵۰۰
Next I
E = B
C = ۰
S = ۰
M = ۰
H = ۰
End If
If H = B And B > ۰ Then
C = ۰
S = ۰
M = ۰
H = ۰
Set Portd.1
For I = ۰ To ۱۴۹
Note = Lookup(i , Notes)
Note = Note * ۲
Length = Lookup(i , Lengths)
Duration = ۵۰۰۰ / Note
Duration = Duration * Length
Sound Musicpin , Duration , Note
Next I
Reset Portd.1
Wait ۳
End If
Loop
End
Tim0_isr:
Timer0 = ۱۹۱
Incr C
If C = ۱۵ Then
C = ۰
Incr S
If S = ۶۰ Then
S = ۰
Incr M
If M = ۶۰ Then
M = ۰
Incr H
If H = ۲۴ Then H = ۰
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 ۴ , ۴ , ۴ , ۸ , ۴ , ۸
Data ۴ , ۸ , ۴ , ۴ , ۴ , ۴ , ۸ , ۴
Data ۸ , ۴ , ۸ , ۴ , ۴ , ۴
Data ۴ , ۸ , ۴ , ۸ , ۴ , ۸
Data ۴ , ۴ , ۴ , ۴ , ۶ , ۴
Data ۸ , ۴ , ۴
Data ۴ , ۴ , ۴ , ۸ , ۴ , ۸
Data ۴ , ۸ , ۴ , ۴ , ۴ , ۴ , ۸ , ۴
Data ۸ , ۴ , ۸ , ۴ , ۴ , ۴
Data ۴ , ۸ , ۴ , ۸ , ۴ , ۸
Data ۴ , ۴ , ۴ , ۴ , ۶ , ۴
Data ۸ , ۴ , ۴
Data ۴ , ۴ , ۴ , ۴ , ۶ , ۲
Data ۴ , ۶ , ۲ , ۴ , ۸ , ۴
Data ۴ , ۴ , ۴ , ۶ , ۲ , ۴
Data ۶ , ۲ , ۴ , ۸ , ۴ , ۴
Data ۴ , ۴ , ۶ , ۲ , ۴ , ۶
Data ۲ , ۴ , ۸ , ۴ , ۴ , ۴
Data ۴ , ۱۲ , ۱۲ , ۸ , ۴
Data ۴ , ۴ , ۴ , ۴ , ۶ , ۲
Data ۴ , ۶ , ۲ , ۴ , ۸ , ۴
Data ۴ , ۴ , ۴ , ۶ , ۲ , ۴
Data ۶ , ۲ , ۴ , ۸ , ۴ , ۴
Data ۴ , ۴ , ۶ , ۲ , ۴ , ۶
Data ۲ , ۴ , ۸ , ۴ , ۴ , ۴
Data ۴ , ۴ , ۱۶
جهت دانلود نقشه و برنامه به همراه فایل هگز آن به آدرس زیر مراجعه کنید :
http://www.hlachini.com/Projects/AVR-Timer-Music/ATmega8-Timer-Music.htm
منبع مهندس لاچینی
موضوعات مرتبط
خرید نقدی : تومان همراه با هدیه
خرید نقدی (پرداخت آنلاین) = هزینه کمتر همراه با هدیه و ارسال سریع کالا با همکاری بانک ملت - بانک پارسیان - بانک صادرات - بانک پاسارگاد بانک ملی و....
ایران سیستم روبوتیک با نام تجاری (نیاز جهان) متصل به درگاه پرداخت آنلاین بانک ملت میباشد
از این محصول 483 بازدید شده است.
این محصول در تاریــخ ۱۳۹۰/۹/۲۵ به فــروشگاه اضافــه شده است.
دسته بندی : مقالات اموزشی
برچسب ها : تایمر موزیکال توسط AVR
