فهرست مطالب:
- مرحله 1: آنچه شما نیاز دارید
- مرحله 2: مدار خود را بسازید
- مرحله 3: یک اسکریپت پایتون برای خواندن مقاومت وابسته به نور ایجاد کنید
- مرحله 4: چگونه کار می کند
تصویری: مدارهای GPIO Raspberry Pi: استفاده از سنسور آنالوگ LDR بدون ADC (مبدل آنالوگ به دیجیتال): 4 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:56
در دستورالعمل های قبلی ما ، به شما نشان داده ایم که چگونه می توانید پین های GPIO رزبری پای خود را به LED ها و سوئیچ ها وصل کنید و چگونه پین های GPIO می توانند بالا یا پایین باشند. اما اگر می خواهید رزبری پای خود را با سنسور آنالوگ استفاده کنید ، چطور؟
اگر می خواهیم از سنسورهای آنالوگ با رزبری پای استفاده کنیم ، باید بتوانیم مقاومت سنسور را اندازه گیری کنیم. برخلاف آردوینو ، پین های GPIO رزبری پای قادر به اندازه گیری مقاومت نیستند و تنها در صورتی می توانند حس کنند که ولتاژ تامین شده به آنها بیش از یک ولتاژ مشخص (تقریباً 2 ولت) باشد. برای غلبه بر این مشکل ، می توانید از مبدل آنالوگ به دیجیتال (ADC) استفاده کنید ، یا می توانید به جای آن از یک خازن نسبتاً ارزان استفاده کنید.
این دستورالعمل نحوه انجام این کار را به شما نشان می دهد.
مرحله 1: آنچه شما نیاز دارید
- RaspberryPi با Raspbian قبلاً نصب شده است. همچنین باید بتوانید با استفاده از مانیتور ، ماوس و صفحه کلید یا از طریق Remote Desktop به Pi دسترسی داشته باشید. می توانید از هر مدلی از رزبری پای استفاده کنید. اگر یکی از مدل های Pi Zero را دارید ، ممکن است بخواهید چند پین هدر را به پورت GPIO بچسبانید.
- یک مقاومت وابسته به نور (همچنین به عنوان LDR یا Photoresistor شناخته می شود)
- یک خازن سرامیکی 1 uF
- یک تخته نان نمونه اولیه بدون سرب
- برخی از سیم های جهنده نر به ماده
مرحله 2: مدار خود را بسازید
مدار فوق را روی تخته نورد خود بسازید و مطمئن شوید هیچ یک از اجزای اتصال دهنده لمس نمی شود. مقاومت وابسته به نور و خازن سرامیکی هیچ قطبی ندارند و این بدان معناست که یک جریان منفی و مثبت را می توان به هر دو سیم متصل کرد. بنابراین نیازی نیست نگران این باشید که این قطعات چگونه به مدار شما متصل شده اند.
پس از بررسی مدار خود ، با پیروی از نمودار بالا ، کابل های بلوز را به پین های GPIO رزبری پای خود وصل کنید.
مرحله 3: یک اسکریپت پایتون برای خواندن مقاومت وابسته به نور ایجاد کنید
ما اکنون یک اسکریپت کوتاه می نویسیم که مقاومت LDR را با استفاده از پایتون خوانده و نمایش می دهد.
در رزبری پای خود ، IDLE (منو> برنامه نویسی> پایتون 2 (IDLE)) را باز کنید. یک پروژه جدید را باز کنید به مسیر File> New File بروید. سپس کد زیر را تایپ کنید (یا کپی و جایگذاری کنید):
import RPi. GPIO as GPIOimport timempin = 17 tpin = 27 GPIO.setmode (GPIO. BCM) cap = 0.000001 adj = 2.130620985i = 0 t = 0 while True: 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 () اندازه گیری مقاومت = endtime-starttime res = (اندازه گیری مقاومت/سقف)* adj i = i+1 t = t+res اگر i == 10: t = t/i چاپ (t) i = 0 t = 0
پروژه خود را به عنوان lightsensor.py (فایل> ذخیره به عنوان) در پوشه Documents خود ذخیره کنید.
حالا ترمینال (منو> لوازم جانبی> ترمینال) را باز کنید و دستور زیر را تایپ کنید:
python lightsensor.py
رزبری پای بارها مقاومت مقاومت در برابر عکس را نشان می دهد. اگر انگشت خود را روی مقاومت نوری بگذارید ، مقاومت افزایش می یابد. در صورت تابش نور قوی به مقاومت نوری ، مقاومت کاهش می یابد. با فشردن CTRL+Z می توانید این برنامه را متوقف کنید.
مرحله 4: چگونه کار می کند
همانطور که خازن به تدریج شارژ می شود ، ولتاژی که از مدار و به پین GPIO عبور می کند افزایش می یابد. هنگامی که خازن به نقطه خاصی شارژ می شود ، ولتاژ آن از 2 ولت بالاتر می رود و رزبری پای احساس می کند که پایه GPIO 13 بالا است.
اگر مقاومت سنسور افزایش یابد ، خازن کندتر شارژ می شود و مدار به زمان بیشتری نیاز دارد تا به 2 ولت برسد.
اسکریپت فوق اساساً چند بار طول می کشد تا پین 13 به بالا بچرخد و سپس از این اندازه گیری برای محاسبه مقاومت Photoresistor استفاده می کند.
توصیه شده:
نحوه اجرای موتور DC بدون برس بدون کوادکوپتر بدون سرنشین با استفاده از کنترل کننده سرعت موتور HW30A بدون براش و تستر سرو: 3 مرحله
نحوه عملکرد موتور DC بدون جاروبک بدون سرنشین با استفاده از HW30A Brushless Motor Speed Controller و سرو تستر: توضیحات: این دستگاه Servo Motor Tester نام دارد که می توان با استفاده از یک سروو موتور ساده و منبع تغذیه به آن سرو موتور را فعال کرد. این دستگاه همچنین می تواند به عنوان مولد سیگنال برای کنترل کننده سرعت الکتریکی (ESC) استفاده شود ، سپس می توانید
اولین بال پر من: مبدل آنالوگ به دیجیتال: 5 مرحله
اولین بال پر من: مبدل آنالوگ به دیجیتال: سلام ، همکاران سازنده من! دستورالعمل امروز ما در مورد چیزی است که واقعاً خاص است. این دستگاه اولین قلم من است - به دنبال فرم -شکل فاکتور Adafruit. همچنین اولین PCB نصب شده روی سطح من است! بارزترین کاربرد من از این سپر در دستگاهی است که من دیوانه کرده ام
نحوه کنترل موتور DC بدون برس بدون کوادکوپتر بدون سرنشین (3 نوع سیم) با استفاده از کنترل کننده سرعت موتور HW30A و Arduino UNO: 5 مرحله
نحوه کنترل موتور DC بدون برس بدون کوادکوپتر بدون سرنشین (3 نوع سیم) با استفاده از کنترل کننده سرعت موتور HW30A و Arduino UNO: توضیحات: کنترل کننده سرعت موتور HW30A را می توان با باتری های 4-10 NiMH/NiCd یا 2-3 سلولی LiPo استفاده کرد. BEC با حداکثر 3 سلول LiPo کاربردی است. می توان از آن برای کنترل سرعت موتور DC بدون برس (3 سیم) با حداکثر حداکثر 12Vdc استفاده کرد. مخصوص
مبدل ساده و ارزان آنالوگ به دیجیتال: 5 مرحله
مبدل ساده و ارزان آنالوگ به دیجیتال: از زمانی که ADC گران و کمیاب بود ، یک راه حل سخت افزاری-نرم افزاری برای جمع آوری داده برای رایانه های شخصی وجود دارد. بر اساس پورت قدیمی Joystick سازگار با IBM ، تکنیکی برای فعال کردن یک مولفه چند لرزشگیر یکنواخت مبدل مقاومتی (th
کولر / پایه لپ تاپ Zero Cost (بدون چسب ، بدون حفاری ، بدون مهره و پیچ ، بدون پیچ): 3 مرحله
کولر / پایه لپ تاپ Zero Cost (بدون چسب ، بدون حفاری ، بدون مهره و پیچ و مهره ، بدون پیچ): به روز رسانی کنید: لطفا & nbsp؛ لطفا & nbsp؛ رای & nbsp؛ برای & nbsp؛ من & nbsp ؛ غیرقابل آموزش ، با تشکر ^ _ ^ شما نیز می توانید بسیار دوست داشته باشید ورود به سایت www.instructables.com/id/ صفر-هزینه-آلومینیوم-کوره-بدون-پروپان-بدون-چسب-/یا شاید برای بهترین دوست من رای دهید