فهرست مطالب:
تصویری: چراغ های حیاط تعاملی ، چراغ های راهرو: 3 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:56
من می خواستم نوعی چراغ حیاط تعاملی برای حیاط پشتی خود بسازم. ایده این بود که وقتی شخصی یک طرف راه می رود ، انیمیشنی را در مسیری که شما در حال حرکت آن هستید ایجاد می کند. من با چراغ های خورشیدی دلار 1.00 دلار دلار شروع کردم
مرحله 1: چراغهای Solor را از بین ببرید
اولین قدم این بود که چراغ ها را از بین ببرید تا راه را برای چیزهای سرگرم کننده تر فراهم کنید. من با قطع کردن لامپ و باتری اصلی شروع کردم. حتماً این قطعات را ذخیره کنید زیرا در پروژه دیگری مفید خواهند بود ، من همچنین گنبد کرومی را که در قسمت پایین نور خورشیدی قرار داشت ، برداشته و همانطور که در عکسها مشاهده می شود ، به بالای آن چسباندم.
مرحله 2: نصب چراغ های بهتر
برای led من از ws2811b ضد آب استفاده کردم که در اینجا یافت می شود
www.ebay.com/itm/50-X-12mm-LED-Module-RGB-…
من در ابتدا قصد داشتم سنسورهای PIR را در داخل چراغ های خورشیدی قرار دهم. اما این مسئله بسیار مشکل زا بود زیرا سنسور اساساً نمی توانست پلاستیک را ببیند. باید دارای نوعی فیلتر UV باشد. بنابراین من چیزی شبیه به این را انتخاب کردم
www.thingiverse.com/thing:2590216
مرحله 3: کد نویسی
اگر می خواهید چراغ ها را از سنسور استفاده نکنید یا فقط مدام کار کنید فقط به دنبال مکانی باشید که به عنوان "تغییر حالت پرچم" توضیح داده شده و آن را روی اتر 1 یا 0 تنظیم کرده اید وقتی این کار را برای خودم کامل کنم عکس های بیشتری اضافه خواهم کرد. هنوز کار در حال پیشرفت است ، اما من فکر می کنم خیلی مرتب است که نمی توان فوراً آن را به اشتراک گذاشت. ممنون که نگاه کردید
void setup () {
// کد راه اندازی خود را در اینجا قرار دهید تا یکبار اجرا شود: FastLED.addLeds (leds، NUM_LEDS)؛ Serial.begin (9600)؛ pinMode (buttonPin1 ، INPUT) ؛ pinMode (buttonPin2 ، INPUT) ؛ }
حلقه خالی () {
Serial.println (FlagState) ؛
if (FlagState == 0) {ForwardLeds ()؛ } if (FlagState == 1) {RevLeds ()؛ } if (FlagState == 2) {Waiting ()؛ }}
void ForwardLeds () {
FirstLed = -1؛ LastLed = 16 ؛ برای (int i = 0 ؛ i <8؛ i ++) {LastLed-- ؛ FirstLed ++ ؛ leds [LastLed] = CRGB:: سفید ؛ leds [FirstLed] = CRGB:: سفید ؛ تاخیر (750) ؛ FastLED.show ()؛ Serial.print ("پاس سفید") ؛ Serial.print (i) ؛ Serial.println ("از 8") ؛ } FirstLed = -1؛ LastLed = 16 ؛ برای (int i = 0 ؛ i <8؛ i ++) {LastLed-- ؛ FirstLed ++؛ leds [LastLed] = CRGB:: آبی ؛ leds [FirstLed] = CRGB:: آبی؛ تأخیر (250) ؛ FastLED.show ()؛ Serial.print ("گذر آبی") ؛ Serial.print (i) ؛ Serial.println ("از 8") ؛ } FirstLed = -1؛ LastLed = 16 ؛ برای (int i = 0 ؛ i <8؛ i ++) {LastLed-- ؛ FirstLed ++؛ leds [LastLed] = CRGB:: بنفش ؛ leds [FirstLed] = CRGB:: بنفش ؛ تأخیر (250) ؛ FastLED.show ()؛ Serial.print ("پاس قرمز") ؛ Serial.print (i) ؛ Serial.println ("از 8") ؛ } FirstLed = -1؛ LastLed = 16 ؛ برای (int i = 0 ؛ i <8؛ i ++) {LastLed-- ؛ FirstLed ++؛ leds [LastLed] = CRGB:: سیاه ؛ leds [FirstLed] = CRGB:: سیاه؛ تأخیر (250) ؛ FastLED.show ()؛ Serial.print ("خاموش کردن led") ؛ Serial.print (i) ؛ Serial.println ("از 8") ؛ } FlagState = 2؛ // تغییر حالت پرچم} void RevLeds () {Serial.println ("معکوس") ؛ FirstLed = 8 ؛ LastLed = 7 ؛ برای (int i = 0؛ i <8؛ i ++) {LastLed ++؛ FirstLed-- ؛ leds [LastLed] = CRGB:: سفید ؛ leds [FirstLed] = CRGB:: سفید ؛ تاخیر (750) ؛ FastLED.show ()؛ Serial.print ("پاس سفید") ؛ Serial.print (i) ؛ Serial.println ("از 8") ؛ } FirstLed = 8؛ LastLed = 7 ؛ برای (int i = 0؛ i <8؛ i ++) {LastLed ++؛ FirstLed-- ؛ leds [LastLed] = CRGB:: آبی ؛ leds [FirstLed] = CRGB:: آبی؛ تأخیر (250) ؛ FastLED.show ()؛ Serial.print ("گذر آبی") ؛ Serial.print (i) ؛ Serial.println ("از 8") ؛ } FirstLed = 8؛ LastLed = 7 ؛ برای (int i = 0؛ i <8؛ i ++) {LastLed ++؛ FirstLed-- ؛ leds [LastLed] = CRGB:: بنفش ؛ leds [FirstLed] = CRGB:: بنفش ؛ تأخیر (250) ؛ FastLED.show ()؛ Serial.print ("پاس قرمز") ؛ Serial.print (i) ؛ Serial.println ("از 8") ؛ }
FirstLed = 8 ؛
LastLed = 7 ؛ برای (int i = 0؛ i <8؛ i ++) {LastLed ++؛ FirstLed-- ؛ leds [LastLed] = CRGB:: سیاه ؛ leds [FirstLed] = CRGB:: سیاه؛ تأخیر (250) ؛ FastLED.show ()؛ Serial.print ("خاموش کردن Led") ؛ Serial.print (i) ؛ Serial.println ("از 8") ؛ } FlagState = 2؛ // تغییر حالت پرچم} void Waiting () {buttonState1 = digitalRead (buttonPin1) ؛ buttonState2 = digitalRead (buttonPin2) ؛ if (buttonState1 == HIGH) {Serial.println ("به جلو فعال شد") ؛ FlagState = 0؛ } else if (buttonState2 == HIGH) {Serial.println ("Rev فعال شد")؛ FlagState = 1؛ } Serial.println ("حلقه انتظار به پایان رسید")؛ }
توصیه شده:
نور شب خودکار راهرو IoT با ESP8266: 4 مرحله (همراه با تصاویر)
نور شب خودکار IoT Hallway با ESP8266: من این پروژه را با الهام از نور راه پله و از یک پست آموزنده دیگر شروع کردم. تفاوت این است که مغز مدار از ESP8266 استفاده می کند ، به این معنی که یک دستگاه اینترنت اشیاء خواهد بود. چیزی که من در ذهن دارم این است که چراغ شب راهرو را برای
سیستم هشدار زنگ راهرو: 4 مرحله
سیستم هشدار زنگ راهرو: در مدرسه زنگ هایی وجود دارد که نشان می دهد چه موقع باید تغییر کلاس رخ دهد. آنها ابتدا برای نشان دادن زمان پایان کلاس زنگ می زنند ، و سپس بار دوم زنگ می زنند تا نشان دهند که کلاس بعدی باید کی شروع شود. اگر دانش آموز دیر می کند ، معمولاً آنها
حلقه راه آهن مدل اتوماتیک ساده با نمای حیاط: 11 مرحله
حلقه راه آهن مدل اتوماتیک ساده با نمای حیاط: این پروژه نسخه ارتقا یافته یکی از پروژه های قبلی من است. این از میکروکنترلر آردوینو ، یک پلت فرم نمونه سازی منبع باز بزرگ ، برای خودکارسازی طرح راه آهن استفاده می کند. طرح شامل یک حلقه بیضی ساده و یک سبوس جانبی حیاط
راه آهن نقطه به نقطه اتوماتیک با یاردینگ حیاط: 10 مرحله (همراه با تصاویر)
راه آهن نقطه به نقطه خودکار با یاردینگ حیاط: میکروکنترلرهای آردوینو امکانات بزرگی را در راه آهن مدل باز می کنند ، به ویژه در مورد اتوماسیون. این پروژه نمونه ای از چنین برنامه ای است. این ادامه یکی از پروژه های قبلی است. این پروژه شامل یک اشاره
چراغ های کریسمس DIY به موسیقی - چراغ های خانه رقصیده: 15 مرحله (همراه با تصاویر)
چراغ های کریسمس DIY به موسیقی تنظیم می شوند - چراغ های خانه رقصیده: چراغ های کریسمس DIY به موسیقی تنظیم می شوند - چراغ های خانه رقصیده این DIY مبتدی نیست. شما نیاز به درک قوی در زمینه الکترونیک ، گردش ، برنامه نویسی BASIC و اطلاعات عمومی در مورد ایمنی برق دارید. این DIY برای یک فرد با تجربه است بنابراین