سنسور فاصله سنج SRF با استفاده از امواج آلتراسونیک فاصله شی تا سنسور را تشخیص داده و طبق فرمول سرعت رفت و برگشت صوت محاسبه شده و دیتا ارسال میشود. در این آموزش توسط میکروکنترلر آردوینو و سنسور فاصله سنج و فاصله را اندازه گیری کرده و بر روی نمایشگر کاراکتری LCD نمایش میدهیم. در ادامه با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.
برد آردوینو Arduino
جهت تست و اجرای آموزش نیاز به یک میکروکنترلر خواهیم داشت. در این آموزش از آردوینو Arduino مدل UNO استفاده خواهیم کرد. آردوینو دارای تراشه Atmega328P است و با در اختیار داشتن پایه های کنترلی آنالوگ و دیجیتال I/O میتوان با سنسورهای مختلف ارتباط برقرار کرد. با در نظر گرفتن پروتکل ارتباطی آن ها را راه اندازی و کدنویسی کرد. محیط برنامه نویسی IDE Arduino است که نباز به دانش برنامه نویسی C++ خواهد داشت. با انتقال کد به محیط برنامه نویسی و کامپایل کد پروژه آماده اجرا خواهد بود.مراحل نصب نرم افزار آردوینو Arduino در آموزش زیر نوشته و منتشر شده است. در صورتیکه تا به حال با برد آردوینو کار نکرده اید، ابتدا آموزش زیر را مطالعه و سپس مراحل بعدی را اجرا کنید.
آموزش کار با برد آردوینو Arduino و نصب نرم افزار Arduino IDE
همچنین به صورت مستقیم میتوانید نرم افزار آردوینو را از طریق لینک زیر دانلود کنید. مراحل نصب نرم افزار دقیقا مشابه دیگر نرم افزارهاِ کامپیوتری است.
سنسور فاصله سنج آلتراسونیک
سنسور آلتراسونیک SRF Ultrasonic با استفاده از امواج صوتی فاصله شی را اندازه گیری میکند. سنسور آلتراسونیک به واسطه یک مبدل پالس ها را ارسال و دریافت میکند تا اطلاعات مربوط به فاصله یک شی را اندازه گیری کرده و ارسال کند. سنسورهایی که در دسترس ما هستند تنها از یک مبدل جهت ارسال پالس و دریافت اکو Echo استفاده میکنند. با اندازه گیری فاصله زمانی بین دریافت و ارسال پالس آلتراسونیک فاصله تا شی مورد نظر را اندازه گیری میکند. از سنسورهای آلتراسونیک در طراحی ربات ها جهت تشخیص مجاورت با شی، تشخیص سطح مانند سطح آب، تشخیص موقعیت و تشخیص فاصله میتوان استفاده کرد. جهت اندازه گیری فاصله سنسور، از فرمول خاصی استفاده میکند که سرعت صوت در رفت و برگشت را محاسبه کرده و با تبدیل متر بر ثانیه به واحد میکرو در سانتی متر، فاصله را نمایش میهد:
duration/29/2 float Distance = ultrasonic.Ranging(CM);
نمایشگر LCD کاراکتری آردوینو
نمایشگرهای ال سی دی کاراکتری، به دلیل استفاده راحت و قیمت مناسب در بین کاربران بسیار محبوب هستند. نوع ال سی دی کاراکتری بوده و در ابعاد مختلف تولید شده است. ال سی دی مورد استفاده در این آموزش ۲*۱۶ است که دارای ۱۶ ستون و ۲ سطر میباشد. به این معنی که قابلیت نمایش ۱۶ کاراکتر در دو خط را دارد. ال سی دی کاراکتری از چیپست موازی HD44780 بسیار محبوب استفاده میکند. جهت راه اندازی ال سی دی حداقل به ۶ پایه I/O نیاز داریم. ال سی دی از قابلیت بک لایت Backlight استفاده میکند. همچنین دارای رابط MPU چهار بیتی و یا ۸ بیتی است که نوع اتصال مشابه است. ال سی دی کاراکتری با اکثر میکروکنترلرها همخوانی داشته و قابلیت تست و راه اندازی دارد. پایه های ال سی دی LCD را بررسی خواهیم کرد:
VSS = زمین GND VCC = تغذیه ۵ ولت (VO (Display Contrast Pin = تنظیم شدت نور صفحه (RS (Register Select = انتخاب رجیستر (RW (Read/Write = پایه Read و Write E = پایه Enable D0 – D7 = پایه های دیتا A = پایه Anode K = پایه Cathode
در آموزش زیر توضیحات کامل به همراه معرفی پایه ها منتشر شده است.
آموزش راه اندازی ۳ مدل ال سی دی کاراکتری LCD با آردوینو Arduino
کد آردوینو Arduino
یک تب جدید در نرم افزار باز کرده و تمامی صفحه را پاک کنید. سپس کد زیر را کپی پیست کرده و به نرم افزار آردوینو منتقل کنید.
#include <Ultrasonic.h> // فراخوانی کتابخانه Ultrasonic #include <LiquidCrystal.h> // فراخوانی کتابخانه ال سی دی کاراکتری LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // پایه آردینو متصل به ال سی دی Ultrasonic ultrasonic(9,8); // پایه تریگر به پایه شماره ۹ آردوینو و پایه اکو به پایه شماره ۸ آردوینو متصل شده است. void setup() { lcd.begin(16, 2); // نوع ال سی دی ۱۶ در ۲ است. Serial.begin (9600); } void loop() { lcd.clear(); // توسط این دستور به صورت پیشفرض صفحه نمایش پاک میشود lcd.setCursor(0, 0); // انتخاب مکان نما lcd.print(ultrasonic.Ranging(CM)); // فرمول محاسبه سانتی متر Serial.print(ultrasonic.Ranging(CM)); lcd.print("CM"); // نمایش در ال سی دی به صورت CM Serial.println(" CM" ); delay(100); }
اتصالات فاصله سنج آلتراسونیک
اتصال پایههای LCD به آردوینو
- پایه VSS را به پایه GND، پایه VCC را به ۵ ولت اتصال دهید.
- پایه VO را به پایه GND اتصال دهید.
- پایه RS را به یکی از پایه های دیجیتال ( بسته به انتخاب در کدنویسی) اتصال دهید. در این آموزش از پایه شماره ۱۲ استفاده کنید.
- پایه RW را به پایه GND اتصال دهید.
- پایه E را به یکی از پایه های دیجیتال ( بسته به انتخاب در کدنویسی) اتصال دهید. در این آموزش از پایه شماره ۱۱ استفاده کنید.
- d4,d5,d6,d7 : با توجه به تعریف متغیر در کد برنامه از پایه های D0 تا D7 ال سی دی به پایه های آردوینو متصل میشود.در این آموزش به ترتیب به پایه های ۵،۴،۳،۲ اتصال دهید. پایه D4 به پایه شماره ۵، پایه D5 به پایه شماره ۴ , پایه D6 به پایه شماره ۳ و پایه D7 را به پایه شماره ۲ اتصال دهید.
اتصال سنسور SRF به آردوینو
- پایه تریگر سنسور SRF را یه پایه شماره ۹ دیجیتال آردوینو اتصال دهید.
- پایه اکو سنسور SRF را به پایه شماره ۸ دیجیتال آردوینو اتصال دهید.
- پایه VCC سنسور SRF را به پایه ۳٫۳ ولت آردوینو اتصال دهید.
- پایه GND سنسور SRF را به پایه GND آردوینو اتصال دهید.
تحلیل کد آردوینو فاصله سنج
مرحله اول فراخوانی دو کتابخانه Ultrasonic و LiquidCrystal
نصب کتابخانه LiquidCrystall
جهت راه اندازی ال سی دی به کتابخانه آن نیاز داریم که در بخش Library آردوینو جهت نصب قرار گرفته شده است. از مسیر زیر کتابخانه را نصب کنید:
- از منو Sketch در نرم افزار آردوینو گزینه Include Library را انتخاب کنید.
- سپس Manage Libraries را انتخاب کنید.
- در صفحه باز شده عبارت LiquidCrystal را سرچ کرده و کتابخانه زیر را پیدا و نصب کنید. آخرین ورژن را انتخاب کنید:
کتابخانه Ultrasonic
سنسورهای آلتراسونیک مدل SRF04 و SRF05 به یک روش قابل راه اندازی است و با تعریف پایه های تریگر و اکو در متن کدنویسی و ارسال و دریافت پالس در برنامه عمل میکنند. هر دو سنسور بدون استفاده از کتابخانه قابل استفاده است، اما جهت راحتی و کاهش مراحل کدنویسی از کتابخانه Ultrasonic استفاده خواهیم کرد. کتابخانه در بخش Library آردوینو جهت نصب قرار گرفته شده است. از مسیر زیر کتابخانه را نصب کنید:
- از منو Sketch در نرم افزار آردوینو گزینه Include Library را انتخاب کنید.
- سپس Manage Libraries را انتخاب کنید.
- در صفحه باز شده عبارت Ultrasonic را سرچ کرده و کتابخانه زیر را پیدا و نصب کنید. آخرین ورژن را انتخاب کنید:
انتخاب پایه تریگر و اکو; دو پایه به دلخواه برای تریگر و اکو انتخاب کنید. در این آموزش از پایه ۹ و ۸ دیجیتال آردوینو استفاده شده است.
Ultrasonic ultrasonic(9,8); // پایه تریگر به پایه شماره ۹ آردوینو و پایه اکو به پایه شماره ۸ آردوینو متصل شده است.
انتخاب پایه های نمایشگر ال سی دی جهت اتصال به آردوینو
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // پایه آردینو متصل به ال سی دی
معرفی نوع ال سی دی
void setup() { lcd.begin(16, 2); // نوع ال سی دی ۱۶ در ۲ است. Serial.begin (9600); }
توابع نمایشگر LCD
با فراخوانی دستورات زیر در ابتدا نمایشگر ال سی دی پاک شده و فاصله اندازه گیری شده بر حسب سانتی متر CM بر روی ال سی دی نمایش داده میشود.
lcd.clear(); // توسط این دستور به صورت پیشفرض صفحه نمایش پاک میشود lcd.setCursor(0, 0); // انتخاب مکان نما lcd.print(ultrasonic.read(CM)); // فرمول محاسبه سانتی متر lcd.print("CM"); // نمایش در ال سی دی به صورت CM
وسایل مورد نیاز
نمایشگر ال سی دی کاراکتری LCD 2*16
همچنین امکان خرید کیت کامل آردوینو بر پایه سنسور فاصله سنج SRF در فروشگاه وجود دارد و از طریق لینک زیر میتوانید اقدام به خرید نمایید:
کیت آردوینو بر پایه فاصله سنج آلتراسونیک SRF کیت فاصله سنج
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
سلام من وقتی کد رو کپی و ران میکنم این ارور رو میده
exit status 1
‘class Ultrasonic’ has no member named ‘Ranging’
Error downloading https://downloads.arduino.cc/packages/package_index.json
با سلام
این ارور مربوط به آپدیت کتابخانه Ultrasonic است. با تغییر Ranging به read مشکل برطرف خواهد شد.
درست شد ممنون
خواهش میکنم.
موفق باشید.
سلام خسته نباشید ای کاش نقشه هایه pcb پروژه هاتونم قرار میدادین
با سلام
از پیشنهاد شما سپاسگزارم.
در سری آموزش های بنده روش اتصالات به صورت متن نوشته شده است. در صورتیکه در هر آموزش مشکلی دارید، کافیست از همین طریق اقدام فرمایید تا راهنمای های لازم صورت گیرد.
سلام
اگه بخواهیم کمترین فاصله رو بهمون بده (یعنی با یک مانع چند بار رو به رو میشه، ولی کمترین فاصله رو نشون بده)
ممنون
با سلام
لطفا درخواست خود را کامل بفرمایید تا راهنمایی شود.
sسلام من مدار را کامل می بندم و هیچ اروری هنگام اپلود رخ نمی دهد ولی مدار کار نمی کند و ال سی دی تمام کاراکتر هایش روشن می شود و خاموش نمی شود
با سلام
در خصوص رفع عیب لطفا نوع ال سی دی و روش اتصال را بفرمایید تا بررسی شود.
سلام همه کاری که گفتید انجام دادم cm0رو نشون میده همش چشمک میزنه عدده بالا نمیره
با سلام
در این خصوص ابتدا اتصالات را بررسی نمایید و نتیجه را اعلام کنید.
باسلام من مدار رو میبندم و ال سی دی هم روشن میشه اما مدار کار نمیکنه
البته اینم بگم که بجای srfo4 از srf05 استفاده کردم ممکنه مشکل از اینجا باشه
نوع ال سی دی هم کاراکتری ۲*۱۶
با سلام
خیر تفاوتی بین عملکرد SRF04 و SRF05 وجود ندارد.
سلام
سوالی داشتم درباره ماژول های رطوبت خاک:
خواستم تفاوت بین ماژول خازنی و آنالوگ رطوبت خاک رو بپرسم!
و اینکه بهترین ماژول رطوبت خاک که دقیق باشه و ضد آب باشه و اطلاعات سریعی و دقیقی بده کدام ماژول هستش!
با سلام
در این خصوص عملکرد هر دو سنسور به صورت آنالوگ است. در صورت استفاده مداوم مدل خازنی پیشنهاد میشود.
سلام ممنون از راهنماییاتون .من مدار کامل و بر اساس توضیحات متصل کردم lcd دوبار روشن و خاموش شد و دیگه کار نکرد چندین بار اتصالات چک کردم اما روشن نمیشه ممکنه که lcd یا آردیونو سوخته باشه و چطور چک کنم با تشکر
با سلام
در این خصوص اتصالات را بررسی کنید. از مقاومت ۴٫۷ کیلو برای پایه V0 استفاده کرده و از سالم بودن کابل ها اطمینان حاصل فرمایید. بررسی و نتیجه را از همین طریق اعلام کنید.
سلام خسته نباشید وقتی برنامه lcd رو روی برنامه کپی میکنیم Arduino: 1.8.13 (Windows 7), Board: “Arduino Uno”
sketch_oct16:1:1: error: ‘Ultrasonic’ does not name a type
Ultrasonic ultrasonic(9,8); // پایه تریگر به پایه شماره ۹ آردوینو و پایه اکو به پایه شماره ۸ آردوینو متصل شده است.
^~~~~~~~~~
sketch_oct16:2:1: error: ‘LiquidCrystal’ does not name a type
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // پایه آردینو متصل به ال سی دی
^~~~~~~~~~~~~
C:\Users\click\Desktop\sketch_oct16a\sketch_oct16\sketch_oct16.ino: In function ‘void setup()’:
sketch_oct16:4:1: error: ‘lcd’ was not declared in this scope
lcd.begin(16, 2); // نوع ال سی دی ۱۶ در ۲ است.
^~~
C:\Users\click\Desktop\sketch_oct16a\sketch_oct16\sketch_oct16.ino: At global scope:
sketch_oct16:7:2: error: ‘lcd’ does not name a type
lcd.clear(); // توسط این دستور به صورت پیشفرض صفحه نمایش پاک میشود
^~~
sketch_oct16:9:3: error: ‘lcd’ does not name a type
lcd.setCursor(0, 0); // انتخاب مکان نما
^~~
sketch_oct16:11:1: error: ‘lcd’ does not name a type
lcd.print(ultrasonic.Ranging(CM)); // فرمول محاسبه سانتی متر
^~~
sketch_oct16:13:1: error: ‘lcd’ does not name a type
lcd.print(“CM”); // نمایش در ال سی دی به صورت CM
^~~
exit status 1
‘Ultrasonic’ does not name a type
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
این ارور رو میده
با سلام
کدها به درستی کپی نشده است. مجدد کد را انتقال و کتابخانه ultrasonic را نصب کنید.
سلام خسته نباشیدوقتی برنامه lcdرو کپی میکنم خط اول (Ultrasonic ultrasonic(9,8
ارور میده ممنون میشم راهنمایی کنید
با سلام
کتابخانه را نصب کنید. مشکل حل خواهد شد.
سلام خسته نباشید شرمنده این سوال رو دوباره میپرسم وقتی برنامه رو میدم
Ultrasonic ultrasonic(9,8); // پایه تریگر به پایه شماره ۹ آردوینو و پایه اکو به پایه شماره ۸ آردوینو متصل شده است.
این خط ارور میده کتابخانه هم دانلود میکنم باز میگه ultrasonicرو باز تعریف کنید فقط تو کل برنامه نویسی همین خط مشکل داره کمک کنید ممنون میشم
با سلام
لطفا ارور را ارسال کنید تا بررسی شود.
سلام خسته نباشید
redefinition of ultrasonic
این خطا رو میده موقع بارگذاری
با سلام
لطفا ارور کامل را ارسال کنید.
exit status 1
redefinition of ‘Ultrasonic ultrasonic’.
با سلام
کاربر گرامی کدها را به درستی کپی نکرده اید.
لطفا اگه امکان داره برنامه رو یک بار دیگر خودتون چک کنید چون که خط بعدی همLiquidCrystal lcdارور میده ممنون میشم از لطفتون
با سلام
کاربر گرامی کدها سالم است. لطفا ارور دریافتی را ضمیمه کنید.
با سلام.
آیا امکان راه اندازی پروژه با استفاده از نمایشگر ۱۶۰۲ با رابط i2c وجود دارد
ممنون میشم اگر توضیح بدهید چجوری اینکار رو کنم.
با سلام
بله فقط بایستی کتابخانه را تغییر دهید.
از کتابخانه liquidcrystal_i2c استفاده کنید.
سلام . وقت بخیر
موقع اجرا کد ها ارور های زیر نمایش داده میشود . مشکل از کجاست ؟
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x3b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x3b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x3b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x3b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x3b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x3b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x3b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x3b
avrdude: stk500_recv(): programmer is not responding
Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x3b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x3b
با سلام
این ارور مربوط به عدم شناسایی برد آردوینو مورد استفاده است.
نوع برد ، پورت را بررسی و مجدد آپلود کنید.
ممنونم بله از پورت com بود
سلام مجدد
بر اساس آموزش تمام اتصالات رو برقرار کردم و کد ها رو دقیقا نوشتم
ولی روی ال سی دی فقط مربع نمایش داده میشه !
با آموزش دیگه ای که روی سایت وجود دارد از مقاومت ۱۰ اهم هم استفاده کردم ولی بازم مربع نشون میده و حل نشد
ساس
با سلام
در این خصوص قطعا در اتصالات مشکل دارید و بایستی طبق آموزش پیش روید. از سالم بودن سیم ها اطمینان کسب کنید.
سلام
وقتی من سیم هارو به اردواینو وصل میکنم و بعد که میخوام کد رو بریزم اردواینو داغ میکنه و کد ریخته نمیشه
مشکلش چیه؟
با سلام
در ابتدا اتصالات را بررسی و سپس ارور را از همین طریق ضمیمه کنید تا بررسی شود.
سلام وقتتون بخیر
srf حداکثر چه مسافتی رو نشون میده ؟
با سلام
فاصله قابل تشخیص ۳ تا ۴۰۰ سانتی متر است.
سلام وقتتون بخیر
کامپایل کردم این error میده
Arduino: 1.8.10 (Windows 10), Board: “Arduino/Genuino Uno”
C:\Users\mehdi\Documents\Arduino\sketch_jan16a\sketch_jan16a.ino: In function ‘void loop()’:
sketch_jan16a:19:24: error: ‘class Ultrasonic’ has no member named ‘Ranging’
lcd.print(ultrasonic.Ranging(CM)); // فرمول محاسبه سانتی متر
^~~~~~~
sketch_jan16a:20:27: error: ‘class Ultrasonic’ has no member named ‘Ranging’
Serial.print(ultrasonic.Ranging(CM));
^~~~~~~
Multiple libraries were found for “Ultrasonic.h”
Used: C:\Users\mehdi\Documents\Arduino\libraries\Ultrasonic
Not used: C:\Users\mehdi\Documents\Arduino\libraries\Grove_Ultrasonic_Ranger
Not used: C:\Users\mehdi\Documents\Arduino\libraries\Ultrasonic_hc_sr04
Multiple libraries were found for “LiquidCrystal.h”
Used: C:\Program
exit status 1
‘class Ultrasonic’ has no member named ‘Ranging’
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
با سلام
در ابتدا کتابخانه را رسم و سپس به جای Rangig در کد برنامه read قرار دهید.
سلام انجام دادم ولی باز error میده
Arduino: 1.8.10 (Windows 10), Board: “Arduino/Genuino Uno”
sketch_jan17a:4:1: error: ‘Ultrasonic’ does not name a type
Ultrasonic ultrasonic(9,8); // پایه تریگر به پایه شماره ۹ آردوینو و پایه اکو به پایه شماره ۸ آردوینو متصل شده است.
^~~~~~~~~~
C:\Users\mehdi\Documents\Arduino\sketch_jan17a\sketch_jan17a.ino: In function ‘void loop()’:
sketch_jan17a:18:13: error: ‘ultrasonic’ was not declared in this scope
lcd.print(ultrasonic.read (CM)); // فرمول محاسبه سانتی متر
^~~~~~~~~~
sketch_jan17a:18:30: error: ‘CM’ was not declared in this scope
lcd.print(ultrasonic.read (CM)); // فرمول محاسبه سانتی متر
^~
Multiple libraries were found for “LiquidCrystal.h”
Used: C:\Users\mehdi\Documents\Arduino\libraries\LiquidCrystal
Not used: C:\Program
exit status 1
‘Ultrasonic’ does not name a type
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
با سلام
همانطور که در متن ارور مشخص شده است، به چندین کتابخانه نصب شده برای ال سی دی اشاره میکند. فقط به دو کتابخانه برای این کد نیاز دارید که در متن آموزش مشخص شده است.
کتابخانه Liquidcrystal , Ultrasonic
مجدد از فایل Library در پوشه آردوینو کتابخانه های نصب شده را بررسی و در صورت اضافه بودن پاک کنید.
سلام خانم مهندس ممنونم از راهنمایی های خوبتون
به عنوان استادمون همیشه پاسخگو بودید.
مشکل منم با آپدیت کتابخونهLiquidcrystal به اخرین ورژن . حل شد
ممنون .
با سلام
از همراهی شما صمیمانه سپاسگزارم. امیدوارم مفید واقع شده باشد.
سلام این ارور اگر مربوط به کتابخونس باید بگم ultrasonic رو نصب کردم.
اگر نه پس چیه؟
Arduino: 1.8.13 (Windows 10), Board: “Arduino Uno”
sketch_jan17a:1:10: fatal error: Ultasonic.h: No such file or directory
#include
^~~~~~~~~~~~~
compilation terminated.
exit status 1
Ultasonic.h: No such file or directory
This would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
با سلام
کدام کتابخانه نصب شده است؟
سلام مجدد.
این مشکل حل شد.
ولی الان یه مشکل دیگه اینه ک مدارو که میبندم lcd چیزی نشون نمیده و فقط مربع های سیاهه.
مدارو چندبار چک کردم((اتصالات ، برد برد، خود اردویینو و حتی جای lcdرو عوض کردم…)) ولی باز اندازه رو نشون نمیده.
srfخوب کار میکنه اما lcd اصلا کار نمیکنه(( حتی تو کد های دیگ)).
مدار تو پرتیوس هم اوکیه
به نظر lcdمشکل داره یا چی؟
در این خصوص بایستی از یک مقاومت بین ۴٫۷ تا ۱۰ کیلو بین پایه VO و GND استفاده کنید. یا از یک ولوم ۱۰ کیلو برای پایه VO که مربوط به تنظیم شدت نور صفحه است، استفاده کنید.
انجام دادم ولی بازم همونه.
تا زمانیکه کتابخانه ها به درستی انتخاب نشود، مشکل پابرجاست.
سلام
جسارتا از تو نرم افزار یا توی پوشه درایو نرم افزار باید پاک کنم اضافه ها رو
از مسیر نصب آردوینو arduino/library میتوانید کتابخانه را حذف کنید.
سلام وقتتون بخیر
من تمام اتصالات رو چند بار چک کردم ولی فاصله رو ۰ cm نشون میده
ممنون میشم راهنمایی کنید
با سلام
در این خصوص اتصالات پایه Triggerو Echo را بررسی کنید. همچنین در نظر داشته باشید این کتابخانه فقط برای SRF04 است.
سلام
وقتتون بخیر
من همه اتصالات رو انجام دادم و الان ۰cm رو نشون میده .
راهنمایی کنید ممنون میشم
با سلام
در ابتدا اتصالات را چک کنید. همچنین این کتابخانه فقط برای SRF04 است.
سلام خانم مهندس وقتتون بخیر من چندین بار اتصالاتم رو چک کردم ولی جواب نداد سنسور رو که جابجا میکنم در حد چند صدم ثانیه فاصله رو نشان میده . سنسورم srf05 هست امکانش هست که از سنسورم باشه؟
با سلام
کتابخانه ultrasonic فقط برای srf04 است و در صورت استفاده از سنسور Srf05 بایستی از دستورات high و low بدون کتابخانه استفاده کنید.
میشه دقیق بگید به چه صورتی استفاده کنیم ؟ ممنون میشم
با سلام
از آموزش زیر استفاده کنید.
راه اندازی آلتراسونیک
سلام …ال سی دی فقط چند ثانیه مسافت رو نشون میده و بعدش کلا به هم میریزه نوشته هاش…اینم کد هایی هستش که استفاده کردم…میشه بگین ایرادش کجاست؟؟؟
#include
LiquidCrystal lcd
(
۸
,
۹
, ۱۰
,
۴
,
۵
,
۶
,
۷);
double duration
=
۰
;
double distance
=
۰
;
void setup() {
lcd.begin
(۱۶,۲);
lcd.print(“hello, world!”);
analogWrite
(۱۱
, ۱۲۰);
analogWrite
(
۳
, ۲۵۵);
pinMode
(۱۲
, OUTPUT);
pinMode
(۱۳
, INPUT);
delay(2000); }
void loop() {
delayMicroseconds
(
۲);
digitalWrite
(۱۲
, LOW );
delayMicroseconds
(۱۰);
digitalWrite
(۱۲
, HIGH);
duration
= pulseIn
(۱۳
, HIGH);
distance
= (duration
/
(۵۸));
lcd.print(“distance:”);
lcd.print(distance);
lcd.print(“cm”);
lcd.setCursor
(
۰
,
۲);
lcd.print(” soheil kamali”);
delay(500);
lcd.clear(); }
با سلام
کاربر گرامی امکان بررسی کد در کامنت ها فراهم نیست. لطفا آموزش منتشر شده را اجرا و نتیجه را اعلام کنید.
سلام وقتتون بخیر ممکنه راهنمایی بفرمایید که چطوری میتونم تعیین کنم که تا فاصله ی حده اکثر یک متر رو اندازه گیری کند؟؟؟
و چگونه تعیین کنم با دقت مثلا ۵ میلی متر را اندازه گیری کند؟؟
خیلی ممنون
با سلام
رنج اندازه گیری و محدوده اندازه گیری سنسور ها در دیتاشیت نوشته شده است. سنسور SRF بین ۳ تا ۴۰۰ سانتی متر را اندازه گیری میکند.
سلام خسته نباشد
یه دستگاه دارم در یک محور حرکت می کنه چطور می توانم مسیر رفته شده به صورت دقیق وسرعت رو داشته باشم بروی کامپیوتور
با سلام
درخواست شما ناقص است. اطلاعات کاملتری ارائه دهید تا راهنمایی شود.
باسلام وقتی که verify میکنم این خط را ارور میده Serial.print(ultrasonic.Ranging(CM));
با سلام
این ارور مربوط به آپدیت کتابخانه است. به جای عبارت ranging از read استفاده کنید: Serial.print(ultrasonic.read(CM));
سلام وقتتون بخیر ممنون بابت توضیحات کاملتون، خانم مهندس امکانش هست بفرمایید اگر بخوام از سه تا سنسور فاصله سنج استفاده کنم کدنویسیش به چه صورت میشه
ممنون میشم راهنماییم کنید
با سلام
ضمن تشکر از شما کاربر گرامی
آموزش زیر را مطالعه کنید.
https://digispark.ir/arduino-srf-ultrasonic-obstacle-oled-display/
سلام
چجوری کار میکنه
با باطری ؟ یا برق خودرو؟
با سلام
کاربر گرامی
ولتاژ مورد نیاز برای راه اندازی برد آردوینو ۹ ولت ۱ آمپر است.
سلام وقت به خیر
برای پروژه اولترا سونیک :ما در لپتاب لایبرری های LiquidCrysta-1.0.7.zip و Ultrasonic-3.0.0 رو از سایت آردوینو نصب کردیم و به ارور (( class Ultrasonic)has no member named’Ranging’)مواجه شدیم
در نرم افزار arduino droid که طراحی شده برای برنامه نویسی با گوشی بعد از کامپایل به این ارور مشابه مواجه شدیم
اتصالات سخت افزاری هم درست انجام شده و ما با این ارور مواجه شدیم
روی خط دستوری Serial begin(9600) هم خطا میزد
هم روی ویندوز و هم روی اندروید چک کردیم
با سلام
این ارور مربوط به آپدیت کتابخانه Ultrasonic است. با تغییر Ranging به read مشکل برطرف خواهد شد.
سلام خسته نباشید
چطور میتونم تو همین پروژه ال سی دی رو با i2cراه اندازی کنم؟
با سلام
در این خصوص باید کتابخانه I2c برای lcd را فراخوانی کنید.
ما کد رو آپلود کردیم و قسمت های
lcd.print(ultrasonic.Ranging(CM));
Serial.print(ultrasonic.Ranging(CM));
رو به read تغییر دادیم ولی روی ال سی دی ۲*۱۶ فقط ۳۵۲cm مینویسه.
مشکل از کجاست؟
با سلام
پایه تریگر و اکو را مخالف با پایه تعریف شده در کد قرار داده اید.
سلام یه سوال من ال سی دی رو وقتی که راه اندازی میکنم فقط تمام خانه ها سفید میشه و با کم و زیاد کردن پتانسیومتر سفیدی خانه ها کم و زیاد میشه مشکلش چیه بنظرتون
نمایشگر هم LCD کاراکتری ۱۶در۲
با سلام
باید یک مقاومت ۴٫۷ کیلو یا ولوم ۱۰ کیلو سر راه پایه VO قرار گیرد.
ببخشید برای من این ارور رو میده exit status 1
Compilation error: Ultrasonic.h: No such file or directory چکار کنم
خطای “exit status 1 Compilation error: Ultrasonic.h: No such file or directory” نشان میدهد که فایل Ultrasonic.h در پروژه شما یافت نمیشود. برای حل این مشکل، میتوانید مراحل زیر را انجام دهید:
۱٫ نصب کتابخانه Ultrasonic:
مطمئن شوید که کتابخانه Ultrasonic را به درستی در IDE خود نصب کردهاید.
برای نصب کتابخانه در Arduino IDE، به Sketch > Include Library > Manage Libraries بروید و “Ultrasonic” را جستجو کنید.
کتابخانه را نصب کنید و IDE را دوباره راه اندازی کنید.