پایان نامه رایگان درباره تلفن همراه، نام تجاری

دانلود پایان نامه ارشد

A0 که به خروجی محور x شتاﺏسنج متصل است آماده دریافت شده و مقدار آن در متغییر x ذخیره ﻣﯽشود.
///////////read data from Accelerometer
set_adc_channel(0);
x = read_adc();
set_adc_channel(1);
y = read_adc();
set_adc_channel(4);
z = read_adc();
و اما برای خواندن داده از سنسور GSR از یک مبدل آنالوگ به دیجیتال خارجی(ADC0804) استفاده کرده ایم. برای دستیابی به خروجی این مبدل که شامل 8 بیت متصل به پورت D میکروکنترلر است، یکسری خطوط فرمان خاص باید دنبال شود. همانطور که در خطوط زیر می بینید، در مرحله اول برای شروع عملیات تبدیل باید پین 3 ( نوشتن ) را 0 ( Low ) کرده و سپس باید 1 ( High ) شود، با 1 شدن عملیات تبدیل شروع ﻣﯽشود، در مرحله دوم زمانی که پردازش تبدیل کامل شد پایه 5 ( وقفه ) 0 ( Low ) ﻣﯽشود، مرحله سوم زمانی که پایه 5 ( وقفه ) 0 شد باید پایه 2 ( خواندن ) را 0 کرده تا خط انتقالی دیتای 0 تا دیتای 7 فعال گردد و مقدار به دست آوردن ارسال شود، در مرحله چهارم مقدار پورت D قابل خواندن است که مقدار تبدیل شده آن یک عدد بین 0 تا 255 ﻣﯽباشد و در نهایت در مرحله پنجم دوباره مقدار پایه 2 (خواندن ) باید به حالت 1 ( High ) تبدیل شده تا برای خواندن مقدار های بعدی آماده باشد. مقدار خوانده شده در متغییر g ذخیره ﻣﯽشود.
//////////******read GSR data*****///////////
//read reset
output_high(PIN_C2);
//write prepare, low to high
output_low(PIN_C3);
output_high(PIN_C3);
//intrrupt
while(input(PIN_C5));
//read prepare
output_low(PIN_C2);
g = input_D();
بعد ذخیره داده از سه بعد سنسور شتاﺏسنج و GSR، نوبت به تبدیل این مقادیر به صورت رشته ای برای قابلیت نوشته شدن در حافظه جانبی ﻣﯽباشد. برای تبدیل از مجموعه دستورات زیر کمک گرفته ﻣﻰشود. sprintf یکی از توابع مربوط به کتابخانه string.h ﻣﯽباشد که معادل رشته ای یک عدد را تولید ﻣﯽکند.
sprintf(strx, “%ld”, x);
sprintf(stry, “%ld”, y);
sprintf(strz, “%ld”, z);
sprintf(strg, “%ld”, g);
برای تفکیک درست دادﻩها در مراحل بعدی مقادیر را قبل از ثبت در حافظه با یک فرمت خاص کنار هم قرار داده و سپس اقدام به نوشتن ﻣﯽشود. از “,” برای تفکیک بین متغیرهای هر دوره و از “n” برای تفکیک مجموعه متغییرهای یک دوره از بقیه دوره ها، با ایجاد یک خط، استفاده ﻣﯽشود. strcat نیز یکی دیگر از توابع کتابخانه string.h است که به منظور الصاق دو رشته به هم استفاده ﻣﯽگردد. در کد زیر همه متغییرها را بعلاوه تفکیک کننده آن به متغییر strR الصاق کرده تا در نهایت همین متغییر در حافظه نوشته شود.
strcat(strR, strx);
strcat(strR, strV); // strV is ‘,’
////////////******///////////
strcat(strR, stry);
strcat(strR, strV); // strV is ‘,’
////////////******///////////
strcat(strR, strz);
strcat(strR, strV); // strV is ‘,’
////////////******///////////
strcat(strR, strg);
strcat(strR, strN) ); // strN is ‘n’
در گام آخر برای نوشتن دادﻩهای هر دوره در حافظه از مجموع خطوط زیر استفاده ﻣﯽکنیم. دستور append برای نوشتن داده در حافظه به کار برده ﻣﯽشود. در خط بعدی از این فرمان باید تعداد حروف آماده نوشتن در حافظه را مشخص کرده و در انتها رشته ای شامل 17 حرف با دستور puts در حافظه نوشته ﻣﯽشود.
output_low(PIN_B1);//UB
while(input(PIN_B2));//DB
printf(“appendrn”); // Send Command
printf(“17rn”); // More recipes
puts(strR);
مجموعه دستور مهم دیگر در این بخش نحوه خواندن و نوشتن داده با کمک پروتکل سریال بر روی دو عدد از پین های میکروکنترلر برای ارتباط چه به صورت سیمی و چه بیسیم (با کمک بلوتوث) ﻣﯽباشد. در این حالت دیگر تبدیل داده های عددی خوانده شده از سنسورها به رشته لازم ﻧﻤﻰباشد. به طور مثال با مجموعه دستورات ساده زیر، متغییرها به ماژول بلوتوث ارسال ﻣﯽشوند. برای تفکیک دادﻩها از هم در مقصد ﻣﯽتوان از درج اعدادی که احتمال تولیدشان توسط سنسورها وجود ندارد استفاده کرد.
putc(x);
putc(y);
putc(z);
putc(g);
4-4-2 Proteus
نرﻡﺍفزار پروتئوس يكي از نرﻡﺍفزار هاي معروف و قدرتمند در رشته الكترونيك مي باشد كه از آن مي توان براي طراحي و آناليز مدارات الكترونيك استفاده كرد. اين نرﻡﺍفزار داراي دو بخش مجزا بوده كه در يك بخش مي توان مدار طراحي شده را آناليز كرد و در بخش ديگر برد مدار چاپی یا PCB43 را طراحی نمود. اين محيط امكان طراحي و آناليز مدارات الكترونيكي را در اختيار طراحان و مهندسان قرار مـﯽدهد. با انتخاب قطعات مورد نیاز در این نرﻡﺍفزار ﻣﯽتوان کار طراحی را شروع کرد. بعد اتمام طراحی شماتیک مدار ﻣﯽتوان فایل Hex را در میکروکنترلر مجازی بارگذاری کرده و اجرای آن را مشاهده و صحت عملکرد آن را قبل از پیاده سازی در دنیای واقعی بررسی کرد. در شکل زیر یک طراحی از پیاده سازی دماسنج LM35 را در محیط پروتئوس ﻣﯽتوانید ببینید.

شکل 4-17: پياده سازی دماسنج LM35 با کمک پروتئوس
4-4-3 Altium Designer (Protel DXP)
پروتل یا Altium Designer یک نرﻡﺍفزار پرقدرت برای طراحی مدارچاپی (PCB) ﻣﯽباشد. این نرﻡﺍفزار خیلی شبیه به محیط Paint مایکروسافت است، منتها با قابلیت های ویژه ای برای طراحی سریعتر و سادهﺗر مدارات چاپی. برای شروع کار ابتدا باید یک محیط کاری برای طراحی یک برد PCB آماده شود. خصوصیات برد PCB را با توجه با نیازمندهای کار انتخاب ﻣﯽکنیم مانند تک لایه و یا چند لایه بودن، فاصله حداقلی trackها از هم، قطر حفره ها، نحوه اتصال ماژول ها بر روی برد به صورت برجسته و یا خوابیده و…. برای وارد نمودن component بر روی برد می بایست از component هایی استفاده کرد که قبلاً طراحی شده و در یک کتابخانه قرار داده شدﻩاند. معمولاً در کنار نصب برنامه Protel DXP کتابخانه ای هم در کنار آن اضافه ﻣﯽشود. اما در بیشتر موارد و برای یک مدار خاص و طراحی حرفه ای این کتابخانه جوابگوی نیاز کاربران آن نخواهد بود. بنابراین در ابتدای امر نیاز به ایجاد یک کتابخانه اختصاصی وجود دارد. مجموعه component هایی که به کتابخانه اضافه ﻣﯽشود به سادگی و از طریق یک مجموعه track و pad ﻣﯽتواند طراحی شود. در شکل 4-18 نمونه یک برد آماده را ﻣﯽتوانید ببینید.

شکل 4-18: يک نمونه طراحی PCB با کمک Protel

4-4-4 TNM Programmer
برناﻣﻪنویسی میکروکنترلر با نرﻡﺍفزار Pic C Compiler انجام ﻣﻰشود و در ادامه بعد از کامپایل کد مربوطه فایل Hex تولید ﻣﻰگردد. حال برای ریختن این فایل به داخل میکروکنترلر احتیاج به یک سختﺍفزار است که بتواند با میکروکنترلر ارتباط برقرار کرده و فایل Hex را از سیستم به میکروکنترلر منتقل نماید. یکی از این ابزارها، پروگرامر TNM ﻣﯽباشد، که قادر به کار با انواع میکروکنترلرها از خانواده های مختلف است. این ابزار برای کار با سیستم، نرﻡﺍفزاری هم نام خود دارد که به همراه آن عرضه ﻣﯽشود. بعد از قرار دادن میکروکنترلر در داخل زیف TNM و اتصال دستگاه از طریق کابل USB به سیستم، برنامه TNM Universal Programmer را اجرا کرده و ﻣﯽتوان فایل Hex را در میکروکنترلر بارگذاری کرد.
4-4-5 برنامه نويسی آندرويد
آندروید به زبان ساده سيستم عاملي است براي دستگاه هاي موبايل و گوشي هاي هوشمند که توسط بيش از 30 کمپاني معروف پشتيباني مي شود. آندرويد اوپن سورس است و توسعه دهندگان مي توانند با استفاده از Android SDK برنامه هاي مختلفي براي اين سيستم عامل بنويسند. در واقع آندرويد بستري را فراهم مي کند تا برنامه نويسان بتوانند هرچه سريعتر و بهتر برنامه هايي بسازند که از تمام ويژگي هاي يک گوشي هوشمند استفاده کند، يعني برنامه نويس مي تواند از تمام قدرت يک تلفن همراه استفاده کند. آندرويد امکان استفاده از توابع داخلي گوشي موبايل همچون شماره گيري، فرستادن SMS يا استفاده از دوربين گوشي را به برنامه نويسان مـﯽدهد تا بتوانند اپليکيشن هاي قدرتمند و کاربردي براي کاربران بسازند. ویژﮔﻰهایی مانند پشتيباني از تمام تکنولوژي هاي اتصالی شامل GSM/EDGE, CDMA, EV-DO, UMTS, Bluetooth و WiFi، پشتیبانی از فرمت هاي مختلف فايل هاي مالتي مديا، ذخيره دادﻩها و مديريت بانک هاي اطلاعاتي در پایگاه داده سبک SQLite، تعبیه ماشين مجازي جاوا44، توسعه مرورگر بر اساس فريم ورک اوپن سورس WebKit، پشتیبانی از سختﺍفزارهاي مختلف همچون GPS و دوربين هاي متنوع، پردازش تصاوير و فايل هاي گرافيکي بوسيله OpenGL با کیفیت بالاتر، همگی باعث توسعه سريع، راحت و لذت بخش برنامه هاي کاربردي در آندرويد شده است [94].
در این سیستم عامل دادﻩهای اندازﻩگیری شده از سنسور به صورت خودکار در مواقع اضطراری که فرد دچار حمله صرع شده است از طریق فناوری بلوتوث به موبایل کاربر ارسال شده و از طریق سیستم SMS یا ایمیل در اختیار پزشک و خانواده بیمار قرار ﻣﯽگیرد. بلوتوث یک استاندارد رادیویی و پروتکل ارتباطی برای مصارف با توان پایین و برد کوتاه می‌باشد که با نصب یک میکروچیپ ارزان قیمت در دستگاه‌ها فعال می‌شود. بلوتوث در حقیقت نام تجاری برای شبکه‌های بیسیم شخصی است که با استاندارد IEEE 802.15 هم شناخته می‌شود. بلوتوث برای فاصله‌های نزدیک و ارسال پیغام، عکس و یا هر اطلاعات دیگری استفاده می‌شود. ارتباط با فرکانس‌های رادیویی انجام می‌شود، هر وسیله بلوتوث در باند فرکانسی 2.4 GHz تا 2.48 GHz کار می‌کند. این فرکانس از این لحاظ انتخاب شده، که در سراسر جهان به طور رایگان در دسترس است و محدودیت‌های داشتن مجوز را ندارد. این باند فرکانس طبق یک توافق نامه بین‌المللی برای استفاده توسط لوازم علمی، پزشکی و صنعتی کنار گذاشته شده و اصطلاحاً به آن ISM می‌گویند. بلوتوث از لحاظ نظری پهنای باند یک مگابایت در ثانیه را دارد، که سرعتی نزدیک به ۷۲۳ کیلوبیت در ثانیه‌است. این سرعت خیلی بالا نیست، اما برای انتقال داده‌ها بین وسایل دستی و دسترسی به اینترنت کاملاً کافی است [95].
برای تعیین موقعیت فرد مصروع از GPS گوشی استفاده خواهیم کرد. اساس کار GPS تعیین موقعیت است و این کار با دریافت امواج ماهواره های GPS که در مدارهایی به دور کره زمین در چرخش هستند، انجام ﻣﯽشود. برای تعیین موقعیت، گیرنده GPS زمانهای دریافت شده را با زمان خود مقایسه ﻣﯽکند. تفاوت این دو مشخص کننده فاصله گیرنده GPS از ماهواره مزبور ﻣﯽباشد. این عملی است که دقیقاً یک گیرنده GPS انجام مـﯽدهد. با استفاده از حداقل سه ماهواره یا بیشتر، GPS ﻣﯽتواند طول و عرض جغرافیایی مکان خود را تعیین نماید ( که آن را تعیین دو بعدی می نامند). با انجام پشت سر هم این محاسبات، GPS ﻣﯽتواند سرعت و جهت حرکت خود را نیز به دقت مشخص نماید [96].
در ادامه همین بخش پیاده سازی بخش آندروید پروژه در بخشﻫﺎی جداگانه تشریح شده است.
4-4-5-1 نحوه ارتباط بيسيم سنسور تشنج با گوشی همراه
در این قسمت مجموع چهار کلاس برای روشن و خاموش کردن بلوتوث گوشی، برقراری ارتباط با سایر دستگاههای بلوتوث، و یک کلاس برای نشان دادن دیالوگ استفاده ﻣﯽشود.
BlueActivity: در گام نخست با کمک این کلاس سنسور بلوتوث گوشی با کمک تابع getDefaultAdapter شناسایی ﻣﯽشود. فایل layout مربوط به این کلاس blue_activity ﻣﯽباشد که بر روی آن چندین دکمه قرار داده شده است. اولین دکمه onEnableButtonClicked ﻣﯽباشد، که به کمک آن سنسور بلوتوث گوشی فعال ﻣﯽشود. دومین دکمه بر روی layout این کلاس onDisableButtonClicked است که سنسور بلوتوث گوشی را خاموش ﻣﯽکند. سومین دکمه onStartDiscoveryButtonClicked ﻣﯽباشد و Intentی را برای انتقال از این کلاس به کلاس DiscoveryActivity ایجاد ﻣﯽکند که در ادامه آن را توضیح خواهیم داد. آخرین دکمه در این کلاس onOpenClientSocketButtonClicked ﻣﯽباشد. این کلاس نیز تقاضایی را برای انتقال به کلاس ClientSocketActivity ایجاد می نماید.
public void onEnableButtonClicked(View view) {
_bluetooth.enable();
Intent enabler

پایان نامه
Previous Entries پایان نامه رایگان درباره گوشی تلفن همراه، تلفن همراه Next Entries پایان نامه رایگان درباره محدودیت ها