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

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


گام اول : ابزار و قطعات مورد نیاز

بیگل بن بلک × 1  
بردبورد سایز کوچک × 1  
سیم جامپر نری به نری × 1  
تراشه TMP36 × 1  

 

academy 950307 measuring temperature with a beaglebone black 02

نصب کتابخانه پایتون


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

گام دوم: سیم کشی

با استفاده از پایه های هدر همانگونه که در شکل زیر نشان داده شده است، سیم کشی را انجام دهید.
academy 950307 measuring temperature with a beaglebone black 06
اطمینان حاصل کنید که TMP36 در جهت صحیح گرفته باشد.
پایه آبی از GNDA_ADC به پین GND روی سنسور دماTMP36 متصل می شود. پایه قرمز از پین 3 کانکتور دیگر (3.3V) به پین مثبت TMP36 و پایه ی نارنجی به پین P9.40 وصل می شود.
توجه داشته باشید که تنها پین های معینی می توانند به عنوان ورودی آنالوگ مورد استفاده قرار گیرند. اینجا را ببینید.
پین ها از چب به راست شماره گذاری شده اند. 1 و 2 و سپس روی سطر بعدی 3 و 4 و ... .
میتوانید تمام پین های در دسترس روی کانکتورهای P8 و P9 را در هر سمت بیگل بن بلک اینجا ببینید.

گام سوم: کنسول پایتون

قبل از نوشتن یک برنامه ی پایتون برای اندازه گیری و گزارش دما، میتوان آزمایش هایی را در کنسول پایتون انجام داد.
برای راه اندازی کنسول پایتون، دستور زیر را تایپ کنید:


1.	# python
2.	Python 2.7.3 (default, Apr  3 2013, 21:37:23) 
3.	[GCC 4.7.3 20130205 (prerelease)] on linux2
4.	Type "help", "copyright", "credits" or "license" for more information.
5.	>>>  


در ابتدا کتابخانه را با استفاده از دستور زیر ایمپورت کنید:


>>> import Adafruit_BBIO.ADC as ADC 


حالا برای تنظیم ADC (مبدل آنالوگ به دیجیتال) از دستور زیر استفاده کنید:


>>> ADC.setup() 


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


>>> ADC.read("P9_40")
0.38999998569488525
>>> ADC.read("P9_40")
0.38833332061767578
>>> ADC.read("P9_40")
0.39722222089767456
>>> ADC.read("P9_40")
0.42500001192092896 


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

گام چهارم: برنامه نویسی

با استفاده از دستور زیر از کنسول پایتون خارج شوید:


>>> exit() 


با استفاده از این دستور مجددا به محیط لینوکس وارد می شوید.
برای ایجاد یک فایل جدید به نام tmp36.py دستور زیر را وارد کنید.


nano tmp36.py 


حالا در پنجره ی ویرایشگر دستور زیر را وارد کنید.


import Adafruit_BBIO.ADC as ADC
import time
 
sensor_pin = 'P9_40'
 
ADC.setup()
 
while True:
    reading = ADC.read(sensor_pin)
    millivolts = reading * 1800  # 1.8V reference = 1800 mV
    temp_c = (millivolts - 500) / 10
    temp_f = (temp_c * 9/5) + 32
    print('mv=%d C=%d F=%d' % (millivolts, temp_c, temp_f))
    time.sleep(1) 


academy 950307 measuring temperature with a beaglebone black 07
بعد از ذخیره کردن با استفاده از CTRL-x خارج شوید و سپس برای تایید Y را بزنید.
برای شروع برنامه، دستور زیر را وارد کنید:


python tmp36.py 


پس از اجرای برنامه خوانش هایی مشابه زیر را میبینید.


mv=757 C=25 F=78
mv=760 C=26 F=78
mv=762 C=26 F=79
mv=765 C=26 F=79
mv=763 C=26 F=79
mv=763 C=26 F=79
mv=766 C=26 F=79
mv=768 C=26 F=80 


برای توقف خوانش از CTRL-c استفاده کنید.
هشدار: ورودی های آنالوگ بیگل بن بلک در 1.8 ولت عمل میکند. از آنجایی که TMP36 دارای حداکثر خروجی 3.3 ولت است ، احتمال خطر برای بیگل بن بلک در صورت تجاوز ولتاژ از 1.8 ولت وجود دارد. این موضوع فقط برای دماهای بالاتر از 130 درجه سانتی گراد (266 درجه ی فارنهایت) اتفاق می افتد.

گام های بعدی

حالا میتوانید مقدار خوانده شده را با استفاده از نمایشگرها به تصویر بکشید و یا برای کنترل دما بیشتر از حد مورد نظر خود یک زنگ هشدار قرار دهید.
منبع : سایت adafruit

افزودن نظر
  • هیچ نظری یافت نشد