رفتن به مطلب

شمارش ضربان قلب با avrبا بسکام و کد ویؤن


ارسال های توصیه شده

 

 

 

Heartbeat_AVR.png

این پروژه بر اساس خواست یکی از دوستان و اعضای سایت طراحی کردم به دلیل این که چند پروژه در سایت های مختلف دیده بودم سعی کردم که این پروژه را بهتر از همه طراحی کنم و از اونجایی که هدف آموزش هست سعی کردم برنامه خیلی ساده طراحی بشود.برخی برنامه های موجود بر اساس تاخیر کلید و دستور Debounce تعداد ضربان قلب را شمارش کرده اند که این دستور در واقع برای این کار مناسب نیست و اصولاً برای کار شمارش بهتر است از TIMER میکرو بهره بگیریم چون ممکن است در لحظه ی وقوع پالس قلب یک لحظه میکرو در آن محل از برنامه نباشد.در این برنامه بر اساس وقفه تایمر 1 و تایمر 2 میکرو تعداد ضربان قلب را بدون هیچ خطایی میتوانیم بشماریم.

[h=3]تعیین مقدار تایمرها برای تولید 1 ثانیه تاخیر دقیق:[/h] ما برای این که تعداد ضربان قلب در دقیقه را بدست بیاوریم باید با یک سنسور تعداد تپشهای قلب در طول 1 دقیقه را بشماریم که کار شمردن تعداد تپشها بر عهده ی تایمر 1 است که 16 بیتی است،علاوه بر این هم زمان با پر شدن رجیستر 16 بیتی تایمر 1 یک شمارنده دیگر میکرو که همان تایمر 2 است در حال محاسبه ی زمان است که این تایمر 8 بیتی است و با هر 128 پالس میکرو یک پالس اضافه میشود که در کل اگر میکرو در فرکاس 1MHZ قرار داشته باشد این تایمر اگر 30 بار پر شود 1 ثانیه گذشته است و میتوان در این لحظه تعداد ضربان قلب را حساب کرد البته این مقدار باید در 60 ضرب شود تا مقدار ضربان قلب در دقیقه باشد.

[h=3]روش ساخت و اصول عملکرد مدار:[/h] شما یاید یک استوانه به شکل زیر تهیه کنید و روی این استوانه دو سوراخ 5 میل ایجاد نمایید(در صورتی که از سنسور 3 میل مادون قرمز استفاده میکنید سوراخ 3 میل)این سوراخها باید زاویه مناسبی داشته باشند و کاملاً مقابل هم نباشند بلکه به شکل زیر زاویه داشته باشد زیرا قرار است نور بازتاب شده از داخل پوست به گیرنده برخورد کند و در صورتی که رو به روی هم باشند ناخن دست یا استخوان انگشت مانع بازتاب خواهد شد.در واقع نور ارسال شده از فرستنده مادون قرمز در لایه های پوست نفوذ کرده و مقداری از آن بازتاب خواهد شد که این مقدار بازتاب شده به گیرنده میرسد.مقدار بازتاب شده با تپش قلب متناسب است زیرا تعداد گلبولهای قرمز در هر تپش قلب کم و زیاد میشود و از همین طریق میتوان لحظه ی تپش را به عنوان یک پاس شناخت.

Heartbeat_finger.PNG

[h=3]نحوه ی اجرای برنامه:[/h] این برنامه بر اساس تعداد تپش های قلب انسان در حالت معمولی یک پیام بر روی LCD نمایش میدهد.در ابتدای راه اندازی با فشردن کلید START برنامه شروع به شمارش تعداد ضربان قلب مینماید و بعد از 1 دقیقه تعداد ضربان قلب نمایش داده میشود و برای بازگشت به ابتدای برنامه کافی است کلید RESTART را فشار دهید.

[h=3]ایده های برنامه نویسی:[/h] شما میتوانید بر اساس اطلاعات سرعت نبض طبیعی انسان سن و حالات روحی او را تشخیص دهید برای مثال از آنجایی که تعداد نبض طبیعی انسان در دقیقه برای نوزاد :120

6-4 سالگی: 100

14سالگی : 80

بزرگسالان:70

میباشد میتوان سن شخص را تخمین زد.

 

[h=3]قطعات مورد نیاز برای ساخت مدار ضربان سنج مادون قرمز:[/h]

  • میکروکنترلرATMEGA 8
  • نمایشگر LCD 2*16
  • سه عدد پتانسیومتر 1 کیلو
  • سه عدد پتانسیومتر 10 کیلو
  • یک عدد بازر 5 ولت
  • دو عدد خازن 4.7Uf
  • چهار عدد مقاومت 470 کیلو اهم
  • چهار عدد مقاومت 68 کیلو
  • ده عدد مقاومت 10 کیلو
  • پنج تا مقاوم 330 اهم
  • 3 عدد LED
  • 2 عدد خازن عدسی به شماره 104
  • دو عدد ترانزیستور 2N2222
  • یک عدد ال ای دی آبی رنگ
  • یک عدد آی سی LM324
  • دو عدد کلید فشاری

[h=6]توجه[/h]

  • برنامه بر اساس تایمرها نوشته شده است و تغییر کلاک برنامه بر روی عملکرد آن تاثیر میگذارد
  • از آنجایی که کلاک میکرو در حالت عادی بر روی 1 مگاهرتز است برنامه را بر روی 1مگاهرتز تنظیم کرده ایم و نیازی به تغییر فیوزبیتهای میکرو نیست

این پروژه با دو کامپایلر بسکام و کدویژن نوشته شده است. در فایل دانلود سورس کامل، شبیه سازی، PCB و ... وجود دارد.

 

رمز فایل:www.eletech.ir

حجم فایل:764 کیلوبایت

لینک به دیدگاه

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...