فهرست مطالب:

Light Me Up !: 20 مرحله (همراه با تصاویر)
Light Me Up !: 20 مرحله (همراه با تصاویر)

تصویری: Light Me Up !: 20 مرحله (همراه با تصاویر)

تصویری: Light Me Up !: 20 مرحله (همراه با تصاویر)
تصویری: [NO ADS] Far Away: 10 Hours of Deep Relaxing Music for Sleep, Meditation & Relaxation 2024, ممکن است
Anonim
مرا روشن کن!
مرا روشن کن!
مرا روشن کن!
مرا روشن کن!
مرا روشن کن!
مرا روشن کن!
مرا روشن کن!
مرا روشن کن!

اعضای تیم پروژه

(هیوون شین ، یونجونگ کو ، یونسونگ یی)

اگر بتوانید نور را لمس کرده و طراحی کنید ، چطور؟ اگر شما یک الگوی زیبا از نور داشته باشید که خودتان آن را با یک انیمیشن جالب طراحی کرده اید ، چه احساسی خواهید داشت؟ Light me up یک کتاب طراحی جالب خواهد بود که خود نور را لمس کرده و طراحی می کند و الگوهای جالبی ایجاد می کند! این پروژه دارای چندین مثلث است شکل شش ضلعی بنابراین می توانید با توجه به نحوه طراحی نور ، الگوهای کلیشه ای ایجاد کنید! فقط هر قطعه را فشار دهید و رنگهای مختلف درجه بندی می شوند ، و وقتی رنگ مورد نظر شما بیرون آمد ، فقط دستی را که فشار داده اید ضربه بزنید و همچنان با رنگ مورد نظر شما به زیبایی می درخشد! این پروژه از 312 مثلث استفاده کرد ، اما می تواند ایجاد کند یک نور خوب که با 6 مثلث به خوبی کار می کند. حالا اجازه دهید طرز تهیه آن را با شش مثلث به شما نشان دهم. مراحل را دنبال کنید و کار فوق العاده خود را خواهید داشت!

تدارکات

سخت افزار: آردوینو (از arduino mega 2560 استفاده کردم) ، اکریلیک (شفاف ، سفید) ، نوار LED (NeoPixel) ، پخش کننده فیلم ، دکمه ، اتصال 4 پین ، سیم ، برد مدار ، منبع تغذیه

ابزارها: دستگاه برش هدایت لیزری ، چاپگر سه بعدی

مرحله 1: بیایید آن را درست کنیم

بیایید آن را بسازیم!
بیایید آن را بسازیم!
بیایید آن را بسازیم!
بیایید آن را بسازیم!
بیایید آن را بسازیم!
بیایید آن را بسازیم!

بیایید این قطعه زیبا شش ضلعی را با من بسازیم!

Light Me Up با استفاده از 312 مثلث ساخته شده است ، اما حتی 6 مثلث می توانند نور فوق العاده ای را طراحی کنند. اگر می خواهید آن را در مقیاس بزرگتر بسازید ، می توانید با مراجعه به فایل پیوست زیر آن را بسازید.

مرحله 2: آماده سازی مواد

آماده سازی مواد
آماده سازی مواد

مرحله 3: برش اکریلیک

برش اکریلیک
برش اکریلیک
برش اکریلیک
برش اکریلیک
برش اکریلیک
برش اکریلیک
برش اکریلیک
برش اکریلیک

از برش لیزری برای برش قسمت جلویی و پشتی هر قسمت استفاده کنید. رنگ اکریلیک پشت می تواند هر چیزی باشد که شما می خواهید ، اما مطمئن شوید که از اکریلیک شفاف استفاده می کنید زیرا قسمت جلویی باید کم نور باشد! اگر از رنگ اکریلیک غیر از شفاف استفاده می کنید ، نور را به خوبی نمی بینید.

مرحله 4: با پرینترهای سه بعدی طرف ایجاد کنید

ساخت پرینترهای سه بعدی
ساخت پرینترهای سه بعدی
ساخت پرینترهای سه بعدی
ساخت پرینترهای سه بعدی
ساخت پرینترهای سه بعدی
ساخت پرینترهای سه بعدی

حالا وقت آن است که کناره های هر قطعه را بسازیم. اجازه دهید آن را درست کنیم! فایل های مدل سازی سه بعدی در کنار آن در زیر پیوست شده است. ما از PLA برای ایجاد اضلاع استفاده کردیم PLA قوی تر و کمتر از ABS انقباض دارد ، بنابراین رشته ها برای استفاده از PLA توصیه می شود.

مرحله 5: فیلمبرداری

فیلمبرداری
فیلمبرداری
فیلمبرداری
فیلمبرداری
فیلمبرداری
فیلمبرداری

حالا بیایید یک فیلم پخش نور را روی اکریلیک جلویی قرار دهیم. اگر فیلم را روی آن بگذارید ، پخش می شود و بسیار زیباتر می درخشد. ابتدا فیلم را به شکل مثلث برش دهید. (بهتر است فیلم را بزرگتر از اکریلیک برش دهید) قرار دادن فیلم روی یک فیلم محافظ روی تلفن ساده است. اگر می خواهید در اینجا راهنمایی کنید ، می توانید از یک کارت برای فشار دادن آن استفاده کنید تا به طور مرتب گیر کند!

مرحله 6: نوار LED + نوار LED لحیم کاری (NeoPixel) را با سیم وصل کنید

نوار LED + نوار LED لحیم کاری (NeoPixel) را با سیم وصل کنید
نوار LED + نوار LED لحیم کاری (NeoPixel) را با سیم وصل کنید
نوار LED + نوار LED لحیم کاری (NeoPixel) را با سیم وصل کنید
نوار LED + نوار LED لحیم کاری (NeoPixel) را با سیم وصل کنید
نوار LED + نوار LED لحیم کاری (NeoPixel) را با سیم وصل کنید
نوار LED + نوار LED لحیم کاری (NeoPixel) را با سیم وصل کنید
نوار LED + نوار LED لحیم کاری (NeoPixel) را با سیم وصل کنید
نوار LED + نوار LED لحیم کاری (NeoPixel) را با سیم وصل کنید

اگر در لحیم کاری نوار LED بسیار خوب عمل کرده اید ، وقت آن است که نوار LED را در پشت قرار دهید. ابتدا یک نوار چسب یا نوار دو طرفه را به پشت نوار LED وصل کنید. و ابتدا سیمها را از دو طرف سیم لحیم کاری از طریق سوراخهای دو طرف جدا کنید. در نهایت ، نوار LED را به اکریلیک پشت وصل کنید و تمام می شود!

زمان لحیم کاری است! نوارهای LED ، اتصالات 4 پین (کانکتور یا سیم) و آنچه برای لحیم کاری نیاز دارید را آماده کنید. من از LED ها در سه واحد استفاده کردم. در صورت تمایل می توانید از یک یا دو LED استفاده کنید ، اما توصیه می کنم از سه عدد LED استفاده کنید. وقتی همه مواد آماده شد ، سیمها را در هر دو خط داده ، خطوط 5 ولت و خطوط نوار LED لحیم کنید.

مرحله 7: سوکت سوکت لحیم کاری با سیم

سوکت سوکت لحیم کاری با سیم
سوکت سوکت لحیم کاری با سیم
سوکت سوکت لحیم کاری با سیم
سوکت سوکت لحیم کاری با سیم

مرحله 8: مونتاژ -پیچ را در طرف = ① وارد کنید

مونتاژ -درج پیچ در طرف = ①
مونتاژ -درج پیچ در طرف = ①
مونتاژ -درج پیچ در طرف = ①
مونتاژ -درج پیچ در طرف = ①

در حال حاضر آن را واقعا آسان بخش! یک پیچ را روی هر سه طرف چاپ سه بعدی قرار دهید. به همین دلیل است که با استفاده از دکمه پیچ مانند استفاده از پیچ و مهره های ساختاری قادر خواهید بود. وقتی قطعه به پایان رسید ، من قطعه را در کیس می گذارم و آن را با مهره تمام می کنم.

مرحله 9: Ⓛⓣ را به Ⓒ = Att وصل کنید

Ⓛⓣ را به Ⓒ = Att وصل کنید
Ⓛⓣ را به Ⓒ = Att وصل کنید
Ⓛⓣ را به Ⓒ = ach وصل کنید
Ⓛⓣ را به Ⓒ = ach وصل کنید

مرحله 10: مونتاژ -استفاده از Ⓦ و Ⓝ برای ترکیب ① و ② =

مونتاژ -استفاده از Ⓦ و Ⓝ برای ترکیب ① و ② =
مونتاژ -استفاده از Ⓦ و Ⓝ برای ترکیب ① و ② =
مونتاژ -استفاده از Ⓦ و Ⓝ برای ترکیب ① و ② =
مونتاژ -استفاده از Ⓦ و Ⓝ برای ترکیب ① و ② =
مونتاژ -استفاده از Ⓦ و Ⓝ برای ترکیب ① و ② =
مونتاژ -استفاده از Ⓦ و Ⓝ برای ترکیب ① و ② =

مرحله 11: مونتاژ -Attach و ③ Using a Acrylic Bond = ④

Assembly -Attach و ③ Using a Acrylic Bond = ④
Assembly -Attach و ③ Using a Acrylic Bond = ④
Assembly -Attach و ③ Using a Acrylic Bond = ④
Assembly -Attach و ③ Using a Acrylic Bond = ④
Assembly -Attach و ③ Using a Acrylic Bond = ④
Assembly -Attach و ③ Using a Acrylic Bond = ④
Assembly -Attach و ③ Using a Acrylic Bond = ④
Assembly -Attach و ③ Using a Acrylic Bond = ④

اگر شما یک پیچ در طرف قرار دهید ، ما آن را در طرف و جلو قرار می دهیم. قسمت جلویی آن اکریلیک است ، بنابراین باید آن را با یک باند مخصوص اکریلیک روی آن قرار دهید. اگر اکریلیک را به یک پیوند معمولی وصل کنید ، اثری از خود به جا می گذارد.

مرحله 12: Ⓢ را به Ⓓ = Att وصل کنید

Ⓢ را به Ⓓ = Att وصل کنید
Ⓢ را به Ⓓ = Att وصل کنید
Ⓢ را به Ⓓ = Att وصل کنید
Ⓢ را به Ⓓ = Att وصل کنید

مرحله 13: مونتاژ -ترکیب ④ و ⑤ استفاده از Ⓦ و Ⓝ =

Assembly -Combine ④ and ⑤ Using Ⓦ and Ⓝ =
Assembly -Combine ④ and ⑤ Using Ⓦ and Ⓝ =
Assembly -Combine ④ and ⑤ Using Ⓦ and Ⓝ =
Assembly -Combine ④ and ⑤ Using Ⓦ and Ⓝ =
Assembly -Combine ④ and ⑤ Using Ⓦ and Ⓝ =
Assembly -Combine ④ and ⑤ Using Ⓦ and Ⓝ =

مرحله 14: مجموعه کامل قطعه

مونتاژ کامل قطعه
مونتاژ کامل قطعه
مونتاژ کامل قطعه
مونتاژ کامل قطعه
مونتاژ کامل قطعه
مونتاژ کامل قطعه

مرحله 15: ظاهر کاری یک پروژه

Image
Image

مرحله 16: NeoPixel ، سیم کشی اتصال

NeoPixel ، سیم کشی اتصال
NeoPixel ، سیم کشی اتصال
NeoPixel ، سیم کشی اتصال
NeoPixel ، سیم کشی اتصال
NeoPixel ، سیم کشی اتصال
NeoPixel ، سیم کشی اتصال

مرحله 17: NeoPixel و Arduino Wiring

NeoPixel و Arduino Wiring
NeoPixel و Arduino Wiring

مرحله 18: آردوینو را برنامه ریزی کنید

خارجی فرار بدون علامت timer0_millis؛

#عبارتند از

#تعریف MODEBTNNUM 3 int ani_mode = 0؛ preM1 طولانی ، preM2 ، preM3 طولانی بدون علامت ؛

void setup () {

Wire.begin ()؛ برای (int i = 0 ؛ i <MODEBTNNUM ؛ i ++) {pinMode (i+2 ، INPUT_PULLUP) ؛ } //Serial.begin(9600)؛ }

حلقه خالی () {

برای (int i = 0؛ i <MODEBTNNUM؛ i ++) {if (! digitalRead (i + 2)) ani_mode = i + 1؛ } برای (int i = 0؛ i <6؛ i ++) {Wire.requestFrom (i+1، 1)؛ while (Wire.available ()) {int x = Wire.read ()؛ // Serial.println (x) ؛ if (x == 5) {ani_mode = 0؛ // Serial.println ("x = 5") ؛ }}} /////////////////////////////////////////// /////// if (ani_mode == 0) {for (int i = 1؛ i 3000) {preM1 = current1؛ برای (int i = 1؛ i 5000) {preM2 = current2؛ برای (int i = 1؛ i 3000) {preM3 = current3؛ // timer0_millis = 0؛ // preM1 = 0 ؛ // preM2 = 0 ؛ // preM3 = 0؛ // Serial.println ("تنظیم مجدد تایمر") ؛ برای (int i = 1؛ i <7؛ i ++) {Wire.beginTransmission (i)؛ Wire.write (ani_mode) ؛ //Serial.println("3000 ") ؛ Wire.endTransmission (i) ؛ }}}}

مرحله 19:

خارجی فرار بدون علامت timer0_millis؛

#عبارتند از

#شامل #تعریف PIN 12 #تعریف NUMPIXELS 162 Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUMPIXELS ، PIN ، NEO_GRB + NEO_KHZ800) ؛ const int num = NUMPIXELS / 3؛ const int slaveNum = 1؛ رنگهای int [num] [3]؛ int hue [num] ؛ int sat [num]؛ int روشن [num]؛ int pNumber = 0؛ int gValue [num] = {1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1} ؛ const int btnPin [num] = {2، 3، 4، 5، 6، 7، 8، 9، 10، 11، 14، 15، 16، 17، 18، 19، 22، 24، 26، 28، 30، 32، 34، 36، 38، 40، 42، 44، 46، 48، 50، 52، 23، 25، 27، 29، 31، 33، 35، 37، 39، 41، 43، 45، 47، 49، 51 ، 53 ، 54 ، 55 ، 56 ، 57 ، 58 ، 59} ؛ int btnState [num]؛ boolean btnMode؛ int hueV [num] = {1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1 ، 1} ؛ #شامل #تعریف BTNNUM 1 int f_v = 1 ؛ بدون امضا طولانی preMillis1؛ preM طولانی امضا نشده ؛ int ani_mode = 0؛ int ani2_Counter = 0؛ int counter = 0؛ //////////////////////////////////////////// void setup () {Wire. شروع (slaveNum) ؛ Wire.onRequest (requestEvent) ؛ Wire.onReceive (ReceEvent) ؛ برای (int i = 0؛ i <num؛ i ++) {pinMode (btnPin ، INPUT_PULLUP)؛ } //Serial.begin(9600)؛ strip.begin ()؛ } /////////////////////////////////////////

حلقه خالی () {

if (f_v == 1) {for (int i = 0؛ i <num؛ i ++) {hue = 50؛ نشسته = 95 ؛ روشن = 100 ؛ } f_v = 0؛ } ////////////////////////////////////// // 버튼 입력 체크: 멈춤 신호 t btnMode = غلط ؛ برای (int i = 0؛ i <num؛ i ++) {if (! digitalRead (btnPin ))) {btnMode = true؛ }} btnEvent (5)؛ // Serial.println (ani_mode) ؛ ////////////////////////////////////// سوئیچ (ani_mode) {مورد 0: ani0 ()؛ زنگ تفريح؛ مورد 1: ani1 ()؛ ani_mode = 0؛ ani2_Counter = 0؛ زنگ تفريح؛ مورد 2: ani2_Counter = 1؛ ani_mode = 0؛ زنگ تفريح؛ مورد 3: ani3 ()؛ ani_mode = 0؛ ani2_Counter = 0؛ زنگ تفريح؛ پیش فرض: readyState ()؛ زنگ تفريح؛ } if (ani2_Counter == 1) {ani2 ()؛ } setPixels (num)؛ }

///////////////////////////////////////////

void دریافتEvent (int howMany) {int x = Wire.read ()؛ if (x == 5) {// Serial.println ("5 دریافت کرد") ؛ ani_mode = 0؛ } ani_mode = x؛ // Serial.println (ani_mode) ؛ } /////////////////////////////////////////// void requestEvent () {

if (btnMode == true) {

Wire.write (5) ؛ // Serial.println ("5 보냄") ؛ } else {Wire.write (0)؛ }

}

void ani0 () {

// Serial.println ("0") ؛ }

void ani1 () {

// Serial.println ("1") ؛ if (pNumber == 0) {for (int i = 0؛ i <num؛ i ++) {bright = 0؛ gValue = 1 ؛ } int a1 = {25 ، 26} ؛ int b1 = {39 ، 52} ؛ int c1 = {40 ، 53} ؛ برای (int a = 0؛ a <2؛ a ++) {hue [a1 [a] = 100؛ نشسته [a1 [a] = 95؛ روشن [a1 [a] = 100 ؛ } برای (int b = 0؛ b <2؛ b ++) {hue [b1 = 200؛ نشسته [b1 = 95 ؛ روشن [b1 = 100 ؛ } برای (int c = 0؛ c <2؛ c ++) {hue [c1 [c] = 300؛ نشسته [c1 [c] = 95 ؛ روشن [c1 [c] = 100 ؛ } // Serial.println ("0")؛ } else if (pNumber == 1) {for (int i = 0؛ i <num؛ i ++) {bright = 0؛ gValue = 1 ؛ } int a2 = {21 ، 22 ، 34 ، 35 ، 37 ، 46 ، 47 ، 51} ؛ // int b2 = {}؛ // int c2 = {}؛ int d2 = {36 ، 48 ، 49 ، 50} ؛ برای (int a = 0؛ a <8؛ a ++) {hue [a2 [a] = 26؛ نشسته [a2 [a] = 95؛ روشن [a2 [a] = 100 ؛ } برای (int d = 0؛ d <4؛ d ++) {hue [d2 [d] = 63؛ نشسته [d2 [d] = 95 ؛ روشن [d2 [d] = 100 ؛ } // Serial.println ("1")؛ } else if (pNumber == 2) {// الگوی بزرگ مکعب برای (int i = 0؛ i <num؛ i ++) {bright = 0؛ gValue = 1 ؛ } int a14 = {34، 35، 46، 47، 48، 49}؛ // زرد 06 برای (int a = 0؛ a <6؛ a ++) {hue [a14 [a] = 35؛ نشسته [a14 [a] = 95؛ روشن [a14 [a] = 100 ؛ }} else if (pNumber == 3) {for (int i = 0؛ i <num؛ i ++) {bright = 0؛ gValue = 1 ؛ } int a3 = {34، 35، 46، 47، 48، 49}؛ // زرد برای (int a = 0؛ a <6؛ a ++) {hue [a3 [a] = 53؛ نشسته [a3 [a] = 95؛ روشن [a3 [a] = 100 ؛ }} else if (pNumber == 4) {for (int i = 0؛ i <num؛ i ++) {bright = 0؛ gValue = 1 ؛ } int a4 = {34، 35}؛ // زرد int b4 = {47}؛ // آبی int c4 = {48}؛ // بنفش

برای (int a = 0؛ a <2؛ a ++) {hue [a4 [a] = 53؛ نشسته [a4 [a] = 95؛ روشن [a4 [a] = 100 ؛ }

برای (int b = 0 ؛ b <1؛ b ++) {رنگ [b4 = 210 ؛ نشسته [b4 = 95 ؛ روشن [b4 = 100 ؛ } برای (int c = 0 ؛ c <1؛ c ++) {رنگ [c4 [c] = 307 ؛ نشسته [c4 [c] = 95 ؛ روشن [c4 [c] = 100 ؛ }} else if (pNumber == 5) {for (int i = 0؛ i <num؛ i ++) {bright = 0؛ gValue = 1 ؛ } int a5 = {34 ، 35 ، 46 ، 47 ، 48 ، 49}؛

برای (int a = 0؛ a <6؛ a ++) {hue [a5 [a] = 100؛ نشسته [a5 [a] = 95؛ روشن [a5 [a] = 100 ؛ }} else if (pNumber == 6) {for (int i = 0؛ i <num؛ i ++) {bright = 0؛ gValue = 1 ؛ } int a6 = {34، 35، 46، 47، 48، 49}؛ // زرد برای (int a = 0؛ a <6؛ a ++) {hue [a6 [a] = 53؛ نشسته [a6 [a] = 95؛ روشن [a6 [a] = 100 ؛ }} else if (pNumber == 7) {for (int i = 0؛ i <num؛ i ++) {bright = 0؛ gValue = 1 ؛ } int c7 = {34 ، 35 ، 46 ، 47 ، 48 ، 49} ؛ // بنفش برای (int c = 0 ؛ c <6؛ c ++) {رنگ [c7 [c] = 307 ؛ نشسته [c7 [c] = 95 ؛ روشن [c7 [c] = 100 ؛ }} else if (pNumber == 8) {for (int i = 0؛ i <num؛ i ++) {bright = 0؛ gValue = 1 ؛ } int c8 = {34 ، 35 ، 46 ، 47 ، 48 ، 49} ؛ // بنفش برای (int c = 0 ؛ c <6؛ c ++) {hue [c8 [c] = 307 ؛ نشسته [c8 [c] = 95 ؛ روشن [c8 [c] = 100 ؛ }} else if (pNumber == 9) {for (int i = 0؛ i <num؛ i ++) {bright = 0؛ gValue = 1 ؛ } int c9 = {34 ، 35 ، 46 ، 47 ، 48 ، 49}؛ // بنفش برای (int c = 0 ؛ c <6؛ c ++) {hue [c9 [c] = 307 ؛ نشسته [c9 [c] = 95 ؛ روشن [c9 [c] = 100 ؛ }} else if (pNumber == 10) {for (int i = 0؛ i <num؛ i ++) {bright = 0؛ gValue = 1 ؛ } int c10 = {34 ، 35 ، 46 ، 47 ، 48 ، 49}؛ // بنفش برای (int c = 0 ؛ c <6؛ c ++) {رنگ [c10 [c] = 307 ؛ نشسته [c10 [c] = 95 ؛ روشن [c10 [c] = 100 ؛ }} else if (pNumber == 11) {for (int i = 0؛ i <num؛ i ++) {bright = 0؛ gValue = 1 ؛ } int c11 = {34 ، 35 ، 46 ، 47 ، 48 ، 49}؛ // بنفش برای (int c = 0 ؛ c <6؛ c ++) {رنگ [c11 [c] = 307 ؛ نشسته [c11 [c] = 95 ؛ روشن [c11 [c] = 100 ؛ }} else if (pNumber == 12) {for (int i = 0؛ i <num؛ i ++) {bright = 0؛ gValue = 1 ؛ } int c12 = {34 ، 35 ، 46 ، 47 ، 48 ، 49}؛ // بنفش برای (int c = 0 ؛ c <6؛ c ++) {hue [c12 [c] = 307 ؛ نشسته [c12 [c] = 95 ؛ روشن [c12 [c] = 100 ؛ }} else if (pNumber == 13) {for (int i = 0؛ i <num؛ i ++) {bright = 0؛ gValue = 1 ؛ } int a13 = {34، 35}؛ // زرد int b13 = {47}؛ // آبی int c13 = {48}؛ // بنفش برای (int a = 0؛ a <2؛ a ++) {hue [a13 [a] = 53؛ نشسته [a13 [a] = 95؛ روشن [a13 [a] = 100 ؛ } برای (int b = 0؛ b <1؛ b ++) {hue [b13 = 210؛ نشسته [b13 = 95 ؛ روشن [b13 = 100 ؛ } برای (int c = 0؛ c <1؛ c ++) {hue [c13 [c] = 307؛ نشسته [c13 [c] = 95 ؛ روشن [c13 [c] = 100 ؛ }} pNumber = pNumber + 1؛

if (pNumber == 14) {

pNumber = 0؛ }}

void ani2 () {

// Serial.println ("2") ؛ curM طولانی امضا نشده = millis ()؛

if (curM - preM> = 10) {

preM = curM ؛ برای (int i = 0؛ i <num؛ i ++) {if (hue = 360) {gValue = -1؛ } رنگ = رنگ + g ارزش ؛ } شمارنده ++؛ if (counter == 360) {// Serial.print ("counter:")؛ // Serial.println (شمارنده) ؛ // Serial.println (curM) ؛ شمارنده = 0 ؛ ani2_Counter = 0؛ }}}

void ani3 () {

// Serial.println ("3") ؛ } //////////////////////////////////////////// void readyState () {/ / Serial.println ("آماده") ؛ } /////////////////////////////////////////// void btnEvent (int b_interval) {unsigned long curMillis1 = millis ()؛

برای (int i = 0 ؛ i <num؛ i ++) {btnState = digitalRead (btnPin ) ؛ }

if (curMillis1 - preMillis1> b_interval) {

preMillis1 = curMillis1؛ برای (int i = 0 ؛ i = 360) {hueV = -1 ؛ } else if (رنگ <= 0) {hueV = 1 ؛ } رنگ = رنگ + رنگ V ؛ روشن = 100 ؛ }}} /////////////////////////////////////////// void setPixels (int k) {برای (int i = 0 ؛ i <k؛ i ++) {H2R_HSBtoRGB (رنگ ، نشسته ، روشن ، رنگ ) ؛ int num1 = i * 3 ؛ strip.setPixelColor (num1 ، رنگها [0] ، رنگها [1] ، رنگها [2]) ؛ strip.setPixelColor (num1 + 1 ، رنگها [0] ، رنگها [1] ، رنگها [2]) ؛ strip.setPixelColor (num1 + 2 ، رنگها [0] ، رنگها [1] ، رنگها [2]) ؛ } strip.show ()؛ }

مرحله 20: الگوها

الگوها!
الگوها!
الگوها!
الگوها!

این پروژه دارای چندین مثلث است که شکل شش ضلعی را تشکیل می دهند. بنابراین می توانید با توجه به نحوه طراحی نور ، الگوهای کلیشه ای ایجاد کنید! فقط هر قطعه را فشار دهید و رنگهای مختلف درجه بندی می شوند ، و هنگامی که رنگ مورد نظر شما بیرون آمد ، فقط دستی را که فشار داده اید ضربه بزنید و همچنان با رنگ مورد نظر شما به درخشش زیبا ادامه خواهد داد!

توصیه شده: