فهرست مطالب:

ساخت دیتا لاگر با رزبری پای: 3 مرحله (همراه با تصاویر)
ساخت دیتا لاگر با رزبری پای: 3 مرحله (همراه با تصاویر)

تصویری: ساخت دیتا لاگر با رزبری پای: 3 مرحله (همراه با تصاویر)

تصویری: ساخت دیتا لاگر با رزبری پای: 3 مرحله (همراه با تصاویر)
تصویری: چطوری سورس کد رو بخونیم: درست کردن یه لاگر در بش 2024, نوامبر
Anonim
ساخت دیتا لاگر با رزبری پای
ساخت دیتا لاگر با رزبری پای

این دیتا لاگر ساده اندازه گیری های منظم نور را با LDR آنالوگ (Photoresistor) انجام می دهد و آنها را در یک فایل متنی روی رزبری پای شما ذخیره می کند. این دیتا لاگر هر 60 ثانیه سطح نور را اندازه گیری و ثبت می کند و شما را قادر می سازد تا نحوه تغییر روشنایی را در طول زمان کنترل کنید.

اگر می خواهیم از سنسورهای آنالوگ با رزبری پای استفاده کنیم ، باید بتوانیم مقاومت سنسور را اندازه گیری کنیم. برخلاف آردوینو ، پین های GPIO رزبری پای قادر به اندازه گیری مقاومت نیستند و تنها در صورتی می توانند حس کنند که ولتاژ تامین شده به آنها بیش از یک ولتاژ مشخص (تقریباً 2 ولت) باشد. برای غلبه بر این مشکل ، می توانید از مبدل آنالوگ به دیجیتال (ADC) استفاده کنید ، یا می توانید به جای آن از یک خازن نسبتاً ارزان استفاده کنید.

مرحله 1: آنچه شما نیاز دارید

آنچه شما نیاز خواهید داشت
آنچه شما نیاز خواهید داشت
آنچه شما نیاز خواهید داشت
آنچه شما نیاز خواهید داشت
آنچه شما نیاز خواهید داشت
آنچه شما نیاز خواهید داشت
آنچه شما نیاز خواهید داشت
آنچه شما نیاز خواهید داشت

- RaspberryPi با Raspbian قبلاً نصب شده است. همچنین باید بتوانید با استفاده از مانیتور ، ماوس و صفحه کلید یا از طریق Remote Desktop به Pi دسترسی داشته باشید. می توانید از هر مدلی از رزبری پای استفاده کنید. اگر یکی از مدل های Pi Zero را دارید ، ممکن است بخواهید چند پین هدر را به پورت GPIO بچسبانید.

- یک مقاومت وابسته به نور (همچنین به عنوان LDR یا Photoresistor شناخته می شود)

- یک خازن سرامیکی 1 uF

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

- برخی از سیم های جهنده نر به ماده

مرحله 2: مدار خود را بسازید

مدار خود را بسازید
مدار خود را بسازید
مدار خود را بسازید
مدار خود را بسازید

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

پس از بررسی مدار خود ، با پیروی از نمودار بالا ، کابل های بلوز را با دقت به پین های GPIO رزبری پای خود وصل کنید.

مرحله 3: یک اسکریپت پایتون برای خواندن و ثبت اطلاعات خود ایجاد کنید

یک اسکریپت پایتون برای خواندن و ثبت اطلاعات خود ایجاد کنید
یک اسکریپت پایتون برای خواندن و ثبت اطلاعات خود ایجاد کنید

IDLE را در Raspberry Pi خود (منو> برنامه نویسی> پایتون 2 (IDLE)) باز کنید و یک پروژه جدید (پرونده> پرونده جدید) باز کنید. سپس عبارت زیر را تایپ کنید:

RPi. GPIO را به عنوان GPIO وارد کنید

زمان واردات واردات datetime loginterval = 60 #وقفه در ثانیه savefilename = "lightlevels.txt" SensorPin = 17 TriggerPin = 27

GPIO.setmode (GPIO. BCM)

cap = 0.000001 #1uf adj = 2.130620985

def اندازه گیری مقاومت (mpin ، tpin):

GPIO.setup (mpin، GPIO. OUT) GPIO.setup (tpin، GPIO. OUT) GPIO.output (mpin، False) GPIO.output (tpin، False) time.sleep (0.2) GPIO.setup (mpin، GPIO IN) time.sleep (0.2) GPIO.output (tpin ، True) starttime = time.time () endtime = time.time () در حالی که (GPIO.input (mpin) == GPIO. LOW): endtime = time.time () return deftimeeline endtime-starttime (txt، fn): f = open (fn، 'a') f.write (txt+'\ n') f.close () i = 0 t = 0 while True: stime = time.time () برای محدوده (1 ، 11): res = (مقاومت اندازه گیری (SensorPin ، TriggerPin)/cap)*adj i = i+1 t = t+res اگر a == 10: t = t/i print (t) writeline (str (datetime.datetime.now ())+"،"+str (t)، savefilename) i = 0 t = 0 در حالی که stime+loginterval> time.time (): #منتظر بمانید تا زمان ورود زمان گذشت. خواب (0.0001)

پروژه خود را به عنوان datalogger.py (فایل> ذخیره به عنوان) در پوشه Documents خود ذخیره کنید.

حالا ترمینال (منو> لوازم جانبی> ترمینال) را باز کنید و دستور زیر را تایپ کنید:

python datalogger.py

اسکریپت یک فایل متنی با نام "lightlevels.txt" ایجاد می کند و هر 60 ثانیه آن را به روز می کند. شما می توانید این نام فایل را در خط 6 تغییر دهید. همچنین می توانید تعداد دفعات بروزرسانی دیتاگرگ را با تغییر خط 5 تنظیم کنید.

توصیه شده: