fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa en sv fr de de fa fa fa fa ar fa ar fa ar en ar ar fa fa fa ar en fa fa fa fa fa fa en fa fa en fa fa fa fa fa en en fa es fa es fa en fa fa fa fa fa en fa fa fa fa fa fa fa fa fa fa es en hu ilo fa fa fa fa fa fa fa fa fa fa fa fa ar ar ar fa en fa fa fa en en fa ar fa fa fa fa fa fa fa en fa fa ar en fa fa fa en en fa ar fa en fa fa fa en en fa ar fa fa en fa fa fa en en fa ar fa fa fa fa fa fa fa fa ar en fa fa fa en en fa ar fa fa en fa fa fa en en fa ar fa en fa fa fa en en fa ar fa fa fa en fa fa fa en en fa ar en en fa en fa fa fa hbs_lat en fa ar fa fa fa en fa fa fa en en fa ar en en fa fa fa fa en fa fa fa en en fa ar fa fa fa fa fa fa fa ar en fa fa fa en en fa ar fa fa fa fa fa fa fa fa en fa fa fa it en fa ar fa fa en en fa fa fa en en fa ar fa fa fa fa en fa fa fa en en fa ar fa fa fa fa en ar en fa fa fa pt en fa ar fa fa en fa fa fa en en fa ar fa fa en fa en fa fa fa en en fa ar fa pl fa vi fa fa fa en fa fa fa en en fa ar fa fa fa en fa fa fa en en fa ar fa pl fa vi fa fa fa en fa fa fa en en fa fa fa fa fa fa fa azb fa fa fa ar fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa en
این مطلب بخش پنجم از آموزش جامع آردوینو (مبتدی و پیشرفته) است. در این آموزش با سنسور فاصله‌سنج التراسونیک (Ultrasonic) یا فراصوت آشنا شده و خواهید توانست فاصله اجسام خارجی تا سنسور را به کمک آردوینو اندازه‌گیری کنید. با سنسور التراسونیک می‌توانید کارهای جالبی انجام بدهید. مثلا می‌توانید یک ربات مسیریاب ساخته و با سنسور التراسونیک موانع را تشخیص دهید یا اینکه با سنسور التراسونیک ورود اشخاص به منزل‌تان را زمانی که خودتان حضور ندارید متوجه شوید.
برد آردوینو و کابل رابط
ماژول فاصله سنج آلتراسونیک HC-SR04
سنسور دما و رطوبت DHT22
سنسور التراسونیک از امواج فراصوتی برای سنجش استفاده می‌کند. این باعث می‌شود تا تفاوتی در استفاده از آن در محیط روشن یا تاریک وجود نداشته باشد. موج صوتی یک نوع موج مکانیکی است که معمولا به صورت یک جبهه فشاری حرکت می‌کند. البته انواع دیگری از امواج مکانیکی نیز وجود دارد که خارج از بحث ماست. ویژگی امواج مکانیکی نیاز به وجود محیط مادی برای انتقال است. این امواج می‌توانند در گازها، مایعات یا جامدات منقل شوند. تفاوت مهم محیط‌های مختلف در انتشار امواج صوتی، سرعت صوت در آنهاست. هرچه چگالی محیط بیشتر باشد، سرعت انتشار موج صوتی در آن نیز بیشتر خواهد شد. برای مثال، در شرایط یکسان سرعت انتشار موج صوتی در محیط جامد بیشتر از مایع و در محیط مایع بیشتر از گاز است. در ادامه خواهید دید که این موضوع در نحوه استفاده از سنسور التراسونیک اهمیت دارد. موج صوتی می‌تواند فرکانس‌های مختلفی داشته باشد و می‌توان بر این اساس آنها را دسته‌بندی کرد. امواج التراسونیک یا فراصوت دسته‌ای از امواج صوتی است که فرکانس آن بالاتر از محدوده شنوایی انسان (kHz ٢٠) است.
ایده سنسورهای التراسونیک از حیوانات گرفته شده است. دلفین و خفاش موجوداتی هستند که توانایی انتشار و شنیدن امواج التراسونیک را دارند و از این قابلیت برای تخمین فاصله خود تا موانع و اشیا استفاده می‌کنند. خفاش چشمهای ضعیفی دارد اما از امواج التراسونیک مثل یک رادار پیشرفته استفاده می‌کند و با آن می‌تواند محیط اطرافش را حتی در تاریکی مطلق شناسایی کند.
همین کار توسط سنسور التراسونیک انجام می‌شود. بر روی این ماژول دو قسمت استوانه‌ای شکل دیده می‌شود. توسط یکی از این دو قسمت یک موج التراسونیک با فرکانس kHz ٤٠ ارسال می‌شود. این موج در هوا حرکت کرده و در صورت برخورد به یک جسم خارجی بازتابیده شده و به سمت سنسور بر می‌گردد. قسمت دوم ماژول وظیفه دریافت موج بازتابیده را بر عهده دارد. بر روی این بخش یک قطعه پیزوالکتریک حساس به ارتعاش وجود دارد. برخورد یک موج التراسونیک به این قطعه باعث به وجود آمدن یک ولتاژ الکتریکی در آن می‌شود.
اگر به پشت سنسور التراسونیک توجه کنید، سه تراشه وجود دارد. یکی سیگنال التراسونیک را تولید کرده، دیگری سیگنال التراسونیک را دریافت کرده و تراشه سوم داده‌های آنالوگ را به دیجیتال تبدیل کرده و به میکروکنترلر می‌فرستد.
زمانی که طول می‌کشد تا موج از فرستنده ارسال شده به مانع برخورد کرده و توسط سنسور دریافت شود مبنای اندازه‌گیری فاصله بین سنسور تا مانع است. طبق رابطه زیر سرعت برابر است با فاصله طی شده تقسیم بر زمان. بنابراین با داشتن سرعت صوت در هوا می‌توانیم فاصله را حساب کنیم:
از آنجایی که زمان اندازه‌گیری شده از سنسور التراسونیک، زمان رفت و برگشت موج است، برای محاسبه فاصله باید نصف این زمان در نظر گرفته شود:
اگر نگاهی به محصولات التراسونیک در بازار بیاندازید، چندین نوع سنسور پیدا می‌کنید. نمونه‌هایی مانند HC-SR04 ، HC-SR05 ، SRF06 ، US-100 و JSN-SRF04T . نحوه کارکرد این سنسورها تقریبا یکسان است و تفاوت آنها عمدتا به میزان دقت، محدوده کاری، ضد آب بودن و غیره مربوط می‌شود. پرکاربردترین سنسور التراسونیک ماژول HC-SR04 است که یک سنسور ارزان قیمت و با دقت مناسب است. محدوده کاری این سنسور cm ٢ تا m ٤ و دقت آن cm ٠.٥ است.
ماژول التراسونیک دارای ٤ پایه است. نام هر پایه در کنار آن نوشته شده است. دو پایه VCC و GND ماژول را به 5V و GND آردوینو و پایه‌های Trig و Echo را به دو پایه دیجیتال (پایه ٢ و ٣ دیجیتال) آردوینو وصل کنید. پایه Trig ورودی ماژول است و فرمان ارسال موج التراسونیک به آن وارد می‌شود. پایه Echo خروجی ماژول است و به موج دریافتی از محیط حساس است.
در نرم‌افزار آردوینو پایه‌ Trig را به عنوان خروجی و Echo را به عنوان ورودی تعریف کنید. دستور مهمی که باید در این بخش معرفی کنیم، دستور pulseIn است. با استفاده از این دستور در آردوینو می‌توانید طول زمانی یک پالس که به پین آردوینو وارد می‌شود را اندازه بگیرید. مدت زمان محاسبه شده توسط pulseIn بر حسب میکروثانیه است. در صورتی که سیگنالی که می‌خواهید اندازه بگیرید، یک پالس با سطح ولتاژ High است (یعنی قبل از به وجود آمدن پالس، سیگنال Low است) در دستور pulseIn عبارت LOW و در صورتی که سیگنالی که می‌خواهید اندازه بگیرید، یک پالس با سطح ولتاژ Low است (یعنی حالت قبل از به وجود آمدن پالس، سیگنال High است) در دستور pulseIn عبارت HIGH را وارد کنید. برای مثال:
برای ارسال یک موج التراسونیک جهت اندازه‌گیری فاصله باید به مدت µs ١٠ پایه Trig را فعال کنید. علت این مقدار این است که برای دستور pulseIn پالس مورد نظر باید حداقل us ١٠ عرض داشته باشد. با این کار ٨ پالس التراسونیک با فرکانس kHz ٤٠ به محیط ارسال می‌شود. این طول زمانی به اندازه‌ای کوتاه است که تاثیر چندانی در دقت اندازه‌گیری ندارد. جهت اطمینان از صحت ارسال موج، قبل از فرمان انتشار موج، برای یک مدت کوتاه پایه Trig را Low کنید. پس از ارسال پالس، یلافاصله دستور pulseIn را بر روی پین Trig اجرا کنید تا اندازه‌گیری زمان شروع شود. از آنجایی که می‌دانیم که محدوده کاری این سنسور بین ٢ تا ٤٠٠ سانتی‌متر است، مقادیر خارج از این محدوده دقیق نبوده و آنها را حذف کنید. قبل از اینکه کد ما را ببینید، سعی کنید خودتان برنامه راه‌اندازی سنسور التراسونیک را در آردوینو بنویسید. بعد از آن برنامه ما را با کد خودتان مقایسه کنید.
راه اندازی سنسور التراسونیک با دقت بالا
که در آن v سرعت صوت در هوا، T دمای هوا بر حسب درجه سلسیوس و RH رطوبت نسبی هوا است.
نحوه اتصال ماژول التراسونیک مانند حالت قبل است. برای محاسبه سرعت صوت لازم است تا دما و رطوبت هوا را اندازه بگیریم. به این منظور از سنسور اقتصادی و نسبتا دقیق DHT22 استفاده کرده‌ایم. این سنسور ٤ پایه دارد که اگر قسمت شبکه‌ای آنرا روبروی خود بگیرید، پایه‌های آن از سمت چپ به ترتیب VCC، Data، آزاد و GND است. دقت کنید که پایه سوم به جایی وصل نمی‌شود. پایه‌های VCC و GND را به 5V و GND آردوینو و Data را به یک پایه دیجیتال (پایه ٧ دیجیتال) وصل کنید. همچنین این پایه را با یک مقاومت kΩ ١٠ به سر مثبت مدار وصل کنید. اگر می‌خواهید در مورد این سنسور بیشتر بدانید، پیشنهاد می‌کنم معرفی و راه‌اندازی سنسورهای دما و رطوبت را مطالعه کنید.
برنامه آردوینو نسبت به حالت قبل چند تفاوت جزئی دارد. اول اینکه باید کتابخانه dht را فراخوانی کرده و میزان دما و رطوبت را اندازه بگیرید. دوم اینکه رابطه سرعت صوت را بر حسب دما و رطوبت بنویسید. رابطه سرعت صوت را در این برنامه به صورت یک عبارت با استفاده از دستور define تعریف کرده‌ایم هرچند که می‌توانستید این رابطه را در حلقه loop نیز تعریف کنید.
در این آموزش با نحوه عملکرد سنسور التراسونیک آشنا شدید و توانستید به کمک این سنسور و آردوینو، فاصله اجسام را اندازه‌ بگیرید. یکی از مزایای کار با آردوینو، عملکرد ماژولار آن در کنار سنسورها و عملگرهای مختلف است. این یعنی که با وجود تعدادی ماژول مختلف می‌توانید بینهایت پروژه جالب و کاربردی تعریف کرده و بسازید. هر کدام از ماژول‌ها یک عمل خاص را انجام می‌دهد اما اینکه کل سیستم چه کاری انجام دهد کاملا بستگی به خلاقیت و ابتکار شما دارد.
در آموزش بعدی، نحوه راه‌اندازی و کار با ماژول‌های کی‌پد و JoyStick را خواهید آموخت.
نظرات شما باعث بهبود محتوای آموزشی ما می‌شود. اگر این آموزش را دوست داشتید، همین‌طور اگر سوالی در مورد آن دارید، از شنیدن نظراتتان خوشحال خواهیم شد.
داوود درستکار دانش‌آموخته کارشناسی مهندسی مکانیک از دانشگاه صنعتی اصفهان و کارشناسی ارشد از دانشگاه تهران است. وی همچنین عضو تیم تحقیقاتی مرکز سیستمها و فناوریهای پیشرفته دانشگاه تهران (CAST) است. داود مسلط به طراحی و تحلیل سیستم‌های دینامیکی، طراحی و ساخت ربات، کنترل سیستم‌های غیرخطی و پیاده‌سازی سیستم‌های هوشمند با استفاده از آردوینو است. مهمترین علاقه او در حوزه رباتیک، پرنده‌های بدون سرنشین، رباتهای توانبخشی و ساخت تجهیزات هوشمندسازی و کنترل می‌باشد.
چطور یک آردوینو بسازیم!
دومین دوره فشرده ۱۲ ساعته آردوینو
دوره‌ آموزشی فشرده ۱۲ ساعته آردوینو
میکروکنترلر چیست (قسمت اول)
میکروکنترلر چیست (قسمت دوم)
محتوای بیشتر در این بخش: « آموزش آردوینو: درس چهاردهم (سروو موتور) معرفی و راه‌اندازی ماژول بلوتوث با آردوینو »
کاربرانی که در این گفتگو شرکت کرده اند
حدود 10 ماه قبل
سلام میخواستم بدونم برای انجام پروژه های برنامه نویسی از جمله ساخت ماژول التراسونیک باید در برنامه نویسی به چه حدی برسم و روی کدوم علوم مسلط باشم؟
دوست ندارم دوست دارم
حدود 10 ماه قبل
پروژه های مختلف برنامه نویسی، نیازمند توانایی های متفاوت برنامه نویسی است. به عنوان مثال شما برای راه اندازی یک LED با استفاده از آردوینو، چنانچه هیچ آشنایی با برنامه نویسی نداشته باشید با تمرین به مدت یک ساعت می تونید این نوع...
پروژه های مختلف برنامه نویسی، نیازمند توانایی های متفاوت برنامه نویسی است. به عنوان مثال شما برای راه اندازی یک LED با استفاده از آردوینو، چنانچه هیچ آشنایی با برنامه نویسی نداشته باشید با تمرین به مدت یک ساعت می تونید این نوع پروژه ها را مسلط بشید.
همچنین پروژه هایی که open source هستند، مانند بسیاری از پروژه هایی که با استفاده از آردوینو راه اندازی می شوند، نیازمند زمان کمتری برای یادگیری می باشند.
همچنین باید در نظر داشته باشید که میکروکنترلر های مختلف، زبان های متفاوت برنامه نویسی را پشتیبانی می کنند که یادگیری هر یک از این زبان ها خود نیازمند زمان است.
پیشنهاد می کنم برای مبحث برنامه نویسی از پروژه های خیلی ابتدایی با آردوینو شروع کرده و به مرور زمان مهارت خود را افزایش دهید. می تونید از لینک های آموزش صنعت بازار نیز در این زمینه استفاده کنید.
اما ساخت محصول کاملا یک مقوله جدا است به خصوص ساخت ماژول های الکترونیکی که نیازمند دانش تخصصی الکترونیک است. بهتر است از کتب دانشگاهی رشته برق الکترونیک شروع کنید تا به مباحث آشنایی پیدا کنید. این موضوع رو هم باید در نظر داشته باشید که تقریبا تمامی ماژول های الکترونیکی مانند التراسونیک وارداتی هستند و علت در این است که متاسفانه ساخت این ماژول ها در داخل کشور نسبت به واردات آن یا صرفه اقتصادی نداشته و یا توانایی جهت تولید انبوه این ماژول ها نداریم.
دوست ندارم دوست دارم
حدود 11 ماه قبل
سلام من میخام یه سطح سنجی واسه ۱۰ متر انجام بدم ولی نمیدونم از چه سنسوری استفاده کنم میشه لطف کنین یه پیشنهاد و راهکار به من بدین
دوست ندارم دوست دارم
حدود 11 ماه قبل
متاسفانه در بین سنسورهای موجود در سایت، سنسور فاصله سنجی که در رنج 10 متری کار کند نداریم.
دوست ندارم دوست دارم
حدود 1 سال قبل
من برنامه بالا رو با ال سی دی راه اندازی کردم فاصله رو نشون میده ولی دما ورطوبت رو (-999.00)نشون میده هم در ال سی دی و هم در سریال .مشکل از سیم کشیه ؟ مشکل از برنامه و متغیره ؟ البته این نتایج شبیه سازی در پروتوس هست
من برنامه بالا رو با ال سی دی راه اندازی کردم فاصله رو نشون میده ولی دما ورطوبت رو (-999.00)نشون میده هم در ال سی دی و هم در سریال .مشکل از سیم کشیه ؟ مشکل از برنامه و متغیره ؟ البته این نتایج شبیه سازی در پروتوس هست
و می خواهم به جای دو رقم اعشار سه یا چهار رقم اعشار نشون بدهد چه تغییری باید ایجاد کنم؟
سپاس از سایت خوب شما
دوست ندارم دوست دارم
حدود 1 سال قبل
به نظر مشکل از سیم کشی سنسور هست چون عدد -999.00 هم برای دما و هم برای رطوبت نشان داده میشود. انگار اصلا سنسور وصل نشده .
دوست ندارم دوست دارم
حدود 11 ماه قبل
واسع سطح سنجی ۱۰ متر به نظرتون چی استفاده کنیم
دوست ندارم دوست دارم
حدود 11 ماه قبل
متاسفانه در بین سنسورهای موجود در سایت، سنسور فاصله سنجی که در رنج 10 متری کار کند نداریم.
برای سنجش سطح 10 متری میتوانید از فاصله سنج های صنعتی استفاده کنید یا میتوانید از مکانیزم های مکانیکی اندازه گیری کمک بگیرید.
دوست ندارم دوست دارم
حدود 1 سال قبل
'int dht::read(uint8_t)' is private within this context
سلام ببخشید این ارور چیه؟
دوست ندارم دوست دارم
حدود 1 سال قبل
این اررور مربوط به این هست که کتابخانه ای که دارید استفاده می کنید با کتابخانه ای که در کد تعریف کردید تفاوت دارد. فایل کتابخانه رو از همین صفحه دانلود کرده و مطابق توضیح سوال قبل نصب کنید مشکل حل می شود.
دوست ندارم دوست دارم
حدود 1 سال قبل
dht.h: No such file or directory
سلام من برنامه رو در اردواینو اجرا کردم ولی ارور بالا رو می دهد تمام کتابخانه ها dht رو هم دانلود کردم
باز هم ارور میداد
مشکل از چی می تونه باشه؟
با تشکر از زحمات شما
دوست ندارم دوست دارم
حدود 1 سال قبل
این مشکل دو حالت دارد. یا اینکه کتابخانه به درستی تایپ نشده که توجه شود که به حروف بزرگ و کوچیک هم حساس است
یا اینکه کتابخانه توسط آردوینو شناخته نشده است. برای رفع این مشکل ابتدا فایل زیپ کتابخانه را دانلود کرده ولی extract نکنید،...
این مشکل دو حالت دارد. یا اینکه کتابخانه به درستی تایپ نشده که توجه شود که به حروف بزرگ و کوچیک هم حساس است
یا اینکه کتابخانه توسط آردوینو شناخته نشده است. برای رفع این مشکل ابتدا فایل زیپ کتابخانه را دانلود کرده ولی extract نکنید، نرم افزار آردوینو را باز کرده از منوی sketch، include library، add .zip library را انتخاب کرده، سپس فایل زیپ را از داخل کامپیوتر انتخاب کرده و اقدام به نصب کنید.
دوست ندارم دوست دارم
حدود 1 سال قبل
تشکر از فروشگاه خوب شما
من آردواینو یونو ندارم ولی ایسی اتمگا 328 دیپ رو دارم پروگرامر هم دارم
با پراگرامر هم کار کردم
چگونه میشه مستقیم روی ایسی اپلود کرد ؟
برنامه نیاز به تغییر دارد؟
دوست ندارم دوست دارم
حدود 1 سال قبل
در لینک زیر توضیحاتی در این مورد ارائه شده است:
دوست ندارم دوست دارم
حدود 1 سال قبل
چگونه می توان کد بالا نوشته شده برای آردواینو رو به کد مناسب برای کدویژن تبدیل کرد؟
لطفا کد مناسب کدویژن برنامه بالا رو برای اتمگا 16 قرار دهید.
دوست ندارم دوست دارم
حدود 1 سال قبل
برای تبدیل مستقیم کد آردوینو به کد C یا کدویژن دستورالعمل یا نرم افزاری را سراغ ندارم و معمولا افراد به صورت دستی این کار را انجام میدهند. اما برای برنامه نویسی کردن پردازنده های دیگری مانند اتمگا 16 میتوانید از آردوینو به عنوان...
برای تبدیل مستقیم کد آردوینو به کد C یا کدویژن دستورالعمل یا نرم افزاری را سراغ ندارم و معمولا افراد به صورت دستی این کار را انجام میدهند. اما برای برنامه نویسی کردن پردازنده های دیگری مانند اتمگا 16 میتوانید از آردوینو به عنوان پروگرامر استفاده کنید و فایل .hex برنامه خود را از arduino IDE استخراج کرده و بر روی میکروکنترل مورد نظر خود آپلود کنید. در لینک زیر توضیحات بیشتری در این باره ارائه شده است:
دوست ندارم دوست دارم
حدود 1 سال قبل
اگر بخواهیم بجای آردواینو از Atmega 16 استفاده کنم باید چه تغییراتی بدهم؟
دوست ندارم دوست دارم
حدود 1 سال قبل
برنامه نویسی هسته به تنهایی بحث بسیار مفصلی است که در اینجا نمی گنجد. می تونید از لینک زیر کمک بگیرید
دوست ندارم دوست دارم
حدود 1 سال قبل
سلام میشه به جای ماژول
احتیاجی به تغییر کد برنامه نیست؟
ممنون از فروشگاه خوب شما
دوست ندارم دوست دارم
حدود 1 سال قبل
بله. می تونید بدون هیچ تغییری در کد از ماژول HY-SRF05 استفاده کنید.
دوست ندارم دوست دارم
حدود 1 سال قبل
سلام میشه به جای ماژول
احتیاجی به تغییر کد برنامه نیست؟
ممنون از فروشگاه خوب شما
دوست ندارم دوست دارم
هیچ نظری در اینجا وجود ندارد
نظر خود را اضافه کنید.
ارسال نظر بعنوان یک مهمان
پیوست ها (0 / 3)
مکان خود را به اشتراک بگذارید
همچنین من را به این موضوع مشترک کنید
موافقم با شرایط و قوانین.
رسپبری پای - Raspberry Pi
اس تی ام - STM
نرم افزار های پرینت سه بعدی
ساخت پرینتر سه بعدی
نکات طراحی و ساخت قطعات
تازه های پرینتر سه بعدی
محتوای آموزشی استفاده شده در این سایت محافظت شده می باشد و هرگونه کپی برداری از محتواهای تولید شده توسط تیم صنعت بازار موجب پیگرد خواهد بود. استفاده از مطالب صنعت بازار تنها با ذکر منبع به صورت لینک فعال بلامانع است