فهرست مطالب:
- مرحله 1: سیم کشی ماژول ها و مدار NRF24L01
- مرحله 2: کدگذاری فرستنده
- مرحله 3: کدگذاری گیرنده
- مرحله 4: انجام شد
تصویری: لامپ LED بی سیم آردوینو با استفاده از مقاومت در برابر نور: 4 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
این دستورالعمل مراحل لازم برای ساخت یک لامپ LED بی سیم اولیه با استفاده از Arduino Unos و یک مقاومت در برابر نور را توضیح می دهد. یکی از کاربردهای احتمالی این دستگاه ، روشنایی اتاقی است که پنجره هایی با نور مصنوعی خورشید ندارد و با شرایط روشنایی واقعی بیرون در زمان واقعی مطابقت دارد. بیایید شروع کنیم!
لیست عرضه:
آردوینو Uno x2
فرستنده گیرنده بی سیم NRF24L01 x2 (اختیاری - NRF24L01 کوله پشتی x2)
TIP120 ترانزیستور دارلینگتون
مقاومت در برابر نور
LED های 5 میلی متری x3
دکمه فشاری
مقاومت 100 اهم x3
مقاومت 10k اهم x3
سیم های مختلف جهنده
مرحله 1: سیم کشی ماژول ها و مدار NRF24L01
در این پروژه ، یک آردوینو به عنوان فرستنده عمل می کند و هنگام فشار دادن دکمه فشار داده های سطح نور را از مقاومت نوری ارسال می کند. آردوینو دیگر به عنوان گیرنده عمل می کند و این داده ها را گرفته و به سیگنال LED تبدیل می کند. تصویر اول نمودار فرستنده و تصویر دوم گیرنده را نشان می دهد.
توجه: در عکسهای پروژه من متوجه خواهید شد که گیرنده های گیرنده NRF24L01 به یک PCB دیگر متصل شده اند. این یک ماژول کوله پشتی برای فرستنده گیرنده است که به عنوان تنظیم کننده قدرت عمل می کند. این کوله پشتی ها علاوه بر سهولت سیم کشی ، ورودی برق NRF24L01 را تنظیم کرده و امکان استفاده از منبع تغذیه 5 ولت را فراهم می کند. من برای شفافیت این کوله پشتی ها را در نمودارم حذف کرده ام.
(اگر تصمیم به استفاده از کوله پشتی گرفتید ، لطفاً برای مشاهده نمودار محل سنجاق ها در رابطه با موجودی NRF24L01 به این پیوند مراجعه کنید).
در زیر یک پی دی اف از مدار ضمیمه شده است ، برای بزرگنمایی راحت تر و مشاهده دقیق تر.
مرحله 2: کدگذاری فرستنده
آخرین مرحله کد نویسی است. برای استفاده از ماژول های NRF24L01 باید کتابخانه RadioHead یا کتابخانه ای معادل را نصب کنید.
برای این پروژه ، فرستنده و گیرنده آردوینوس از کد متفاوتی در هر کدام استفاده می کنند. در اینجا کد فرستنده آمده است:
همچنین فایل.ino (NRF_Send) را برای راحتی پیوست کرده ام.
#عبارتند از
#عبارتند از
RH_NRF24 nrf24؛ // راه اندازی اولیه گیرنده به عنوان nrf24
دکمه int = 5 ؛ // تنظیم مقادیر پین برای دکمه و مقاومت در برابر عکس
int pResistor = A0؛ int value = 0؛ // مقدار نور از 0-1023
void setup ()
{Serial.begin (9600) ؛ pinMode (دکمه ، ورودی) ؛ pinMode (pResistor ، INPUT) ؛ if (! nrf24.init ()) // درصورت خرابی مقداردهی اولیه ماژول به کاربر هشدار می دهد Serial.println ("init fail") ؛ // پیش فرضها پس از init عبارتند از 2.402 گیگاهرتز (کانال 2) ، 2 مگابیت بر ثانیه ، 0dBm اگر (! nrf24.setChannel (1)) Serial.println ("setChannel failed") ؛ if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps، RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF ناموفق بود")؛ }
حلقه خالی ()
{if (digitalRead (دکمه)) {// اگر دکمه فشار داده شده است پیام ارسال کنید مقدار = analogRead (pResistor) ؛ // خواندن مقدار مقاومت در برابر عکس (0-1023) uint8_t data = {value}؛ // مجموعه ای از آرایه به نام "data " حاوی مقدار نور nrf24.send (داده ، اندازه (داده)) ؛ // ارسال آرایه به گیرنده nrf24.waitPacketSent ()؛ // منتظر بمانید تا بسته ارسال شود Serial.println ("Light Light:" +String (value))؛ // مقدار نور را در مانیتور سریال چاپ کنید}}
مرحله 3: کدگذاری گیرنده
برای گیرنده ، کد همچنین از کتابخانه RadioHead استفاده می کند.
#عبارتند از
#عبارتند از
RH_NRF24 nrf24؛
int LEDPin = 3 ؛
مقدار int = 0 ؛ // مقدار نور از 0-1023
void setup ()
{Serial.begin (9600) ؛ pinMode (LEDPin ، OUTPUT) ؛ if (! nrf24.init ()) Serial.println ("init fail")؛ // پیش فرض ها پس از init عبارتند از 2.402 گیگاهرتز (کانال 2) ، 2 مگابیت بر ثانیه ، 0dBm اگر (! nrf24.setChannel (1)) Serial.println ("setChannel failed") ؛ if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps، RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF ناموفق بود")؛ }
حلقه خالی ()
{// منتظر پیام uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN] باشید ؛ // پیام دریافتی را به صورت آرایه ای بنام "buf " uint8_t len = sizeof (buf) ذخیره کنید؛ // اندازه buf را "len" ذخیره کنید در حالی که (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf، & len)) // پیام را به مدت 200 میلی ثانیه یا تا زمان دریافت کل پیام دریافت می کند {value = buf [0]؛ // مقدار را برای اولین شاخص buf تعیین می کند ، که int از photoWististor analogWrite است (LEDPin ، map (مقدار ، 0 ، 1023 ، 0 ، 255)) ؛ // پین PWM را برای خروجی مقدار مقیاس شده بین 0-255 برای روشنایی LED Serial.println (String (مقدار)) تنظیم می کند. } analogWrite (LEDPin ، 0) ؛ }
مرحله 4: انجام شد
از بازی با سطوح مختلف نور و تماشای مطابقت LED ها با آنها لذت ببرید! گاهی اوقات مقاومت در برابر نور ممکن است مشکل باشد و در یک اتاق تاریک با منبع نور موضعی بهترین کار را می کند (اما می تواند در خارج با خورشید نیز کار کند).
توصیه شده:
نحوه استفاده از مقاومت در برابر نور برای روشن کردن LED با Aurduino: 12 مرحله
نحوه استفاده از یک مقاومت در برابر نور برای روشن کردن LED با Aurduino: صبح/بعدازظهر/عصر بخیر برای همه شما علاقه مندان به آردوینو! امروز ، من قصد دارم نحوه استفاده از مقاومت نوری (فوتوسل) را برای روشن کردن LED نشان دهم. کد ارائه شده با این دستورالعمل باعث می شود که LED به طور معمول کم نور بماند ، اما چشمک می زند
LED مقاوم در برابر نور آردوینو: 4 مرحله
LED آردوینو Photoresistor: پروژه من در مورد مقاومت در برابر عکس است که نور LED را بسته به نور خارجی کاهش می دهد. من از Tech، A Style الهام گرفتم. "روشن/خاموش LED مقاوم در برابر آردوینو". دستورالعمل ها ، دستورالعمل ها ، 8 اکتبر 2017 ، www.instructables.com/Arduino-Photore
سنسور نور (مقاومت در برابر نور) با آردوینو در Tinkercad: 5 مرحله (همراه با تصاویر)
سنسور نور (Photoresistor) با آردوینو در Tinkercad: بیایید نحوه خواندن مقاومت نوری ، یک نوع مقاومت متغیر حساس به نور ، با استفاده از ورودی آنالوگ آردوینو را بیاموزیم. به آن LDR (مقاومت وابسته به نور) نیز گفته می شود. تا کنون شما کنترل LED ها را با خروجی آنالوگ آردوینو و
ریموت بی سیم با استفاده از ماژول NRF24L01 2.4 گیگاهرتز با آردوینو - Nrf24l01 گیرنده فرستنده 4 کانال / 6 کانال برای کوادکوپتر - هلیکوپتر Rc - Rc Plane با استفاده از آردوینو: 5 مرحله (همراه با تصاویر)
ریموت بی سیم با استفاده از ماژول NRF24L01 2.4 گیگاهرتز با آردوینو | Nrf24l01 گیرنده فرستنده 4 کانال / 6 کانال برای کوادکوپتر | هلیکوپتر Rc | Rc Plane با استفاده از آردوینو: برای کار با ماشین Rc | کوادکوپتر | هواپیمای بدون سرنشین | هواپیمای RC | قایق RC ، ما همیشه به گیرنده و فرستنده نیاز داریم ، فرض کنید برای RC QUADCOPTER به فرستنده و گیرنده 6 کاناله نیاز داریم و این نوع TX و RX بسیار پرهزینه است ، بنابراین ما یکی از آنها را در دستگاه خود تهیه می کنیم
مدار نور شمع OLED با مقاومت در برابر نور برای کنترل شدت (TfCD): 4 مرحله (همراه با تصاویر)
مدار نور شمع OLED با مقاومت در برابر شدت برای کنترل شدت (TfCD): در این مقاله آموزشی به شما نشان می دهیم که چگونه می توانید مداری را ایجاد کنید که نشان می دهد (O) چراغ مانند یک شمع چشمک می زند و به شدت محیط واکنش نشان می دهد. با شدت نور کمتر ، خروجی نور کمتری از منابع نور مورد نیاز است. با استفاده از این برنامه