فهرست مطالب:

عینک آرامش بخش - ITTT: 5 مرحله (همراه با تصاویر)
عینک آرامش بخش - ITTT: 5 مرحله (همراه با تصاویر)

تصویری: عینک آرامش بخش - ITTT: 5 مرحله (همراه با تصاویر)

تصویری: عینک آرامش بخش - ITTT: 5 مرحله (همراه با تصاویر)
تصویری: 5 خبرمهم کیهان شناسی در سال 2023 2024, نوامبر
Anonim
عینک آرامش - ITTT
عینک آرامش - ITTT
عینک آرامش - ITTT
عینک آرامش - ITTT
عینک آرامش - ITTT
عینک آرامش - ITTT

پروژه HKU - ITTT (If This Then That) - جولیا برکوور ، 1B

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

همچنین می توانید با چرخاندن کلید ، با استفاده از حسگر fsr ، شدت تنفس خود را ردیابی کنید.

با استفاده از این برنامه جامع ، شما را در ساختن عینک آرامش بخش خود به صورت مرحله به مرحله راهنمایی می کنم.

مرحله 1: مواد و قطعات مورد نیاز:

مواد و قطعات مورد نیاز
مواد و قطعات مورد نیاز
مواد و قطعات مورد نیاز
مواد و قطعات مورد نیاز
مواد و قطعات مورد نیاز
مواد و قطعات مورد نیاز

مواد:

1x arduino uno ؛

1xbreadboard یا PCV ؛

مقاومتهای 3x 3k

سیم (ترجیحا رنگهای مختلف ، بنابراین راحت تر می توان تشخیص داد که چه چیزهایی به زمین می روند و کدام به پین های مختلف می روند و غیره).

برخی از لوله های کوچک کننده گرما ؛

2x NeoPixel Ring - 16 x 5050 RGB LED با درایورهای مجتمع ؛

سوئیچ 1x ؛

سنسور FSR 1x ؛

1 عدد عینک SteamPunk (می توانید این موارد را در مغازه مهمانی خریداری کنید ، استفاده از آنها آسان است زیرا حلقه نئوپیکسلی کاملاً روی عینک قرار می گیرد. شما همیشه سعی می کنید از عینک های دیگر استفاده کنید یا خود را ایجاد کنید.) ؛

یک عدد نوار (الاستیک) برای دور سینه بگذارید.

ابزار: -لپ تاپ

-آهن لحیم کاری

نرم افزار آردوینو IDE

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

در زیر در اینجا تصاویری از همه چیزهایی را که استفاده کردم مشاهده خواهید کرد:

مرحله 2: حلقه های نئوپیکسل

حلقه های نئوپیکسل
حلقه های نئوپیکسل

سیم سفید در پشت حلقه نئوپیکسل به زمین متصل است.

سیم نارنجی به 5 ولت وصل شده است.

و سیم قهوه ای به ورودی داده متصل است

مرحله 3: اتصالات

اتصالات
اتصالات
اتصالات
اتصالات

تخته نان من در هنگام نمونه سازی به نظر می رسید ، می توانید از آن به عنوان مرجع استفاده کنید.

من همچنین یک سیم کشی از سیم کشی ظاهری آن را فقط با یک دکمه تهیه کردم.

مرحله 4: کد:

احتمالاً کارآمدترین کد نیست ، اما برای من کار می کند. خودتان را به چالش بکشید و سعی کنید آن را کارآمدتر کنید ؛ ص

#عبارتند از

// کدام

پین در آردوینو به NeoPixels متصل است؟

#تعريف كردن

پین 6

// کدام

پین روی آردوینو به دکمه متصل است

#تعريف كردن

BUTTON_PIN 9

// چگونه

بسیاری از NeoPixels به آردوینو متصل شده اند؟

#تعريف كردن

NUMPIXELS 16

// چه زمانی

ما کتابخانه NeoPixel را راه اندازی می کنیم ، به آن می گوییم چند پیکسل است و از کدام پین برای ارسال سیگنال استفاده می شود.

// توجه داشته باشید

برای نوارهای قدیمی NeoPixel ممکن است نیاز به تغییر پارامتر سوم داشته باشید-به strandtest مراجعه کنید

//

برای اطلاعات بیشتر در مورد مقادیر احتمالی.

Adafruit_NeoPixel

پیکسل = Adafruit_NeoPixel (NUMPIXELS ، PIN ، NEO_GRB + NEO_KHZ800) ؛

بین مکث

= 1 ؛ // تاخیر 2

int

مکث 2 = 80 ؛ // پایین آمدن هنگام استفاده از fsr

int

مکث 3 = 150 ؛ // انجام هنگام استفاده از fsr

int

تاخیر = 4؛ // تاخیر 1

int

fsrPin = 0 ؛ // فولدر FSR و 10K به a0 متصل هستند

int

fsrReading؛

خالی

برپایی() {

pinMode (BUTTON_PIN ، INPUT) ؛

Serial.begin (9600)؛

pixels.begin ()؛ // این مقدار اولیه را آغاز می کند

کتابخانه NeoPixel

pixels.show ()؛

}

بول

تحت فشار (int pin) {

return digitalRead (پین) ؛

}

خالی

loop () {// درست یا غلط بودن ورودی پین را می خواند

fsrReading = analogRead (fsrPin) ؛

Serial.print ("خواندن آنالوگ =")؛

Serial.print (fsrReading) ؛

if (تحت فشار (BUTTON_PIN) == true) {

// جلوه نور هنگام استفاده از سنسور fsr

if (fsrReading> 50) {

pixels.setPixelColor (0 ، 1 ، 0 ، 1) ؛

pixels.setPixelColor (15 ، 1 ، 0 ، 1) ؛

pixels.setPixelColor (1 ، 1 ، 0 ، 1) ؛

pixels.setPixelColor (14 ، 1 ، 0 ، 1) ؛

pixels.show ()؛

تاخیر (مکث 3) ؛

}

if (fsr خواندن <52) {

pixels.setPixelColor (0 ، 0 ، 0 ، 0) ؛

pixels.setPixelColor (15 ، 0 ، 0 ، 0) ؛

pixels.setPixelColor (1 ، 0 ، 0 ، 0) ؛

pixels.setPixelColor (14 ، 0 ، 0 ، 0) ؛

pixels.show ()؛

تاخیر (مکث 2) ؛

}

if (fsrReading> 57) {

pixels.setPixelColor (2 ، 1 ، 0 ، 1) ؛

pixels.setPixelColor (13 ، 1 ، 0 ، 1) ؛

pixels.setPixelColor (3 ، 1 ، 0 ، 1) ؛

pixels.setPixelColor (12 ، 1 ، 0 ، 1) ؛

pixels.show ()؛

تاخیر (مکث 3) ؛

}

if (fsr خواندن <59) {

pixels.setPixelColor (2 ، 0 ، 0 ، 0) ؛

pixels.setPixelColor (13 ، 0 ، 0 ، 0) ؛

pixels.setPixelColor (3 ، 0 ، 0 ، 0) ؛

pixels.setPixelColor (12 ، 0 ، 0 ، 0) ؛

pixels.show ()؛

تاخیر (مکث 2) ؛

}

if (fsrReading> 65) {

pixels.setPixelColor (4 ، 1 ، 0 ، 1) ؛

pixels.setPixelColor (11 ، 1 ، 0 ، 1) ؛

pixels.setPixelColor (5 ، 1 ، 0 ، 1) ؛

pixels.setPixelColor (10 ، 1 ، 0 ، 1) ؛

pixels.show ()؛

تاخیر (مکث 3) ؛

}

if (fsr خواندن <67) {

pixels.setPixelColor (4 ، 0 ، 0 ، 0) ؛

pixels.setPixelColor (11 ، 0 ، 0 ، 0) ؛

pixels.setPixelColor (5 ، 0 ، 0 ، 0) ؛

pixels.setPixelColor (10 ، 0 ، 0 ، 0) ؛

pixels.show ()؛

تأخیر (40) ؛

}

if (fsrReading> 79) {

pixels.setPixelColor (6 ، 1 ، 0 ، 1) ؛

pixels.setPixelColor (9 ، 1 ، 0 ، 1) ؛

pixels.setPixelColor (7 ، 1 ، 0 ، 1) ؛

pixels.setPixelColor (8 ، 1 ، 0 ، 1) ؛

pixels.show ()؛

تاخیر (مکث 3) ؛

}

if (fsr خواندن <85) {

pixels.setPixelColor (6 ، 0 ، 0 ، 0) ؛

pixels.setPixelColor (9 ، 0 ، 0 ، 0) ؛

pixels.setPixelColor (7 ، 0 ، 0 ، 0) ؛

pixels.setPixelColor (8 ، 0 ، 0 ، 0) ؛

pixels.show ()؛

تأخیر (20) ؛

}

}

دیگری {

تنفس_آبی (20 ، 100 ، 0 ، 1 ، 1) ؛ // طبیعی

اثر

}

}

// مکث کنید

= تاخیر بین انتقال ها

// مراحل

= تعداد مراحل

// R ، G ،

B = مقادیر RGB کامل

// تنفس باطل به صورت غیرمستقیم به کار می رود

fsrsensor niet gebruikt wordt. Deze void wordt in de void loop () weer aangeroepen.

void breathe_blu (int pause، int int، byte R، byte G،

بایت ب) {

int

tmpR ، tmpG ، tmpB ؛ // مقادیر Temp

// محو کردن

برای (int s = 1؛ s <= مراحل ؛ s ++) {

tmpR = (R * s) /

مراحل ؛ // ابتدا برای جلوگیری از خطاهای کوتاه ، ضرب کنید

tmpG = (G * s) / مراحل ؛

tmpB = (B * s) / مراحل ؛

برای (int i = 0 ؛

منpixels.setPixelColor (0 ، tmpR ، tmpG+1 ، tmpB) ؛

pixels.setPixelColor (15 ، tmpR ، tmpG+1 ، tmpB) ؛

}

pixels.show ()؛

تأخیر (4) ؛

}

// محو کردن

برای (int s = 1؛ s <= مراحل ؛ s ++) {

tmpR = (R * s) /

مراحل ؛ // ابتدا برای جلوگیری از خطاهای کوتاه ، ضرب کنید

tmpG = (G * s) / مراحل ؛

tmpB = (B * s) / مراحل ؛

برای (int i = 0 ؛

منpixels.setPixelColor (1 ، tmpR ، tmpG+1 ، tmpB) ؛pixels.setPixelColor (14 ، tmpR ، tmpG+1 ، tmpB) ؛

}

pixels.show ()؛

تأخیر (4) ؛

}

// محو کردن

برای (int s = 1؛ s <= مراحل ؛ s ++) {

tmpR = (R * s) /

مراحل ؛ // ابتدا برای جلوگیری از خطاهای کوتاه ، ضرب کنید

tmpG = (G * s) / مراحل ؛

tmpB = (B * s) / مراحل ؛

برای (int i = 0 ؛

منpixels.setPixelColor (2 ، tmpR ، tmpG+2 ، tmpB) ؛pixels.setPixelColor (13 ، tmpR ، tmpG+2 ، tmpB) ؛

}

pixels.show ()؛

تاخیر (3.5) ؛

}

// محو کردن

برای (int s = 1؛ s <= مراحل ؛ s ++) {

tmpR = (R * s) /

مراحل ؛ // ابتدا برای جلوگیری از خطاهای کوتاه ، ضرب کنید

tmpG = (G * s) / مراحل ؛

tmpB = (B * s) / مراحل ؛

برای (int i = 0 ؛

منpixels.setPixelColor (3 ، tmpR ، tmpG+3 ، tmpB+5) ؛pixels.setPixelColor (12 ، tmpR ، tmpG+3 ، tmpB+5) ؛

}

pixels.show ()؛

تاخیر (3) ؛

}

برای (int i = 0 ؛

منpixels.setPixelColor (0 ، 0 ، 0 ، 0) ؛pixels.setPixelColor (15 ، 0 ، 0 ، 0) ؛

}

// محو کردن

برای (int s = 1؛ s <= مراحل ؛ s ++) {

tmpR = (R * s) /

مراحل ؛ // ابتدا برای جلوگیری از خطاهای کوتاه ، ضرب کنید

tmpG = (G * s) / مراحل ؛

tmpB = (B * s) / مراحل ؛

برای (int i = 0 ؛

من

pixels.setPixelColor (4 ، tmpR ، tmpG+3 ، tmpB+15) ؛pixels.setPixelColor (11 ، tmpR ، tmpG+3 ، tmpB+15) ؛

}

pixels.show ()؛

تاخیر (3) ؛

}

// محو کردن

برای (int s = 1؛ s <= مراحل ؛ s ++) {

tmpR = (R * s) /

مراحل ؛ // ابتدا برای جلوگیری از خطاهای کوتاه ، ضرب کنید

tmpG = (G * s) / مراحل ؛

tmpB = (B * s) / مراحل ؛

برای (int i = 0 ؛

منpixels.setPixelColor (5 ، tmpR ، tmpG+4 ، tmpB+20) ؛pixels.setPixelColor (10 ، tmpR ، tmpG+4 ، tmpB+20) ؛

}

pixels.show ()؛

تأخیر (2) ؛

}

برای (int i = 0 ؛

منpixels.setPixelColor (1 ، 0 ، 0 ، 0) ؛

pixels.setPixelColor (14 ، 0 ، 0 ، 0) ؛

}

// محو کردن

برای (int s = 1؛ s <= مراحل ؛ s ++) {

tmpR = (R * s) /

مراحل ؛ // ابتدا برای جلوگیری از خطاهای کوتاه ، ضرب کنید

tmpG = (G * s) / مراحل ؛

tmpB = (B * s) / مراحل ؛

برای (int i = 0 ؛

منpixels.setPixelColor (6 ، tmpR ، tmpG+2 ، tmpB+40) ؛

pixels.setPixelColor (9 ، tmpR ، tmpG+2 ، tmpB+40) ؛

}

pixels.show ()؛

تاخیر (تاخیر) ؛

}

برای (int i = 0 ؛

منpixels.setPixelColor (2 ، 0 ، 0 ، 0) ؛pixels.setPixelColor (13 ، 0 ، 0 ، 0) ؛

}

// محو کردن

برای (int s = 1؛ s <= مراحل ؛ s ++) {

tmpR = (R * s) /

مراحل ؛ // ابتدا برای جلوگیری از خطاهای کوتاه ، ضرب کنید

tmpG = (G * s) / مراحل ؛

tmpB = (B * s) / مراحل ؛

برای (int i = 0 ؛

من

pixels.setPixelColor (7 ، tmpR ، tmpG ، tmpB+44) ؛pixels.setPixelColor (8 ، tmpR ، tmpG ، tmpB+44) ؛

}

pixels.show ()؛

تاخیر (تاخیر) ؛

}

// کم رنگ شدن

برای (int s = مراحل ؛ s> 0؛ s--) {

tmpR = (R * s) / مراحل ؛ // ابتدا برای جلوگیری از کوتاه شدن ، ضرب کنید

خطاها

tmpG = (G * s) / مراحل ؛

tmpB = (B * s) / مراحل ؛

برای (int i = 0 ؛ i

pixels.setPixelColor (7 ، tmpR ، tmpG ، tmpB) ؛

pixels.setPixelColor (8 ، tmpR ، tmpG ، tmpB) ؛

}

pixels.show ()؛

تأخیر (1) ؛

}

// کم رنگ شدن

برای (int s = مراحل ؛ s> 0؛ s--) {

tmpR = (R * s) / مراحل ؛ // ابتدا برای جلوگیری از کوتاه شدن ، ضرب کنید

خطاها

tmpG = (G * s) / مراحل ؛

tmpB = (B * s) / مراحل ؛

برای (int i = 0 ؛ i

pixels.setPixelColor (6 ، tmpR ، tmpG ، tmpB) ؛

pixels.setPixelColor (9 ، tmpR ، tmpG ، tmpB) ؛

}

pixels.show ()؛

تأخیر (1) ؛

}

// کم رنگ شدن

برای (int s = مراحل ؛ s> 0؛ s--) {

tmpR = (R * s) / مراحل ؛ // ابتدا برای جلوگیری از کوتاه شدن ، ضرب کنید

خطاها

tmpG = (G * s) / مراحل ؛

tmpB = (B * s) / مراحل ؛

برای (int i = 0 ؛ i

pixels.setPixelColor (5 ، tmpR ، tmpG ، tmpB) ؛

pixels.setPixelColor (10 ، tmpR ، tmpG ، tmpB) ؛

}

pixels.show ()؛

تأخیر (2) ؛

}

// کم رنگ شدن

برای (int s = مراحل ؛ s> 0؛ s--) {

tmpR = (R * s) / مراحل ؛ // ابتدا برای جلوگیری از کوتاه شدن ، ضرب کنید

خطاها

tmpG = (G * s) / مراحل ؛

tmpB = (B * s) / مراحل ؛

برای (int i = 0 ؛ i

pixels.setPixelColor (4 ، tmpR ، tmpG ، tmpB) ؛

pixels.setPixelColor (11 ، tmpR ، tmpG ، tmpB) ؛

}

pixels.show ()؛

تأخیر (2) ؛

}

// کم رنگ شدن

برای (int s = مراحل ؛ s> 0؛ s--) {

tmpR = (R * s) / مراحل ؛ // ابتدا برای جلوگیری از کوتاه شدن ، ضرب کنید

خطاها

tmpG = (G * s) / مراحل ؛

tmpB = (B * s) / مراحل ؛

برای (int i = 0 ؛ i

pixels.setPixelColor (3 ، tmpR ، tmpG ، tmpB) ؛

pixels.setPixelColor (12 ، tmpR ، tmpG ، tmpB) ؛

}

pixels.show ()؛

تاخیر (3) ؛

}

// کم رنگ شدن

برای (int s = مراحل ؛ s> 0؛ s--) {

tmpR = (R * s) / مراحل ؛ //

برای جلوگیری از خطاهای کوتاه ، ابتدا ضرب کنید

tmpG = (G * s) / مراحل ؛

tmpB = (B * s) / مراحل ؛

برای (int i = 0 ؛ i

pixels.setPixelColor (2 ، tmpR ، tmpG ، tmpB) ؛

pixels.setPixelColor (13 ، tmpR ، tmpG ، tmpB) ؛

}

pixels.show ()؛

تاخیر (3) ؛

}

// کم رنگ شدن

برای (int s = مراحل ؛ s> 0؛ s--) {

tmpR = (R * s) / مراحل ؛ // ابتدا برای جلوگیری از کوتاه شدن ، ضرب کنید

خطاها

tmpG = (G * s) / مراحل ؛

tmpB = (B * s) / مراحل ؛

برای (int i = 0 ؛ i

pixels.setPixelColor (1 ، tmpR ، tmpG ، tmpB) ؛

pixels.setPixelColor (14 ، tmpR ، tmpG ، tmpB) ؛

}

pixels.show ()؛

تأخیر (4) ؛

}

// کم رنگ شدن

برای (int s = مراحل ؛ s> 0؛ s--) {

tmpR = (R * s) / مراحل ؛ // ابتدا برای جلوگیری از کوتاه شدن ، ضرب کنید

خطاها

tmpG = (G * s) / مراحل ؛

tmpB = (B * s) / مراحل ؛

برای (int i = 0 ؛ i

pixels.setPixelColor (0 ، tmpR ، tmpG ، tmpB) ؛

pixels.setPixelColor (15 ، tmpR ، tmpG ، tmpB) ؛

}

pixels.show ()؛

تأخیر (4) ؛

}

}

مرحله 5: همه چیز را کنار هم قرار دهید:

کنار هم گذاشتن همه چیز
کنار هم گذاشتن همه چیز

شما فقط می توانید تمام سیمهای خود را به تخته نان یا PVC متصل کنید ، این به شما بستگی دارد (من PVC را روی آردوینو قرار دادم که اینطور زیبا و مرتب است).

گام بعدی این است که لوله های کوچک کننده حرارتی را در اطراف همه سیمها قرار دهید تا کمتر بهم ریخته شود.

اگر استفاده از PVC را انتخاب کرده اید ، باید همه چیز را با هم لحیم کرده باشید.

پس از آن حلقه های نئوپیکسلی را در قسمت بیرونی عینک قرار می دهید (مطمئن شوید که لامپ ها در پشت قرار گرفته اند) و آنها را با نوار یا چسب در جای خود محکم کنید (من از نوار استفاده کردم).

شما می توانید سنسور fsr را با نوار چسب به نوار الاستیک بچسبانید یا آن را به تنهایی کنار بگذارید.

از عینک خود لذت ببرید:)

توصیه شده: