در این آموزش به کمک سنسور PIR قادر به ثبت تصاویر در ESP32-CAM خواهیم بود به عبارتی دوربین مخفی امنیتی میسازیم. به این صورات که در صورتی که سنسور PIR تحرکی را تشخیص دهد به برد ESP ما اطلاع می دهد و برد ESP اقدام به ثیت تصویر می کند. در ادامه این آموزش با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.
برد ESP32-CAM
ESP32 نسل پیشرفته ESP8266 است. یکی از تفاوتهای آن بلوتوث داخلیاش میباشد. همچنین دارای هسته وایفای ۲,۴ گیگا هرتزی و بلوتوث داخلی تولید شده با تکنولوژی ۴۰ نانومتری شرکت TSMC میباشد. این ماژول دارای بهترین پرفورمنس در مصرف انرژی میباشد یعنی با کمترین مصرف انرژی بهترین نتیجه را برای ما به همراه دارد. اگر بخواهیم دقیقتر به این برد نگاه کنیم باید بگوییم که این یک chip است که پلتفرم NodeMCU در اون پیاده سازی شده که به این نوع چیپ ها System on a chip microcontrollers هم گفته میشود.
از دیگر امکانات ماژول ESP32-cam میتوان به دوربین OV2640 با قابلیت ثبت تصویر با فرمت JPEG, BMP, grayscale اشاره کرد. همچنین با LED flash مونتاژ شده بر روی این ماژول قادر به تصویر برداری در مکانهای تاریک نیز خواهید بود. یکی از ویژگیهای کاربردی این ماژول ورودی micro SD با قابلیت ارتقا تا ۴GB است که به کاربر اجازه ذخیره تصاویر را هم میدهد.
سنسور PIR تشخیص حرکت
سنسور های PIR از دسته سنسور هایی هستند که با اندازه گیری و تشخیص infrared ساطع شده شده از اجسام در حال حرکت می توانند این حرکت را از طریق یک سیگنال الکتریکی به ما اطلاع دهند، این حسگر ها معمولا برای امنیت اماکن مختلف استفاده می شوند. در واقع زمانی که فردی وارد دید سنسور شود در خرجی سنسوریک سیگنال الکتریکی تولید می شود که می توانیم از آن سیگنال در پروژه های مختلف استفاده کنیم.
نحوه کار پروژه
نحوه کارکرد این پروژه به این صورت می باشد که در ابتدا برد ESP32-CAM در حالت deep sleep قرار دارد و با یک تحریک خارجی غیر فعال می شود این تحریک خارجی همان سیگنال سنسور PIR می باشد ک هزمانی که تحرکی تشخیص دهد تولید می کند، در ادامه برد ESP پس دریافت سیگنال در لحظه اقدام به ثبت تصویر کرده و تا زمانی که سیگنال جدیدی دریافت کند در حالت deep sleep باقی می ماند.
آماده کردن Micro SD
برای ساخت دوربین مخفی امنیتی با برد ESP32-Cam به حافظه Micro SD نیاز داریم. قبل شروع به راه اندازی برد بیایید micro SD که برای این پروژه در نظر گرفته ایم را آماده کنیم، خب برای این کار باید SD را فرمت کنیم طبق مراحل زیر پیش بروید. ابتدا بر روی SD مدنظرتون کلیک راست کنید و گزینه Format را انتخاب کنید.
سپس در پنجره باز شده در بخش file system گزینه FAT32 را انتخاب سپس اقدام به فرمت کردن SD بکنید.
راه اندازی ESP-32CAM
برای پروگرام کردن برد ESP-CAM نیاز به نرم افزار Arduino-IDE داریم و البته دانلود برد مربوط در محیط نرم افزار و همچنین نصب کتابخانه های مورد نیاز، برای اطلاع از این موارد می توانید به این آموزش مراجعه کنید. در این بخش خلاصه ای از مراحل پروگرام کردن ESP32-CAM را مرور می کنیم. ابتدا اتصالات زیر را با FTDI پروگرامر و ESP-CAM برقرار کنید.
ESP32-CAM | FTDI Programmer |
GND | GND |
۵V | VCC (5V) |
U0R | TX |
U0T | RX |
GPIO 0 | GND |
برای آپلود کد مراحل زیر را دنبال کنید:
- از منوی Tools > Board برد مدنظر خود را انتخاب کنید.
- از منوی Tools > Port پورتی که FTDI پروگرامر به آن متصل شده را انتخاب کنید.
- اقدام به آپلود کد بکنید.
شماتیک و اتصالات
اتصالات مدار به شکل زیر می باشد در ضمن در مدار از یک ترانزسیتور BC547 یا ۲N3904 استفاده می کنیم و همچنین دو عدد مقاومت ۱۰ و ۱ کیلو اهم که در نتیجه پایه Signal (انتهای مقاومت ۱۰ کیلو- سیم زرد) به GPIO13 در ESP32-CAM متصل می گردد.
کد پروژه دوربین مخفی امنیتی
در ابتدا بخش های مهم کد را با هم مرور می کنیم، در این قسمت از کد با توجه به مدل ESP-CAM خود از کاستوم پین مربوط استفاده کنید در این مورد من از مدل AI-Thinker استفاده کرده ام.
#define PWDN_GPIO_NUM 32 #define RESET_GPIO_NUM -1 #define XCLK_GPIO_NUM 0 #define SIOD_GPIO_NUM 26 #define SIOC_GPIO_NUM 27 #define Y9_GPIO_NUM 35 #define Y8_GPIO_NUM 34 #define Y7_GPIO_NUM 39 #define Y6_GPIO_NUM 36 #define Y5_GPIO_NUM 21 #define Y4_GPIO_NUM 19 #define Y3_GPIO_NUM 18 #define Y2_GPIO_NUM 5 #define VSYNC_GPIO_NUM 25 #define HREF_GPIO_NUM 23 #define PCLK_GPIO_NUM 22
در این خط از کد پایه ای که ESP با تحریک آن از حالت deep sleep بیرون می آید را مشخص می کنیم که در اینجا ما GPIO 13 را مشخص کرده ایم.
esp_sleep_enable_ext0_wakeup(GPIO_NUM_13,0);
کد زیر را در برد ESP32-CAM خود پروگرام کنید.
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
وسایل مورد نیاز
SD-Card
FTDI programmer
ترانزیستور BC547/2N3904
مقاومت ۱k / 10k
نتیجه پروژه
در نهایت پس از آپلود کد و برقراری اتصالات، زمانی که شخصی در زاویه دید PIR قرار بگیرد، برد ESP-CAM تصویر را در SD-card ذخیره خواهید کرد.
دیگر آموزشهای مرتبط با سنسور PIR
معرفی سنسور PIR چگونگی کار و آموزش راه اندازی با برد آردوینو
آموزش ساخت چشمی راه پله با آردوینو و سنسور تشخیص حرکت PIR
طراحی و پیاده سازی سنسور راه پله هوشمند بدون آردوینو و برنامه نویسی
طراحی و پیاده سازی سیستم هشدار قطعی برق آسانسور در زمان حضور انسان
پروژهی سیستم تشخیص حرکت انسان با میکروپایتون و رزبری پای پیکو
طراحی و پیاده سازی سیستم خوش آمدگویی به کمک آردوینو و DFPLAYER
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
حافظه SD CArd چقدره؟ چند عکس میتونیم ذخیره کنیم روش؟
ماژول از حافظه SD برای ثبت عکس ها استفاده می کند، بسنگی به حافظه ای دارد که استفاده می کنید اما در کل عکس ها حجم زیادی ندارند.
سلام
آیا جایگزینی برای ترانزسیتور BC547 وجود دارد چون در دسترس ندارم و دوست دارم این پروژه رو اجرا کنم آیا در روند اجرا ممکن است بدون ترانزسیتور BC547 با خطا رو به رو شوم و یا آسیبی به برد برسانم؟
با سلام، مشابه ترانزیستور BC547 ترانزیستور منفی NPN به شماره BC109 می باشد.
دو تا سوال: ۱ – اگر خروجی PIR رو مستقیم به برد وصل کنیم مشکلی پیش میاد؟ ۲-در هنگام عکس گرفتن آیا LED فلش میزنه؟ اگر میزنه چطور میشه نرم افزاری غیر فعالش کرد؟
ممنون
این مورد بستگی به نوع ماژول PIR شما دارد، بله باید pin mode مربوط به پایه فلش را در حالت LOW قرار دهید.
سلام وقت بخیر میشه در مورد وقفه در این برنامه بیشتر توضیح بدید؟
با سلام، در پروژه هایی که فرآیند مختلفی در آنها صورت میگیرد مانند این پروژه، وقفه به ما کمک میکند بدون توقف کل برنامه کنترل بر روی بخش های مختلف آن داشته باشیم. تا جلوی بخشی از فرآیند گرفته شود اما کل برنامه به کار خود ادامه دهد.
سلام وقت بخیر می شود بعد اینکه سنسور حرکتی را تشخیص داد یک sim8001 وصل کنیم و فقط یک پیامک هم بفرسته به موبایل اگر می شود چطوری و منبع تغذیه اش از باتری هست فقط
سلام، ممنونم. بله این امکان وجود دارد که البته نیاز به کد نویسی بصورت جداگانه دارد تا این قابلیت فراهم شود.
سلام مهندس یه سوال در مورد این ماژول داشتم
میشه به ورودی ماژول esp32 cam ولتاژ ۵ ولت و ۳ امپر وصل کرد
و اینکه میشه اموزش ساخت پروژه دربازکن با قابلیت تشخیص چهره را بزارید ؟؟
با سلام، حداقل تغذیه برای ماژول ۵ولت ۲آمپر معرفی شده پس با این تفاسیر موردی پیش نمیآید. حتما در اولین فرصت این آموزش رو منتشر میکنم.
سلام
لطفا” راهنمای بفرمائید برای منبع تغذیه این پروژه اگر بخواهم به شکلی باشد که اگر برق رفت از باتری لیتیوم یون Li-io 2200 استفاده کند و با وصل شدن دوباره برق باتری از مدار خارج شود و در حالت آماده باش قرار گیرد. متشکرم
سلام، از باتری لیتیوم، ماژول شارژر باتری استفاده کنید و از پین ۵v و GND استفاده کنید.
سلام
در قسمت کد پرگرام کردن ماژول esp32-cam نوشته شده “ایمیلی برای تائید حساب شما ارسال شده است .”
در صورتی که من ایمیل فعال سازی را انجام دادم و در بقیه ی آموزش هاتون هم با چنین مشکلی برخورد نکردم.
سلام، در این آموزش نیازی به ایمیل نیست! تنها تصاویر در کارت حافظه ذخیره میشوند.
سلام مهندس یه پروژه ای منتشر کردید با نام دوربین امنیتی با قابلیت ذخیره تصاویر
ایا این همون پروژه دوربین امنیتی کلاود با قابلیت دسترسی از هر نقطه است ؟
با سلام، خیر دو پروژه متفاوت هستند.
سلام مناشتراک دی جی اسپارک را خریداری کردم اما همچنان محدودیت دسترسی به این اموزش رادارم لطفا بفرمایید که چگونه میتوان به کدهای این پروزه دسترسی پیداکرد
با سلام و تشکر از شما
اطلاعات صفحه در مروگر شما به حالت کش تبدیل شده است. از یک مرورگر دیگر استفاده کنید. ابتدا وارد حساب کاربری شده و سپس آموزش را مشاهده کنید.
سلام ممنون از آموزش شما خیلی خوب و دقیق این مدار داره کار میکنه
با سلام
از همراهی شما سپاسگزاریم.
سلام خسته نباشید طبق راهنمایی شما این مدار را بسته ام و کدها را بدون مشکل اپلود کردم اما ماژول بصورت مداوم فلاش میزند حتی سنسور pir را که جدامیکنم هم باز طبق همان مدت زمان تاخیر در برنامه مداوم فلاش میزند. چندین بار مداررا چک کردم که اتصالی نداشته باشد و کدهارا هم مجددا اپلود کردم ولی مشکل پابرجا هست. چه راهنمایی میفرمایید
با سلام
بنده در این خصوص اطلاعی ندارم. احتمالا ارتباطی با فریم بر ثانیه دوربین داشته باشد.
سلام وقت بخیر ممنون میشم کتابخانه هایی که برای این پروژه توی نرم افزار اردویینو استفاده کردین هم در اختیارمون بزارین یا بگین از چه سایتی باید دانلود کنم
با سلام
در همین آموزش اعلام شده است. عبارتهایی که با include شروع شدهاند مربوط به کتابخانه هستند.
باید کد ارسال عکس به ایمیل (با وای فای) هم بهش اصافه بشه که کاربردی تر باشه.
با سلام
ارسال عکس به ایمیل امر بسیار پیچیدهای است و پروتکلهای امنیتی خاص خودش را شامل میشود.