فهرست مطالب:
- مرحله 1: آنچه شما نیاز دارید
- مرحله 2: اتصال ماژول دوربین
- مرحله 3: تنظیم دوربین
- مرحله 4: آزمایش ماژول دوربین
- مرحله 5: ایجاد مدار با کد
تصویری: رزبری پای Photobooth: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
هدف:
- نحوه کدگذاری و نصب دوربین Pi را بیاموزید
- استفاده از دستورات if و if در برنامه نویسی
- آموزش استفاده از فناوری جدید مانند LED های RGB
مرحله 1: آنچه شما نیاز دارید
- 1 تمشک پای 3
- تخته نان
- پرش کننده ها
- 1 مقاومت وابسته به نور
- 1 خازن
- 1 دکمه فشاری
- 6 مقاومت 220 اهم
- 2 عدد LED RGB
- 1 دوربین رزبری پای
مرحله 2: اتصال ماژول دوربین
اول از همه ، با خاموش بودن Pi ، باید ماژول دوربین را به پورت دوربین رزبری پای وصل کنید ، سپس Pi را راه اندازی کنید و از فعال بودن نرم افزار اطمینان حاصل کنید.
- پورت دوربین را که بین پورت HDMI و 3.5 میلی متر قرار دارد ، تعیین کنید
- گیره دوربین را با لبه های پلاستیکی به سمت بالا بکشید تا گیره مورب شود
- حالا کابل دوربین ها را با آبی رو به درگاه 3.5 میلی متری وارد کنید
مرحله 3: تنظیم دوربین
ابزار پیکربندی Raspberry Pi را از منوی اصلی باز کرده و همه رابط های فوق را غیرفعال و فعال کنید
از منوی اصلی ترمینال را باز کرده و خطوط کد زیر را وارد کنید:
Sudo Raspi-config
حالا از اینجا از کلیدهای جهت دار خود برای کار در سیستم استفاده کنید و بر روی گزینه Peripheral connection و از روی آنها روی P1 Camera و فعال کردن دوربین کلیک کنید ، سپس پایان را انتخاب کنید. بازگشت به نوع ترمینال در خطوط زیر کد:
pip نصب picamera
یا Sudo pip Picamera را نصب کنید
مرحله 4: آزمایش ماژول دوربین
از اینجا می توانیم آزمایش کنیم که آیا دوربین کار می کند یا خیر زیرا همه نرم افزار و سخت افزار را فعال کرده ایم.
پایتون 3 را از منو باز کنید
از آنجا یک فایل جدید از پوسته باز کرده و آن را در یک cameratest.py ذخیره کنید.
کد زیر را وارد کنید:
از واردات picamera PiCamera #ماژول وارداتی ایجاد شده از پیپ نصب فرمان دوربین pi از زمان وارد کردن خواب #خواب وارد شده به منظور اطمینان از اینکه دوربین ما روی دوربین می ماند = PiCamera () #تنظیم برای دوربین
camera.start_preview ()#دوربین را راه اندازی می کند و به شما نشان می دهد که خروجی دوربین چگونه است
خواب (10)#پیش نمایش را به مدت 10 ثانیه روشن می گذارد
camera.stop_preview ()#سرانجام پیش نمایش را ترک می کند
کد را توسط F5 اجرا کنید
اگر هنگام اجرای کد این خطا را دریافت کردید:
(mmal: mmal_vc_component_create: ایجاد مولفه 'vc.ril.camera' (1: ENOMEM) انجام نشد
mmal: mmal_component_create_core: نمی توانم جزء 'vc.ril.camera' (1) Traceback (آخرین تماس اخیر) ایجاد شود: فایل "" ، خط 1 ، در پرونده "/usr/lib/python2.7/dist-packages/picamera /camera.py "، خط 257 ، در _init_ self._init_camera () فایل" /usr/lib/python2.7/dist-packages/picamera/camera.py "، خط 288 ، در _init_camera prefix =" دوربین ایجاد نشد جزء ") فایل" /usr/lib/python2.7/dist-packages/picamera/exc.py "، خط 112 ، در mmal_check PiCameraMMALError (status، prefix) picamera.exc.picamera.exc. PiCameraMMALE خطا: ایجاد کامپوننت دوربین انجام نشد: خارج از حافظه)
لطفاً به پیکربندی Raspberry Pi بروید و زیر ستون عملکرد بروید و حافظه GPU خود را تقویت کنید تا خطا برطرف شود (باید راه اندازی مجدد شود).
اکنون برای ایجاد یک عکس که در دسکتاپ ذخیره می شود ، از کد زیر استفاده می کنیم:
از واردات picamera PiCamera #ماژول وارداتی ایجاد شده از پیپ نصب فرمان دوربین pi از زمان وارد کردن خواب #خواب وارد شده به منظور اطمینان از روشن ماندن دوربین ما
camera = PiCamera () #تنظیم برای دوربین
camera.start_preview () #پیش نمایش را شروع می کند (5) #پیش نمایش را 5 ثانیه روشن می گذارد
camera.capture ('/home/pi/Desktop/image.jpg')# از
camera.stop_preview ()#پیش نمایش را متوقف می کند
مرحله 5: ایجاد مدار با کد
همانطور که در نمودارهای مدار بالا مشاهده شد ، ما باید یک دکمه ، LDR و در نهایت دو LED RGB را تنظیم کنیم. ابتدا ما می خواهیم دکمه را در سمت چپ پایین صفحه برش تنظیم کنیم. در هنگام تنظیم دکمه ما از خطوط راه آهن متداول استفاده می کنیم به این معنی که 3.3 ولت خود را به صورت مثبت و زمین را به سمت منفی وصل می کنیم. پس از اتمام تنظیمات مدار فقط برای دکمه.
ما مدار خود را آزمایش می کنیم تا ببینیم آیا می توانیم آن را به گونه ای تنظیم کنیم که اگر دکمه را فشار دادیم با استفاده از کد زیر led را روشن کنیم:
#ماژول های وارد شده از دکمه واردات gpiozero از picamera وارد PiCamera از زمان وارد کردن خواب خواب
#برپایی
دوربین = PiCamera () دکمه = دکمه (22)
تابع #عکاسی ، تصمیم گرفتم آن را در یک تابع تعریف قرار دهم زیرا به ما کمک می کند کد اصلی را پاک کنیم
def photocap ():
Camera.start_preview ()
خواب (5) Camera.capture ('/home/pi/Desktop/image.jpg') چاپ ("عکس گرفته شد") Camera.stop_preview ()
#کد اصلی:
while True: if Button.is_pressed: print ("Button was pressed") photocap ()
#چرا این کار می کند: کد اصلی کار می کند ، تنها کاری که ما انجام می دهیم این است که از دستور if استفاده می کنیم. در حالی که عبارت true را فشرده می کند ، هنگامی که دکمه برای گرفتن عکس فشار داده می شود ، دائماً به روز می شود
حالا ما قصد داریم 2 LED RGB را تا انتهای مدار نصب کنیم و آنها را در وسط تخته نان جدا کرده و متقارن کنیم. اگر مقاومت 220 اهم برای این پروژه ندارید ، بسته به مقاومت خود برای مقاومت هایی که دارید ، می توانید آنها را به طور موازی تنظیم کنید. پین دوم از LED RGB 4 پین (طولانی ترین باید از طریق راه آهن به زمین متصل شود. سایر پین ها همه باید به پین GPIO خود متصل شوند. (پین اول = قرمز ، پین دوم = زمین ، پین سوم = سبز ، پین چهارم = آبی).
ما یکی از LED های RGB خود را در مدار دکمه خود با کد زیر آزمایش می کنیم:
#ماژول های وارد شده از دکمه واردات gpiozero از واردات picamera PiCamera
از واردات gpiozero RGBLED
از زمان وارد کردن خواب
#برپایی
دوربین = PiCamera () دکمه = دکمه (22)
زمان بندی LED = RGBLED (قرمز = 21 ، سبز = 20 ، آبی = 16)
#عکاسی با عملکرد RGB LED ، تصمیم گرفتم آن را در یک تابع تعریف قرار دهم زیرا به ما کمک می کند کد اصلی را پاک کنیم
def photocap (): Camera.start_preview () sleep (4)
timedled.color (1 ، 0 ، 0)
خواب (2)
timedled.color (0 ، 1 ، 0)
خواب (1)
چاپ Camera.capture ('/home/pi/Desktop/image.jpg') ("عکس گرفته شد") Camera.stop_preview ()
#کد اصلی:
در حالی که True:
if Button.is_pressed:
چاپ ("دکمه فشار داده شد") فتوکپ ()
#چرا این کار می کند: دلیل کار این کد این است که در حال حاضر ما RGBLED را به عنوان یک زمان سنج برای زمانی که قرار است عکس گرفته شود کار کنیم
اکنون مقاومت وابسته به نور را در سمت راست پایین صفحه تختخواب با استفاده از نمودار تا انتها و راه آهن های رایج که قبلاً مورد بحث قرار گرفت ، نصب کنید. به یاد داشته باشید که هر دو پایه بلند LDR و کاپیتیکاتور باید به پین GPIO متصل شوند.
پس از اتصال LDR ، از کد زیر استفاده می کنیم:
#ماژول های وارداتی
از دکمه واردات gpiozero
از picamera import PiCamera از gpiozero import RGBLED
از gpiozero import LightSensor
از زمان وارد کردن خواب
#برپایی
دوربین = PiCamera () دکمه = دکمه (22) زمان بندی LED = RGBLED (قرمز = 21 ، سبز = 20 ، آبی = 16)
LightSensor = LightSensor (23)
#عکاسی با عملکرد RGB LED ، تصمیم گرفتم آن را در یک تابع تعریف قرار دهم زیرا به ما کمک می کند کد اصلی را پاک کنیم
def photocap (): Camera.start_preview () sleep (4) timedled.color (1، 0، 0) sleep (2) timedled.color (0، 1، 0) sleep (1) Camera.capture ('/home/ pi/Desktop/image-j.webp
#کد اصلی:
در حالی که True:
if Button.is_pressed: چاپ ("دکمه فشار داده شد") photocap ()
if Button.is_pressed و Lightsensor.when_dark:
چاپ ("دکمه فشار داده شد")
چاپ ("تاریک است")
فتوکپ ()
#چرا این کار می کند: روشی که من سنسور نور را به کد خود اضافه کرده ام از طریق عبارت if دیگری است که شامل عملکرد وارد شده سنسور نور است. هنگام تاریکی ما را برای مرحله بعدی خود کاملاً تنظیم می کند
در حال حاضر آخرین مرحله برای انجام این پروژه این است که دیگر متقارن RGBLED را با دیگری فعال کنید تا به عنوان یک چراغ فلش کار کند ،
کد نهایی:
از دکمه واردات gpiozero
از واردات picamera PiCamera
از واردات gpiozero RGBLED
از gpiozero import LightSensor
از زمان وارد کردن خواب
#برپایی
دوربین = PiCamera ()
دکمه = دکمه (22)
زمان بندی LED = RGBLED (قرمز = 21 ، سبز = 20 ، آبی = 16)
FlashLED = RGBLED (قرمز = 19 ، سبز = 13 ، آبی = 6)
LightSensor = LightSensor (23)
#عکاسی با عملکرد RGB LED ، تصمیم گرفتم آن را در یک تابع تعریف قرار دهم زیرا به ما کمک می کند کد اصلی def photocap () را تمیز کنیم: Camera.start_preview () sleep (4) timedled.color (1، 0، 0) sleep (2) timedled.color (0، 1، 0) sleep (1) Camera.capture ('/home/pi/Desktop/image.jpg') چاپ ("عکس گرفته شد") Camera.stop_preview () # کد اصلی: while True: if Button.is_pressed:
چاپ ("دکمه فشار داده شد")
فتوکپ ()
if Button.is_pressed و Lightsensor.when_dark:
چاپ ("دکمه فشار داده شد") چاپ ("تاریک است")
FlashLED.color (1 ، 1 ، 1)
فتوکپ ()
#چرا این کار می کند: روشی که من چراغ قوه خود را اضافه کرده ام با استفاده از RGB منجر به خروج رنگ سفید 1 ، 1 ، 1 می شود و تنها در صورت صحت عبارت if عمل می کند.
توصیه شده:
لپ تاپ رزبری پای با قابلیت خازن فوق العاده: 5 مرحله
لپ تاپ رزبری پی با قدرت خازن: بسته به علاقه عمومی نسبت به این پروژه ، می توانم مراحل بیشتری را اضافه کنم ، اگر این امر به ساده سازی هرگونه اجزای گیج کننده کمک کند. من همیشه با تکنولوژی خازن جدیدتری که در طول سالها ظاهر می شود علاقه مند بوده ام و فکر می کردم سرگرم کننده برای
جدول امتیازات رزبری پای: 4 مرحله
Raspberry Pi Scoreboard: امروز توضیح خواهم داد که چگونه این جدول را که توسط Pi تمشک کنترل می شود و از منبع تغذیه 5V تغذیه می کند ، تهیه کردم. از ترکیب LED های ws2811 و ws2812b برای روشنایی استفاده می کند و ساختار آن از تخته سه لا و بلوط قرمز ساخته شده است. برای توصیف
تشخیص چهره در رزبری پای 4B در 3 مرحله: 3 مرحله
تشخیص چهره در Raspberry Pi 4B در 3 مرحله: در این دستورالعمل ما قصد داریم تشخیص چهره را در Raspberry Pi 4 با Shunya O/S با استفاده از کتابخانه Shunyaface انجام دهیم. Shunyaface یک کتابخانه تشخیص چهره است. هدف این پروژه دستیابی به سریعترین سرعت تشخیص و تشخیص با
چشمک زدن LED با تمشک پای - نحوه استفاده از پین های GPIO در رزبری پای: 4 مرحله
چشمک زدن LED با تمشک پای | نحوه استفاده از پین های GPIO در Raspberry Pi: سلام بچه ها در این دستورالعمل نحوه استفاده از GPIO's Raspberry pi را یاد می گیریم. اگر تا به حال از آردوینو استفاده کرده اید ، احتمالاً می دانید که ما می توانیم سوئیچ LED و غیره را به پین های آن وصل کرده و آن را مانند کار کنیم. چشمک بزنید یا ورودی را از سوئیچ دریافت کنید تا
رابط ADXL335 سنسور روی رزبری پای 4B در 4 مرحله: 4 مرحله
رابط ADXL335 سنسور روی رزبری پای 4B در 4 مرحله: در این دستورالعمل قصد داریم یک سنسور ADXL335 (شتاب سنج) در رزبری پای 4 با Shunya O/S رابط کاربری را انجام دهیم