آموزش رزبری پای رزبری پای

راه اندازی سنسور آلتراسونیک با رزبری پای پیکو PICO و Thonny Python

srf-with-raspberry-pi-pico-and-thonny-python-digispark
نوشته شده توسط پریسا پوربلورچیان

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

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

 


رزبری پای پیکو


برد رزبری پای پیکو از کوچکترین قطعات برای پشتیبانی از تراشه RP2040  استفاده کرده است از کریستال گرفته تا منبع تغذیه. اکثر پایه های میکروکنترلر RP2040 از چپ و راست به برد و پایه های IO آورده شده و چهار پایه IO از RP2040 برای عملکردهای داخلی استفاده می‌شود. تکنولوژی ساخت برد رزبری پای پیکو و پایه های GPIO به صورتی است که قابلیت نصب بر روی مکان های دیگر برای اجرا و ساخت پروژه ها را دارد. برای اینکار از ۴۰ ردیف پین هدر استاندارد با فاصله ی ۰٫۱ از یکدیگر قرار گرفته شده است و حتی متناسب با تمامی برد بردهای استاندارد می‌باشد. پیکو از یک BUCK-BOOST SMPS برای تامین ولتاژ ۳٫۳ ولت برای تعذیه RP2040 و مدار داخلی بهره میبرد. به همین دلیل انعطاف پذیری قابل توجهی برای اعمال ولتاژ وجود دارد و  به راحتی میتوانید از تغذیه باتری لیتیومی تک سل و یا باتری ۳ سل AA استفاده کنید.

برد رزبری پای پیکو Pico راه اندازی اولیه - دیجی اسپارک

 


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


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

 

ویژگی های SRF04

  • ولتاژ کاری :+۵V DC
  • جریان : <2mA
  • جریان کاری: ۱۵mA
  • زاویه دید: <15°
  • رنج تشخیص فاصله : ۲cm – ۴۰۰ cm/1″ – ۱۳ft
  • رزولوشن : ۰٫۳ cm
  • اندازه گیری زاویه: ۳۰ degree
  • ورودی پهنای باند پایه تریگر: ۱۰uS
  • ابعاد : ۴۵mm x 20mm x 15m

 

سنسور آلتراسونیک مدل SRF04 از چهار پایه تشکیل شده است.

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

 

پایه های آلتراسونیک

  • VCC: +5VDC
  • Trig : Trigger (INPUT)
  • Echo: Echo (OUTPUT)
  • GND: GND

سنسور آلتراسونیک SRF04 و رزبری پای پیکو - دیجی اسپارک

 


کدنویسی و تحلیل پایتون


برای کدنویسی میکروپایتون در قدم اول کتابخانه های Pin و Timer را فراخوانی می‌کنیم.

 

در قدم بعدی یک تایمر تنظیم می کنیم تا بتوانیم تابعی را که به طور منظم در یک بازه زمانی فراخوانی می شود ، استفاده کنیم.

 

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

 

سپس پایه ی ترنسمیتر یعنی پایه ECHO سیگنال را دریافت کرده  و بع عنوان ورودی در برنامه تعریف می‌شود.

 

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

 

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

 

سپس پایه ی تریگر High شده و برای مدت چند ثانیه صبر می‌کنیم.

 

سپس پایه echo LOW شده و تا زمانیکه سیگنال اکو توسط پایه ECHO تشخیص داده شود، صبر می‌کند.

 

در این بخش از دو تابع حلقه برای اندازه گیری مدت زمان ECHO استفاده می‌کنیم. برای اندازه گیری دقیق پارامتر از تابع utime.ticks_us() استفاده می‌کنیم.

تابع utime یک فانکشن برای دریافت زمان و تاریخ دقیق و اینتروال و برای تاخیرها برای ما در برنامه فراهم می‌کند.

 

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

 

اکنون تایمر را مقدار دهی اولیه می کنیم و فرمان هر یک ثانیه اجرا شدن را به آن میدهیم.

 

حال اگر بخواهیم دستورات شرطی به برنامه اضافه کنیم، به عنوان مثال اگر فاصله تشخیص شی کمتر یا بیشتر از ۱۰ سانتی متر باشد، یک خروجی برای ما فعال شود، از تابع if else استفاده می‌کنیم.

یک متغیر برای وضعیت تابع ال ای دی مشخص می‌کنیم، اگر led.value مقدار یک باشد، فعال و اگر led.value صفر باشد، غیرفعال است.

 


 کد کامل برنامه پایتون


 

 

تصویر برنامه در Thonny به صورت زیر است.

 

برای اجرای برنامه ی نوشته شده آن را در ابتدا ذخیره کنید. دو روش برای ذخیره وجود دارد.

  • ذخیره بر روی سیستم مورد استفاده
  • ذخیره بر روی رزبری پای پیکو Raspberry Pi Pico

 سپس F5 را زده یا بر روی Run Current Script کلیک کنید. برنامه اجرا شده و در shell فاصله ی اندازه گیری شده نمایش داده می‌شود.

 


اتصال آلتراسونیک به رزبری پای پیکو


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

  • VCC
  • GND
  • TRIGGER
  • ECHO

پایه های رزبری پای پیکو به صورت زیر است که ما فقط به پایه های GP و ۳٫۳OUT و GND نیاز داریم.

 

  • پایه TRIGGER به پایه GP14 متصل شده است.
  • پایه ECHO به پایه GP15 متصل شده است.
  • پایه VCC به پایه ۳V3OUT متصل شده است.
  • پایه GND به پایه GND متصل شده است.

سنسور آلتراسونیک و برد رزبری پای پیکو Pico - دیجی اسپارک

 


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


رزبری پای پیکو RASPBERRY PI PICO

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

ال ای دی LED

برد بورد BREADBOARD

کابل فلت

 

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

 

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

 

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

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

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

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

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

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