آردوینو آردوینو Arduino Uno آموزش آردوینو نمایشگر LCD پروژه های آردوینو

آموزش راه اندازی فاصله سنج SRF و نمایشگر LCD کاراکتری با آردوینو

arduino-kit-srf-lcd-distance-meter-digispark
نوشته شده توسط پریسا پوربلورچیان

سنسور فاصله سنج SRF با استفاده از امواج آلتراسونیک فاصله شی تا سنسور را تشخیص داده و طبق فرمول سرعت رفت و برگشت صوت محاسبه شده و دیتا ارسال می‌شود. در این آموزش توسط میکروکنترلر آردوینو و سنسور فاصله سنج و فاصله را اندازه گیری کرده و بر روی نمایشگر کاراکتری LCD نمایش می‌دهیم. در ادامه با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 


برد آردوینو Arduino


جهت تست و اجرای آموزش نیاز به یک میکروکنترلر خواهیم داشت. در این آموزش از آردوینو Arduino مدل UNO استفاده خواهیم کرد. آردوینو دارای تراشه Atmega328P است و با در اختیار داشتن پایه های کنترلی آنالوگ و دیجیتال I/O میتوان با سنسورهای مختلف ارتباط برقرار کرد. با در نظر گرفتن پروتکل ارتباطی آن ها را راه اندازی و کدنویسی کرد. محیط برنامه نویسی IDE Arduino است که نباز به دانش برنامه نویسی C++ خواهد داشت. با انتقال کد به محیط برنامه نویسی و کامپایل کد پروژه آماده اجرا خواهد بود.مراحل نصب نرم افزار آردوینو Arduino در آموزش زیر نوشته و منتشر شده است. در صورتیکه تا به حال با برد آردوینو کار نکرده اید، ابتدا آموزش زیر را مطالعه و سپس مراحل بعدی را اجرا کنید.

آموزش کار با برد آردوینو Arduino و نصب نرم افزار Arduino IDE

همچنین به صورت مستقیم میتوانید نرم افزار آردوینو را از طریق لینک زیر دانلود کنید. مراحل نصب نرم افزار دقیقا مشابه دیگر نرم افزارهاِ کامپیوتری است.

لینک دانلود نرم افزار آردوینو

آموزش ساخت فاصله سنج آلتراسونیک با آردوینو - دیجی اسپارک


سنسور فاصله سنج آلتراسونیک


سنسور آلتراسونیک SRF Ultrasonic با استفاده از امواج صوتی فاصله شی را اندازه گیری می‌کند. سنسور آلتراسونیک به واسطه یک مبدل پالس ها را ارسال و دریافت می‌کند تا اطلاعات مربوط به فاصله یک شی را اندازه گیری کرده و ارسال کند. سنسورهایی که در دسترس ما هستند تنها از یک مبدل جهت ارسال پالس و دریافت اکو Echo استفاده می‌کنند. با اندازه گیری فاصله زمانی بین دریافت و ارسال پالس آلتراسونیک فاصله تا شی مورد نظر را اندازه گیری می‌کند. از سنسورهای آلتراسونیک در طراحی ربات ها جهت تشخیص مجاورت با شی، تشخیص سطح مانند سطح آب، تشخیص موقعیت و تشخیص فاصله می‌توان استفاده کرد. جهت اندازه گیری فاصله سنسور، از فرمول خاصی استفاده می‌کند که سرعت صوت در رفت و برگشت را محاسبه کرده و با تبدیل متر بر ثانیه به واحد میکرو در سانتی متر، فاصله را نمایش می‌هد:

 

 


نمایشگر LCD کاراکتری آردوینو


نمایشگرهای ال سی دی کاراکتری، به دلیل استفاده راحت و قیمت مناسب در بین کاربران بسیار محبوب هستند. نوع ال سی دی کاراکتری بوده و در ابعاد مختلف تولید شده است. ال سی دی مورد استفاده در این آموزش ۲*۱۶ است که دارای ۱۶ ستون و ۲ سطر می‌باشد. به این معنی که قابلیت نمایش ۱۶ کاراکتر در دو خط را دارد. ال سی دی کاراکتری از چیپست موازی HD44780 بسیار محبوب استفاده می‌کند. جهت راه اندازی ال سی دی حداقل به ۶ پایه I/O نیاز داریم. ال سی دی از قابلیت بک لایت Backlight استفاده می‌کند. همچنین دارای رابط MPU چهار بیتی و یا ۸ بیتی است که نوع اتصال مشابه است. ال سی دی کاراکتری با اکثر میکروکنترلرها همخوانی داشته و قابلیت تست و راه اندازی دارد. پایه های ال سی دی LCD را بررسی خواهیم کرد:

 در آموزش زیر توضیحات کامل به همراه معرفی پایه ها منتشر شده است.

آموزش راه اندازی ۳ مدل ال سی دی کاراکتری LCD با آردوینو Arduino

نمایشگر LCD کاراکتری آردوینو - LCD 2x16 - دیجی اسپارک


کد آردوینو Arduino


یک تب جدید در نرم افزار باز کرده و تمامی صفحه را پاک کنید. سپس کد زیر را کپی پیست کرده و به نرم افزار آردوینو منتقل کنید.

 

 


اتصالات فاصله سنج آلتراسونیک


 

 اتصال پایه‌های 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 را سرچ کرده و کتابخانه زیر را پیدا و نصب کنید. آخرین ورژن را انتخاب کنید:

انتخاب پایه تریگر و اکو; دو پایه به دلخواه برای تریگر و اکو انتخاب کنید. در این آموزش از پایه ۹ و ۸ دیجیتال آردوینو استفاده شده است.

انتخاب پایه های نمایشگر ال سی دی جهت اتصال به آردوینو

معرفی نوع ال سی دی

 

توابع نمایشگر LCD

با فراخوانی دستورات زیر در ابتدا نمایشگر ال سی دی پاک شده و فاصله اندازه گیری شده بر حسب سانتی متر CM بر روی ال سی دی نمایش داده می‌شود.

 


وسایل مورد نیاز


برد آردوینو Arduino UNO

سنسور فاصله سنج SRF

نمایشگر ال سی دی کاراکتری LCD 2*16

کابل فلت

 

همچنین امکان خرید کیت کامل آردوینو بر پایه سنسور فاصله سنج SRF در فروشگاه وجود دارد و از طریق لینک زیر میتوانید اقدام به خرید نمایید:

کیت آردوینو بر پایه فاصله سنج آلتراسونیک SRF کیت فاصله سنج

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 

 

درباره نویسنده

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۶۱ دیدگاه

    • با سلام
      این ارور مربوط به آپدیت کتابخانه Ultrasonic است. با تغییر Ranging به read مشکل برطرف خواهد شد.

            • با سلام
              از پیشنهاد شما سپاسگزارم.
              در سری آموزش های بنده روش اتصالات به صورت متن نوشته شده است. در صورتیکه در هر آموزش مشکلی دارید، کافیست از همین طریق اقدام فرمایید تا راهنمای های لازم صورت گیرد.

  • sسلام من مدار را کامل می بندم و هیچ اروری هنگام اپلود رخ نمی دهد ولی مدار کار نمی کند و ال سی دی تمام کاراکتر هایش روشن می شود و خاموش نمی شود

    • با سلام
      در خصوص رفع عیب لطفا نوع ال سی دی و روش اتصال را بفرمایید تا بررسی شود.

  • سلام همه کاری که گفتید انجام دادم cm0رو نشون میده همش چشمک میزنه عدده بالا نمیره

    • با سلام
      در این خصوص ابتدا اتصالات را بررسی نمایید و نتیجه را اعلام کنید.

  • باسلام من مدار رو میبندم و ال سی دی هم روشن میشه اما مدار کار نمیکنه
    البته اینم بگم که بجای srfo4 از 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رو باز تعریف کنید فقط تو کل برنامه نویسی همین خط مشکل داره کمک کنید ممنون میشم

  • با سلام.
    آیا امکان راه اندازی پروژه با استفاده از نمایشگر ۱۶۰۲ با رابط 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

  • سلام مجدد
    بر اساس آموزش تمام اتصالات رو برقرار کردم و کد ها رو دقیقا نوشتم
    ولی روی ال سی دی فقط مربع نمایش داده میشه !
    با آموزش دیگه ای که روی سایت وجود دارد از مقاومت ۱۰ اهم هم استفاده کردم ولی بازم مربع نشون میده و حل نشد
    ساس

    • با سلام
      در این خصوص قطعا در اتصالات مشکل دارید و بایستی طبق آموزش پیش روید. از سالم بودن سیم ها اطمینان کسب کنید.

  • سلام
    وقتی من سیم هارو به اردواینو وصل میکنم و بعد که میخوام کد رو بریزم اردواینو داغ میکنه و کد ریخته نمیشه
    مشکلش چیه؟

    • با سلام
      در ابتدا اتصالات را بررسی و سپس ارور را از همین طریق ضمیمه کنید تا بررسی شود.

      • سلام وقتتون بخیر
        کامپایل کردم این 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 که مربوط به تنظیم شدت نور صفحه است، استفاده کنید.

      • سلام وقتتون بخیر
        من تمام اتصالات رو چند بار چک کردم ولی فاصله رو ۰ cm نشون میده
        ممنون میشم راهنمایی کنید

        • با سلام
          در این خصوص اتصالات پایه Triggerو Echo را بررسی کنید. همچنین در نظر داشته باشید این کتابخانه فقط برای SRF04 است.

  • سلام
    وقتتون بخیر
    من همه اتصالات رو انجام دادم و الان ۰cm رو نشون میده .
    راهنمایی کنید ممنون میشم

      • سلام خانم مهندس وقتتون بخیر من چندین بار اتصالاتم رو چک کردم ولی جواب نداد سنسور رو که جابجا میکنم در حد چند صدم ثانیه فاصله رو نشان میده . سنسورم 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(); }

    • با سلام
      کاربر گرامی امکان بررسی کد در کامنت ها فراهم نیست. لطفا آموزش منتشر شده را اجرا و نتیجه را اعلام کنید.