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

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

corona-virus-automatic-hand-sanitizer-arduino-and-srf-servo-digispark
نوشته شده توسط پریسا پوربلورچیان

مایع ریز اتوماتیک کیت کرونا با استفاده از آردوینو و دانش برنامه نویسی علاوه بر کم هزینه بودن کمک به رعایت چرخه بهداشت هم کرده است. در این آموزش توسط برد آردوینو و سنسور فاصله سنج مایع دستشویی را مجهز به سیستم تشخیص خواهیم کرد. این روش یکی از ابزارهای کیت کرونا برای ریختن مایع صابون یا مایع ضدعفونی کننده کرونا، بدون تماس دست است. به این صورت که با نزدیک کردن دست به سنسور، توسط سرو موتور شافت مایع دستشویی حرکت داده شده و بدون لمس برای چند ثانیه مایع بر روی دست میریزد. در ادامه با مرجع تخصصی الکترونیک و رباتیک به زبان فارسی، دیجی اسپارک همراه باشید.

 


برد آردوینو Arduino


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

آموزش ساخت مایع ریز اتوماتیک کیت کرونا - دیجی اسپارک

 


سنسور آلتراسونیک SRF


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

 


سرو موتور Servo motor


در پروژه مایع ریز اتوماتیک کیت کرونا توسط یک عدد سرو موتور، به مخزن مایع ریز فرمان داده و فرآیند آن انجام می‌شود. سرو موتور نوعی از موتورهای الکتریکی است که با هدف بکارگیری در سیستم‌های کنترل فیدبک طراحی می‌شود. لختی (اینرسی) در موتور سرو Servo Motor پایین بوده و در نتیجه تغییر سرعت در این موتورها بسیار سریع است. برای مدیریت سرو موتور نیاز به موج مربعی یا PWM است. به عبارت دیگر سرو موتور Servo Motor یک موتور کوچک دارای یک محور یا شافت خروجی است. این محور خروجی قادر است در یک موقعیت و زاویه خاص با سیگنال دریافتی قرار گیرد. در آموزش راه اندازی سرو موتور به سه روش مختلف یاد داده شده است. در صورت نیاز میتوانید از طریق لینک زیر مطالعه کنید.

سه روش راه اندازی سرو موتور servo motor با Arduino آردوینو

 


کد آردوینو مایع ریز اتوماتیک


کد برنامه مایع ریز اتوماتیک کیت کرونا به زبان ++C در IDE Arduino نوشته شده است. کد را کپی کرده و به محیط برنامه نویسی Arduino انتقال دهید.

 


اتصالات مایع ریز اتوماتیک


برای ساخت پروژه مایع ریز اتوماتیک کیت کرونا به آردوینو، سرو موتور و فاصله سنج SRF نیاز داریم. همانند زیر اتصالات را انجام دهید. سرو موتور دارای سه سیم نارنجی، قرمز و قهوه ای است که به ترتیب پایه نارنجی پایه دیتا، پایه قرمز تغذیه ۵ولت و پایه قهوه ای پایه GND است:

  • سیم دیتا سرو موتور را به پایه دیجیتال شماره ۹ آردوینو Arduino اتصال دهید.
  • سیم  VCC سرو موتور را به پایه ۵ ولت آردوینو Arduino اتصال دهید.
  • سیم GND سرو موتور را به پایه GND آردوینو Arduino اتصال دهید.

سنسور فاصله سنج SRF04 دارای ۴ پایه Trigger, Echo, VCC, GND است.

  • پایه Trigger سنسور فاصله سنج را به پایه دیجیتال شماره ۲ آردوینو Arduino اتصال دهید.
  • پایه Echo سنسور فاصله سنج را به پایه دیجیتال شماره ۳ آردوینو Arduino اتصال دهید.
  • پایه VCC سنسور فاصله سنج را به پایه ۳٫۳ و یا ۵ ولت آردوینو Arduino اتصال دهید.
  • پایه GND سنسور فاصله سنج را به پایه GND آردوینو Arduino اتصال دهید.

دستگاه مایع صابون ریز اتوماتیک کرونا Corona Hand sanitizer با آردوینو - دیجی اسپارک

 


تحلیل کد مایع ریز اتوماتیک کیت کرونا


مرحله اول، فراخوانی دو کتابخانه Ultrasonic و Servo

  • از مسیر Arduino/ Sketch / Include Librray کتابخانه ی Ultrasonic را نصب کنید. کتابخانه سرو موتور به صورت پیش فرض در لیست کتابخانه های نصب شده آردوینو قرار دارد.

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

انتخاب یک متغیر دلخواه برای سرو

یک متغیر با نام دلخواه جهت فراخوانی سرو موتور تعریف کنید. در این کد از myservo استفاده شده است.

فراخوانی پایه سرو

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

فرمول محاسبه فاصله با سنسور آلتراسونیک

سرعت صوت ۳۴۳ متر بر ثانیه و یا به عبارتی ۲۹٫۱۵۵ میکرو بر سانتی متر است که با توجه به در نظر گرفتن رفت و برگشت صوت، مدت زمان را بر ۲۹ و سپس بر ۲ تقسیم می‌شود.

در این بخش توسط دستور ultrasonic.Ranging فاصله از دستورات تعریف شده در کتابخانه SRF خوانده و به صورت دیتا بر واحد CM ارسال می‌شود.

 

شرط گذاری

قرار است با نزدیک شدن دست به سنسور فاصله و تشخیص فاصله تا ۱۰ سانتی متر شافت سرو موتور در زاویه ۱۸۰ درجه چرخش کند. برای اینکار کافیست از دستورات شرطی در زیان برنامه نویسی  C++ استفاده کنیم. دستورات شرطی، دستوری را خوانده و در صورت درست بودن آن را اجرا خواهد کرد، حال اگر دستور اجرا نشود خط بعدی اجرا خواهد شد. در این پروژه در صورتیکه فاصله دست تا سنسور ۱۰ سانتی متر و کمتر باشد، شافت سرو موتور از زاویه ۰ به ۱۸۰ درجه چرخش خواهد کرد. پس از گذشت زمان ۱۰ میلی ثانیه شافت سرو به حالت اولیه خود یعنی زاویه ۰ برمیگردد. فاصله با توجه به مکان انتخابی شما میتوان تغییر کند.

 

 


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


آردوینو Arduino UNO به همراه کابل Type B

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

سرو موتور Servo Motor

پک کابل فلت 

چسب جهت چسباندن سرو موتور به بدنه مایع دستشویی

 

 

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

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

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

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

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

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

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

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

۱۵۶ دیدگاه

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

  • سلام خانم من در اینستاگرم دیدم که از سنسوری مثل ir استفاده شده فرقش چیه
    تفاوتش چیه؟ یعنی دقت اونا بالاتره؟

    • با سلام
      این مورد ربطی به دقت اندازه گیری ندارد. هر سنسور دقت اندازه گیری منحصر به خودش را دارد و این مورد در دیتاشیت آن ذکر شده است. در خصوص سنسور IR هم میتوانید از سنسور مورد نظر خود استفاده کنید. تنها کافیست به جای استفاده از کتابخانه Ultrasonic سنسور ir را تعریف و در حلقه Loop همانند همین آموزش با دستور شرطی if else شرط گذاری کنید.

      • سلام اگر ممکنه این برنامه را بجای سرو موتور با رله بنویسین که موقع تحریک سنسور رله به مدت ۲ الی ۳ ثانیه وصل بشا بعد قطع بشه و نحوه انصال رله به برد اردینو رو توضیح دهید.

  • درود فراوان اول از همه تشکر میکنم بابت توضیحات خط به خط من از srf05 استفاده میکنم و یه پایه out داره نیازی نداره که ازش برای این کد استفاده بشه؟

    • با سلام
      از توجه شما ممنونم.
      خیر نیازی به استفاده و تعریف پایه out در کد برنامه و اتصالات نیست.

  • سلام
    ضمن تشکر از شما آیا امکان استفاده از ال ای دی برای مدت زمان دست شستن برای این کد قابل تعریف است؟ میخواهم ال ای دی ها به مت ۳۰ ثانیه روشن و سپس خاموش شود

    • با سلام
      بله این امکان وجود دارد. تنها کافیست تعداد ال ای دی LED های مورد نظر را در برنامه تعریف کرده و با تابع delay مقدار زمان تاخیر را تعریف کنید و در دستورات if else بعد از انجام هر دستور وارد کنید.

  • با سلام
    آیا امکان خرید یک جای وسایل وجود دارد؟ همچنین ولتاژ مورد نیاز برای کیت چقدر است؟

    • با سلام
      کیت کامل را از طریق لینک زیر میتوانید تهیه نمایید. همچنین ولتاژ آردوینو هم از طریق ۵ ولت USB و هم از طریق باتری و یا آداپتور ۹ ولت قابل تامین است.

    • با سلام
      لزومی جهت استفاده از کتابخانه Ultrasonic وجود ندارد و در عملکرد آن تاثیری ندارد.

    • با سلام
      محل قرار گیری سرو موتور بستگی به روش اتصالات دارد و روند پیچیده ای نخواهد بود. تنها کافیست شافت سرو به گونه ای قرار گیرد که با تغییر زاویه محور مایع دستشویی حرکت کند.

  • سلام این ارور رو موقع کامپایلینگ گرفتم

    Arduino: 1.8.12 (Windows 8.1), Board: “Arduino Uno”

    C:\Users\Mr maddah\Documents\ardoyno\soap_pusher\soap_pusher.ino: In function ‘void loop()’:

    soap_pusher:18:31: error: ‘class Ultrasonic’ has no member named ‘Ranging’

    float Distance = ultrasonic.Ranging(CM); // دریافت و تشخیص فاصله

    ^~~~~~~

    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.

    • با سلام
      آیا کتابخانه آلتراسونیک را نصب شده است؟ یک تب جداگانه باز کرده و مجدد کد را انتقال دهید. ( نوشته های پیش فرض مانند void setup و viod loop را پاک کنید) نتیجه را از همین طریق اعلام کنید.

        • مجدد ارور دریافتی را ضمیمه کنید تا بررسی شود. ممکن است در ورژن های مختلف آردوینو و کتابخانه ها تداخلی صورت گرفته باشد که نیاز به بررسی مجدد دارد.

      • سلام بنده کتابخانه هارو نصب کردم ولی پیغام زیر رو میده

        ‘class UltraSonic’ has no member named ‘ranging’; did you mean ‘sensing’?

        • با سلام
          این ارور مربوط به کتابخانه Ultrasonic است و ممکن است ورژن دانلودی شما همخوانی با این کد نداشته باشد.
          ورژن آردوینو مورد استفاده بنده ۱٫۸٫۵ است. از منو manage libraries عبارت Ultrasonic را سرچ کرده و کتابخانه‌ی ultrasonic by erick simoes را نصب کنید.
          موارد گفته شده را بررسی و نتیجه را از همین طریق اعلام کنید.

  • خانم پور بلورچیان عزیز سلام
    ممنون بابت اموزش خوبتون بسیار بسیار عالی و کاربردی
    سرکار خانم بنده یه جای مایع دستشویی از قبل دارم که تو خودش یه مکنده داره شبیه به واتر پمپ های میناتوری و مایه رو مکش میکنه و از خروجی که یه لوله باشه بیرون میده و در انتهای موتور این مکنده فقط یه سیم مثبت و یه سیم منفی داره حالا سوال بنده از شما خانم محترم این هستش که من میتونم این واتر پمپ رو جایگزین سرو موتور تو این پروژه کنم ایا راهی هست ممنون میشم اگه بنده رو راهنمایی بفرمایین سپاسگذارم

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

  • این موتور خیلی ضعیف هست از موتور دیگه میشه استفاده کرد؟ لطفا معرفی کنید و اینکه درایو موتور باید اضافه بشه یا مثل همین موتور متصل میشه؟

    • سلام
      بله سرو موتور با دنده فلزی هم می‌توانید استفاده کنید که در این خصوص بایستی ولتاژ کاری سرو موتو را در نظر بگیرید. در صورتیکه ولتاژی بیشتر از ۵ ولت نیاز داشته باشد، امکان استفاده از تغذیه آردوینو وجود ندارد و بایستی از تغذیه جداگانه استفاده کنید. همچنین در صورت استفاده از موتور هم روال کار به همین صورت است تنها بایستی در کدنویسی تغییراتی اعمال شود.

  • خانم بور بلورچیان سلام خسته نباشین
    برای من این ارور رو میده ممنون میشم راهنمایی بفرمایین

    Arduino: 1.8.12 (Windows Store 1.8.33.0) (Windows 10), Board: “Arduino Uno”

    C:\Users\Hossein\Documents\Arduino\soap\soap.ino: In function ‘void setup()’:

    soap:18:6: error: redefinition of ‘void setup()’

    void setup()

    ^~~~~

    C:\Users\Hossein\Documents\Arduino\soap\soap.ino:1:6: note: ‘void setup()’ previously defined here

    void setup() {

    ^~~~~

    C:\Users\Hossein\Documents\Arduino\soap\soap.ino: In function ‘void loop()’:

    soap:25:6: error: redefinition of ‘void loop()’

    void loop()

    ^~~~

    C:\Users\Hossein\Documents\Arduino\soap\soap.ino:6:6: note: ‘void loop()’ previously defined here

    void loop() {

    ^~~~

    soap:27:31: error: ‘class Ultrasonic’ has no member named ‘Ranging’

    float Distance = ultrasonic.Ranging(CM); // دریافت و تشخیص فاصله

    ^~~~~~~

    Multiple libraries were found for “Ultrasonic.h”
    Used: C:\Users\Hossein\Documents\Arduino\libraries\Ultrasonic
    Not used: C:\Users\Hossein\Documents\Arduino\libraries\Ultrasonic_hc_sr04
    exit status 1
    redefinition of ‘void setup()’

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    • با سلام
      ورژن آردوینو مورد استفاده شما ۱٫۸٫۱۲ است و با کتابخانه مورد استفاده تداخل دارد.
      در ابتدا از منو manage libraries عبارت Ultrasonic را سرچ کرده و کتابخانه‌ی ultrasonic by erick simoes را نصب کنید. چند ورژن برای کتابخانه معرفی شده است، به ترتیب از آخرین ورژن نصب کرده و تست کنید.
      همچنین چند کتابخانه مختلف نصب کرده اید که سبب تداخل در کتابخانه ها شده است. بایستی آن ها را حذف کنید و مجدد فقط یک کتابخانه نصب کنید.
      موارد گفته شده را بررسی و نتیجه را از همین طریق اعلام کنید.

      • سلام خانم پور بلور چیان
        بنده دقیقا تمام دستورات شما رو مو به مو اجرا کردم نتیجه این شده
        Arduino: 1.8.12 (Windows Store 1.8.33.0) (Windows 10), Board: “Arduino Uno”

        C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\tools-builder -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware\tools\avr -built-in-libraries C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\libraries -libraries C:\Users\Hossein\Documents\Arduino\libraries -fqbn=arduino:avr:uno -ide-version=10812 -build-path C:\Users\Hossein\AppData\Local\Temp\arduino_build_35979 -warnings=none -build-cache C:\Users\Hossein\AppData\Local\Temp\arduino_cache_968597 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware\tools\avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino5.path=C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware\tools\avr -verbose C:\Users\Hossein\Documents\Arduino\sketch_apr13a\sketch_apr13a.ino
        C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\arduino-builder -compile -logger=machine -hardware C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\tools-builder -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware\tools\avr -built-in-libraries C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\libraries -libraries C:\Users\Hossein\Documents\Arduino\libraries -fqbn=arduino:avr:uno -ide-version=10812 -build-path C:\Users\Hossein\AppData\Local\Temp\arduino_build_35979 -warnings=none -build-cache C:\Users\Hossein\AppData\Local\Temp\arduino_cache_968597 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware\tools\avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino5.path=C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware\tools\avr -verbose C:\Users\Hossein\Documents\Arduino\sketch_apr13a\sketch_apr13a.ino
        Using board ‘uno’ from platform in folder: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware\arduino\avr
        Using core ‘arduino’ from platform in folder: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware\arduino\avr
        Detecting libraries used…
        “C:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\tools\\avr/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\cores\\arduino” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\variants\\standard” “C:\\Users\\Hossein\\AppData\\Local\\Temp\\arduino_build_35979\\sketch\\sketch_apr13a.ino.cpp” -o nul
        Alternatives for Ultrasonic.h: [Ultrasonic@3.0.0]
        ResolveLibrary(Ultrasonic.h)
        -> candidates: [Ultrasonic@3.0.0]
        “C:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\tools\\avr/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\cores\\arduino” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\variants\\standard” “-IC:\\Users\\Hossein\\Documents\\Arduino\\libraries\\Ultrasonic\\src” “C:\\Users\\Hossein\\AppData\\Local\\Temp\\arduino_build_35979\\sketch\\sketch_apr13a.ino.cpp” -o nul
        Alternatives for Servo.h: [Servo@1.1.6]
        ResolveLibrary(Servo.h)
        -> candidates: [Servo@1.1.6]
        “C:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\tools\\avr/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\cores\\arduino” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\variants\\standard” “-IC:\\Users\\Hossein\\Documents\\Arduino\\libraries\\Ultrasonic\\src” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\libraries\\Servo\\src” “C:\\Users\\Hossein\\AppData\\Local\\Temp\\arduino_build_35979\\sketch\\sketch_apr13a.ino.cpp” -o nul
        “C:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\tools\\avr/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\cores\\arduino” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\variants\\standard” “-IC:\\Users\\Hossein\\Documents\\Arduino\\libraries\\Ultrasonic\\src” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\libraries\\Servo\\src” “C:\\Users\\Hossein\\Documents\\Arduino\\libraries\\Ultrasonic\\src\\Ultrasonic.cpp” -o nul
        “C:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\tools\\avr/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\cores\\arduino” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\variants\\standard” “-IC:\\Users\\Hossein\\Documents\\Arduino\\libraries\\Ultrasonic\\src” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\libraries\\Servo\\src” “C:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\libraries\\Servo\\src\\avr\\Servo.cpp” -o nul
        “C:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\tools\\avr/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\cores\\arduino” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\variants\\standard” “-IC:\\Users\\Hossein\\Documents\\Arduino\\libraries\\Ultrasonic\\src” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\libraries\\Servo\\src” “C:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\libraries\\Servo\\src\\mbed\\Servo.cpp” -o nul
        “C:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\tools\\avr/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\cores\\arduino” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\variants\\standard” “-IC:\\Users\\Hossein\\Documents\\Arduino\\libraries\\Ultrasonic\\src” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\libraries\\Servo\\src” “C:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\libraries\\Servo\\src\\megaavr\\Servo.cpp” -o nul
        “C:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\tools\\avr/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\cores\\arduino” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\variants\\standard” “-IC:\\Users\\Hossein\\Documents\\Arduino\\libraries\\Ultrasonic\\src” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\libraries\\Servo\\src” “C:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\libraries\\Servo\\src\\nrf52\\Servo.cpp” -o nul
        “C:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\tools\\avr/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\cores\\arduino” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\variants\\standard” “-IC:\\Users\\Hossein\\Documents\\Arduino\\libraries\\Ultrasonic\\src” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\libraries\\Servo\\src” “C:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\libraries\\Servo\\src\\sam\\Servo.cpp” -o nul
        “C:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\tools\\avr/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\cores\\arduino” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\variants\\standard” “-IC:\\Users\\Hossein\\Documents\\Arduino\\libraries\\Ultrasonic\\src” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\libraries\\Servo\\src” “C:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\libraries\\Servo\\src\\samd\\Servo.cpp” -o nul
        “C:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\tools\\avr/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\cores\\arduino” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\variants\\standard” “-IC:\\Users\\Hossein\\Documents\\Arduino\\libraries\\Ultrasonic\\src” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\libraries\\Servo\\src” “C:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\libraries\\Servo\\src\\stm32f4\\Servo.cpp” -o nul
        Generating function prototypes…
        “C:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\tools\\avr/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\cores\\arduino” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\variants\\standard” “-IC:\\Users\\Hossein\\Documents\\Arduino\\libraries\\Ultrasonic\\src” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\libraries\\Servo\\src” “C:\\Users\\Hossein\\AppData\\Local\\Temp\\arduino_build_35979\\sketch\\sketch_apr13a.ino.cpp” -o “C:\\Users\\Hossein\\AppData\\Local\\Temp\\arduino_build_35979\\preproc\\ctags_target_for_gcc_minus_e.cpp”
        “C:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\tools-builder\\ctags\\5.8-arduino11/ctags” -u –language-force=c++ -f – –c++-kinds=svpf –fields=KSTtzns –line-directives “C:\\Users\\Hossein\\AppData\\Local\\Temp\\arduino_build_35979\\preproc\\ctags_target_for_gcc_minus_e.cpp”
        Compiling sketch…
        “C:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\tools\\avr/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\cores\\arduino” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\hardware\\arduino\\avr\\variants\\standard” “-IC:\\Users\\Hossein\\Documents\\Arduino\\libraries\\Ultrasonic\\src” “-IC:\\Program Files\\WindowsApps\\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\\libraries\\Servo\\src” “C:\\Users\\Hossein\\AppData\\Local\\Temp\\arduino_build_35979\\sketch\\sketch_apr13a.ino.cpp” -o “C:\\Users\\Hossein\\AppData\\Local\\Temp\\arduino_build_35979\\sketch\\sketch_apr13a.ino.cpp.o”
        C:\Users\Hossein\Documents\Arduino\sketch_apr13a\sketch_apr13a.ino: In function ‘void loop()’:

        sketch_apr13a:18:31: error: ‘class Ultrasonic’ has no member named ‘Ranging’

        float Distance = ultrasonic.Ranging(CM); // دریافت و تشخیص فاصله

        ^~~~~~~

        Using library Ultrasonic at version 3.0.0 in folder: C:\Users\Hossein\Documents\Arduino\libraries\Ultrasonic
        Using library Servo at version 1.1.6 in folder: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\libraries\Servo
        exit status 1
        ‘class Ultrasonic’ has no member named ‘Ranging’

        • با سلام
          در ابتدا ورژن آردوینو مورد استفاده را اعلام کنید تا بررسی شود. بایستی کتابخانه Ultrasonic را از مسیر گفته شده دانلود کنید. همچنین در کامنت های قبلی این ارور به روش دیگری توسط یکی از کاربران رفع شده است.
          بررسی و موارد را اعلام نمایید.

    • با سلام
      در کامنت ها امکان رسیدگی به این موضوع وجود ندارد. بایستی در کدها سنسور pir را تعریف کرده و در حلقه if else با دستور digitalwrite فرمان High و low ارسال کنید.

    • سلام
      یک سوال داشتم خدمتتون
      من میخواهم یک ال ای دی که به مدت ۱ دقیقه روشن بماند رو روی پروژه اضافه کنم منتاها کامپایلر ازم خط دیجیتال وایت رو ایراد میگیره
      چرا این مشکل پیش میاد؟

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

  • سلام من سخت افزار این پروژه رو انجام دادم اما تو مکانیکش مشکل دارم از چه چسبی استفاده کنم که با حرکت سروو خود موتور از روی بدنه حرکت نکنه؟ ممنون

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

  • سلام وقت بخیر
    برای رفع خطای پایین باید چه کاری انجام بدم؟
    Arduino: 1.8.12 (Windows 7), Board: “Arduino Uno”

    C:\Users\Alieftekhari\Documents\Arduino\sketch_apr15a\sketch_apr15a.ino: In function ‘void loop()’:

    sketch_apr15a:18:31: error: ‘class Ultrasonic’ has no member named ‘Ranging’

    float Distance = ultrasonic.Ranging(CM); // دریافت و تشخیص فاصله

    ^~~~~~~

    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.

    • با سلام
      این ارور مربوط به ورژن آردوینو ۱٫۸٫۱۲ است و با آپدیت کتابخانه Ultrasonic مشکل برطرف خواهد شد. همچنین در همین بخش نظرات کاربران دیگری این مشکل را در ورژن جدید برطرف کرده اند، بررسی نماییدو نتیجه را از همین طریق اعلام کنید.

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

    • با سلام
      در خصوص راه اندازی جهت کدنویسی مراحل شفاف در متن نوشته شده است. در ابتدا کافیست نرم افزار آردوینو را دانلود کرده و کد قرار گرفته شده در متن آموزش را کپی کرده و به نرم افزار انتقال دهید.
      همچنین آموزش کار با نرم افزار آردوینو در لینک زیر قرار گرفته شده است، مطالعه کنید.
      پس از انتقال کدها، برنامه را Upload کنید. یک به یک پیش بروید و در هر مرحله در صورت ابهام از همین طریق بپرسید تا راهنمایی شود.
      ذر خصوص سوال دوم بایستی توضیحات دقیق تری بدهید تا بررسی شود.

  • سلام
    من نوع دیگه ای از سروو روخرید کردم(MG995) و تغذیه ۱۲ ولت هم برای برد انتخاب کردم سیم vcc سروو رو هم به۱۲ ولت و GRD سروو رو به برد اردوینو وصل کردم- زمانی که برد با کابل یو اس بی به کامپیوتر وصل هست و اداپتور ۱۲ ولت هم به برد متصل هست همه چیز درست کار میکنه اما زمانی که برد رو از یو اس بی قطع میکنم و فقط برد و سروو توسط اداپتور ۱۲ ولت متصل هستند سروو با هر چشمک چراغ روی برد حرکت خیلی کوچیکی میکنه و اصلا سنسور هم کار نمیکنه

    • با سلام
      با توجه به توضیحات ارائه شده، به نظر می‌رسد اتصالات درست است ولی GND سرو موتور و GND آردوینو به تغذیه بایستی متصل باشد. ولتاژ مورد استفاده منقطی نیست و باتوجه به اینکه ولتاژ کاری MG995 طبق دیتاشیت ۴٫۸ تا ۶ ولت است، ممکن است خطا ایجاد کند. موارد را بررسی و نتیجه را اعلام کنید.

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

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

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

        • با سلام
          انتخاب سرو موتور کاملا دلخواه است و برای مایع دستشویی های کوچک مناسب است. همچنین در نظر داشته باشید سرو موتورهایی مانند MG995 یا MG996 ولتاژ کاری آن ها متفاوت است و نیاز به تغذیه جداگانه دارد و مستقیم نمی‌توانید از طریق آردوینو تغذیه را اعلام کنید.
          خرید سرو موتور servo motor

  • Arduino: 1.8.12 (Windows 8.1), Board: “Arduino Uno”

    sketch_apr19b:2:1: error: expected unqualified-id before numeric constant

    ۱

    ^

    sketch_apr19b:40:1: error: ‘Ultrasonic’ does not name a type; did you mean ‘Ultrasonic_h’?

    Ultrasonic ultrasonic(2, 3); // انتخاب پایه تریگر و اکو

    ^~~~~~~~~~

    Ultrasonic_h

    C:\Users\Eniac1\Documents\Arduino\sketch_apr19b\sketch_apr19b.ino: In function ‘void loop()’:

    sketch_apr19b:55:20: error: ‘ultrasonic’ was not declared in this scope

    float Distance = ultrasonic.Ranging(CM); // دریافت و تشخیص فاصله

    ^~~~~~~~~~

    C:\Users\Eniac1\Documents\Arduino\sketch_apr19b\sketch_apr19b.ino:55:20: note: suggested alternative: ‘Ultrasonic_h’

    float Distance = ultrasonic.Ranging(CM); // دریافت و تشخیص فاصله

    ^~~~~~~~~~

    Ultrasonic_h

    exit status 1
    expected unqualified-id before numeric constant

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

  • سلام وقتتون بخیر
    من کد ها رو نوشتم ولی این خطا رو میده ممنون میشم راهنمایی کنید
    class ultasonic has no member named ranging

    • با سلام
      این ارور مربوط به آپدیت کتابخانه Ultrasonic است که با تغییر به صورت زیر مشکل برطرف خواهد شد.
      جهت رفع مشکل به جای Ranging در کدنویسی برنامه read را قرار دهید.
      (float Distance = ultrasonic.read(CM

  • عرض سلام وادب…
    ببخشید میشه به این چیز های دیگر هم اضافه کرد؟؟؟ مثلا بشه از طریق وب هم کنترلش کرد با ماژول وای فای

    • با سلام
      بله محدودیتی در این خصوص وجود ندارد. از طریق وای فای بلوتوث میتوانید کد را توسعه داده و دیتا ارسال کنید.

    • با سلام
      اتصال سرو موتو در متن آموزش نوشته شده است. سرو دارای سه پایه سیگنال با رنک نارنجی و قهوه ای پایه GND و قرمز تغدیه VCC است. پایه سیگنال در این کد پایه شماره ۹ تعریف شده است.
      در خصوص رله کافیست در کدها رله را تعریف کرده و پس از خط فرمان رله ها جای گذاری کنید.
      void setup() {
      pinMode (8,OUTPUT);
      }

      void loop() {
      digitalWrite(8,HIGH);
      }
      else
      {
      digitalWrite(8,LOW);
      }}

  • float Distance = ultrasonic.Ranging(CM)
    سلام من توی برنامه این خط قرمز میشه مشکل از جی ممنون میشم راهنمایم کنید

    • با سلام
      این ارور مربوط به آپدیت کتابخانه Ultrasonic است که با آپدیت کتابخانه به صورت زیر مشکل برطرف خواهد شد.
      جهت رفع مشکل به جای Ranging در کدنویسی برنامه read را قرار دهید.
      (float Distance = ultrasonic.read(CM

  • سلام وقت به خیر
    ببخشید من کد رو کپی کردم و در آردینو past کردم ولی خطای ”

    sketch_apr22a:1:10: fatal error: Ultrasonic.h: No such file or directory
    می دهد .
    یک مشکل دیگر هم این است که الان این سه سیم سرور موتور که می فرمایید به هم متصل است.چگونه ان را از هم جدا کنم

    • با سلام
      نیازی به جداسازی سیم سروموتورها نیست و بایستی به همین شکل استفاده شود.
      همچنین ارور دریافتی مربوط به کتابخانه Ultrasonic است. از منو نرم افزار از بخش Sketch / include libraries را انتخاب کرده و سپس در صفحه باز شده عبارت ultrasonic را سرچ و نصب instal کنید.

  • سلام
    میشه از سرووموتور SG5010 به جای این سروو استفاده کرد یا ولتاژش برای کار با اردویننو مناسب نیست و تغذیه جراگانه میخواد؟

    • با سلام
      ولتاژ کاری سرو موتور SG5010 بین ۴٫۸ تا ۶٫۶ ولت DC است. اگر از تغذیه جداگانه استفاده نکنید، ممکن است جریان SG5010 مانع از رسیدن جریان به برد آردوینو شود و عملکرد صحیحی نداشته باشد.

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

    • با سلام
      طی بازه ی چند دقیقه ای با اختلال جزیی مواجه بوده ایم. در حال حاضر مشکل برطرف شده است.

    • با سلام
      خیر ولتاژ کاری آردوینو ۷ تا ۱۲ ولت است که ولتاژ پیشنهادی ۷ تا ۹ ولت می‌باشد.

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

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

  • سلام فایل زیپ آلتراسونیک رادانلودکردم ولی نمیدانم چرا وارد کتابخانه نمیشه .قسمت addzip فایل دانلود شده راانتخاب میکنم اما به کتابخانه اضافه نمیشه

  • سلام خانم پور بلورچیان .بنده برنامه راکامپایل کردم فقط باراول که فیش آداپتوررابه جک آردوینووصل میکنم سرورموتور۹۰درجه میچرخه وبرمیگرده دیگه کارنمیکنه تا دوباره برق آداپتورراوصل کنم آداپتور۱۲ولت ۱آمپره که مربوط به مودم وای فاست باتشکروآرزوی موفقیت روز افزون برای شما که بدون هیچ چشم داشتی برنامه رادراختیاردوستان قراردادید.

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

  • سلام پروژه بنده راه اندازی شد فقط با این که سرووموتوردنده فلزی هست مدلmg90sهنوزقدرت کشیدن اهرم مایع دستشویی را نداره

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

        • با سلام
          بسته به ولتاژ کاری و جریان مصرفی سرو موتور ممکن است به تغذیه جداگانه برای سرو موتور نیاز داشته باشید.

  • سلام خسته نباشید واقعا ممنونم کارتون درسته . یه سوال داشتم من توی کد اصلی duration/29/2 این رو نمیبینم ولی اینو توی توضیحاتتون آوردین میشه این رو توضیح بدین؟؟ با تشکر فراوان

    • با سلام
      در این کد از کتابخانه Ultrasonic استفاده شده و دستورات محاسبه سرعت صوت و اندازه گیری فاصله در کتابخانه قبلا نوشته شده است. در صورتیکه از کنابخانه استفاده نکنید بایستی در کدها این قسمت اضافه شود. بنابراین جهت توضیح چگونگی اندازه گیری فاصله و یادگیری آن در تحلیل کدها به آن اشاره شده است.

  • با سلام ممنون بابت ارائه این ایده جالب، من این کیت رو راه اندازی کردم، همه چیش درست کار میکنه، فقط به مشکلی که برخوردم که به هیچ عنوان قابل حل نیست، اونم اینکه این موتور میکرو سرو قدرت و توانایی کافی برای پایین کشیدن اهرم مایع ریز رو نداره، چندین مدل ظرف هم انتخاب کردم، توانایی هیچ کدوم رو نداشت.حالت فنر اهرم ظرف باید خیلی ظریف و نرم باشه که این موتور توانایی جابجایی اون رو داشته باشه، با توجه به ماهیت کاربردی اینگونه ظروف که با فشار دست مایع ازش خارج میشه، غالبا فنر قوی و فشار مضاعف زیادی رو میطلبه که در توانایی این موتور نیست.اگر راهکاری هم سراغ دارین اعلام بفرمایید. سپاس

  • سلام وقتون بخیر ببخشید من از سنسور IR که از سایت خریداری کردم استفاده کردم یک مقدار در مقابل نور و سطح روبروی سنسور حساسه و این که قابل کالیبره کردن با پتانسیومتر پشت سنسور هم نیست آیا التراسونیک نسبت به این مسایل بهتر عمل نمیکنه ؟

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

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

    Build options changed, rebuilding all
    C:\Users\Notebook\AppData\Local\Temp\arduino_modified_sketch_544508\Blink.ino:10:25: fatal error: Ultrasonic.h: No such file or directory

    #include “Ultrasonic.h”

    ^

    compilation terminated.

    exit status 1
    Error compiling for board Arduino/Genuino Uno.

    این ارور بالا را نمایش می دهد مشکل چیست؟

    • با سلام
      کتابخانه Ultrasonic را از منو Sketch/include libraries دانلود و نصب کنید. مشکل برطرف خواهد شد. در متن آموزش کامل توضیح داده شده است.

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

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

  • سلام وقتتون بخیر
    من این ارور رو می گیرم باید چیکارکنم؟
    Arduino: 1.8.13 Hourly Build 2020/05/25 05:33 (Windows 10), Board: “Arduino Uno”
    C:\Users\surena\Desktop\maye–riz\maye–riz.ino: In function ‘void loop()’:
    maye–riz:13:30: error: ‘class Ultrasonic’ has no member named ‘Ranging’
    float Distance = ultrasonic.Ranging(CM); // دریافت و تشخیص فاصله
    ^~~~~~~

    maye–riz:18:1: error: expected primary-expression before ‘}’ token

    }

    ^

    C:\Users\surena\Desktop\maye–riz\maye–riz.ino: At global scope:

    maye–riz:19:1: error: ‘myservo’ does not name a type

    myservo.write(180); // سرو در زاویه ۱۸۰ درجه شروع به چرخش خواهد کرد

    ^~~~~~~

    maye–riz:21:7: error: expected constructor, destructor, or type conversion before ‘(‘ token

    delay(10);

    ^

    maye–riz:23:3: error: expected declaration before ‘}’ token

    }

    ^

    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.

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

  • سلام
    در این مدار سرو موتور مستقیما به آردوینو متصل میشه ؟
    میشه به جای آردوینو یونو از آردوینو نانو استفاده کرد و سرو موتور رو مستقیما به اردوینو نانو وصل کرد ؟

  • همش از خط ۱۸ ارور زیر رو میده :
    C:\Users\saeed\AppData\Local\Temp\arduino_modified_sketch_554102\sketch_jun12a.ino: In function ‘void loop()’:

    sketch_jun12a:18:31: error: ‘class Ultrasonic’ has no member named ‘Ranging’

    float Distance = ultrasonic.Ranging(CM); // دریافت و تشخیص فاصله

    ^~~~~~~

    sketch_jun12a:18:39: error: ‘CM’ was not declared in this scope

    float Distance = ultrasonic.Ranging(CM); // دریافت و تشخیص فاصله

    ^~

    Multiple libraries were found for “Ultrasonic.h”
    Used: C:\Users\saeed\OneDrive\Documents\Arduino\libraries\Ultrasonic_hc_sr04
    Not used: C:\Users\saeed\OneDrive\Documents\Arduino\libraries\Grove_Ultrasonic_Ranger
    Not used: C:\Users\saeed\OneDrive\Documents\Arduino\libraries\arduino_553414
    Using library Ultrasonic_hc_sr04 at version 0.5 in folder: C:\Users\saeed\OneDrive\Documents\Arduino\libraries\Ultrasonic_hc_sr04
    Using library Servo at version 1.1.6 in folder: C:\Program Files (x86)\Arduino\libraries\Servo
    exit status 1
    ‘class Ultrasonic’ has no member named ‘Ranging’

    دلیلش چیه ؟؟

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

      • تغییر دادم ولی بازم این خطا رو میده :

        C:\Users\saeed\AppData\Local\Temp\arduino_modified_sketch_800212\sketch_jun12a.ino: In function ‘void loop()’:

        sketch_jun12a:18:31: error: ‘class Ultrasonic’ has no member named ‘read’

        float Distance = ultrasonic.read(CM); // دریافت و تشخیص فاصله

        ^~~~

        Multiple libraries were found for “Ultrasonic.h”
        Used: C:\Users\saeed\OneDrive\Documents\Arduino\libraries\Ultrasonic
        Not used: C:\Users\saeed\OneDrive\Documents\Arduino\libraries\arduino_553414
        Not used: C:\Users\saeed\OneDrive\Documents\Arduino\libraries\Grove_Ultrasonic_Ranger
        Not used: C:\Users\saeed\OneDrive\Documents\Arduino\libraries\Ultrasonic_hc_sr04
        Not used: C:\Users\saeed\OneDrive\Documents\Arduino\libraries\arduino_89964
        Using library Ultrasonic at version 2.1.0 in folder: C:\Users\saeed\OneDrive\Documents\Arduino\libraries\Ultrasonic
        Using library Servo at version 1.1.6 in folder: C:\Program Files (x86)\Arduino\libraries\Servo
        exit status 1
        ‘class Ultrasonic’ has no member named ‘read’

        • سلام مجدد
          ارور مربوط به آپدیت کتابخانه Ultrasonic است که با آپدیت کتابخانه به صورت زیر مشکل برطرف خواهد شد.
          جهت رفع مشکل به جای Ranging در کدنویسی برنامه read را قرار دهید.
          (float Distance = ultrasonic.read(CM

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

    • با سلام
      خیر امکان کامپایل دو کد جداگانه وجود ندارد و در ادامه هم نمیتوانید قرار دهید.

      • سلام مجدد من اگه دو تا سنسور آلتراسونیک داشته باشم و هر کدام خروجی متفاوتی دارن مثلا یکی سرور موتور حرکت بده و اون یکی ال ای دی روشن کنه چیکار باید کنم تا حالا با دو تا سنسور هم شکل کار نکردم

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

  • با سلام و عرض ادب
    نمیدونم این کیت موجود می باشد یا نه ؟
    نمیدونم این برنامه نویسی به سیستم کمک میکنه ؟ آیا این سیستم برای راه اندازی باید به اینترنت وصل گردد ؟
    همراه: با سپاس

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

  • Arduino: 1.8.12 (Windows 8.1), Board: “Arduino Uno”

    Sketch uses 4780 bytes (14%) of program storage space. Maximum is 32256 bytes.
    Global variables use 252 bytes (12%) of dynamic memory, leaving 1796 bytes for local variables. Maximum is 2048 bytes.
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xe4
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xe4
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xe4
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xe4
    Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xe4
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xe4
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xe4
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xe4
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xe4
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xe4

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.
    سلام نمیدونم چرا یهو موقع آپلود اررور میده

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

    • با سلام
      در این خصوص تمامی موارد بستگی به نوع اتصالات دارد. همچنین سرو موتور با دنده های فلزی هم مناسب خواهد بود.

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

  • سلام این اخطار برای چیع
    Arduino: 1.8.13 (Windows 7), Board: “Arduino Uno”

    Sketch uses 2072 bytes (6%) of program storage space. Maximum is 32256 bytes.

    Global variables use 50 bytes (2%) of dynamic memory, leaving 1998 bytes for local variables. Maximum is 2048 bytes.

    Serial port not selected.

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

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

    • با سلام
      بایستی در کد برنامه یک پایه دیجیتال برای رله تعریف کنید. سپس شرایط High , low شدن را برای خروجی رله در نظر بگیرید. سپس پمپ را به رله متصل کنید.

    • با سلام
      بایستی در کد برنامه یک پایه دیجیتال تعریف کنید و سپس شرایط LOW, HIGH را برای خروجی رله تعریف کنید و پمپ را به رله متصل کنید.

  • من الان رفتم تو برنامه و قسمت پورت کم رنگ هستش و وقتی روش کلیک می کنم اتفاقی نمی افته.یه سرچ کردم فهمیدم باید کابل رو به کامپیوتر بشناسونم اما ویندوز کامپیوترم ۷. ۳۲ بیتی هستش و داخلش هم port رو نتونستم پیدا کنم

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

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

    • با سلام
      بله کافی است در کدها یک پایه دیجیتال تعریف کرده و سپس از یک رله استفاده کنید.

  • سلام ممنون از اموزش هاتون کاش به جز زمان مطالعه یه مورد سطح دشواری هم برای پروژه ها بگذارید مخصوصا برای تازه کار ها مثل من میتونه خیلی کمک کننده باشه تا از پروژه های اسون تر استفاده کنند