Përmbajtje:

Syze relaksimi - ITTT: 5 hapa (me fotografi)
Syze relaksimi - ITTT: 5 hapa (me fotografi)

Video: Syze relaksimi - ITTT: 5 hapa (me fotografi)

Video: Syze relaksimi - ITTT: 5 hapa (me fotografi)
Video: Зачем мы спасли ПРИШЕЛЬЦА от ЛЮДЕЙ В ЧЕРНОМ!? ПРИШЕЛЬЦЫ В РЕАЛЬНОЙ ЖИЗНИ! 2024, Nëntor
Anonim
Syze relaksimi - ITTT
Syze relaksimi - ITTT
Syze relaksimi - ITTT
Syze relaksimi - ITTT
Syze relaksimi - ITTT
Syze relaksimi - ITTT

Projekti HKU - ITTT (If This Then That) - Julia Berkouwer, 1B

A jeni ndier ndonjëherë i stresuar dhe thjesht nuk dini si të qetësoheni, atëherë duhet të provoni këto syze relaksimi! I vendosni dhe mbyllni sytë, atëherë do të luajë një model frymëmarrjeje. Duke ndjekur këtë model frymëmarrjeje, ritmi juaj i frymëmarrjes do të zbresë në frymëmarrje dhe dalje 6 herë në minutë. Duke e bërë këtë, largoni stresin e përditshëm.

Ju gjithashtu mund të gjurmoni intensitetin tuaj të frymëmarrjes duke rrokullisur një çelës, duke përdorur një sensor fsr.

Me këtë toturial unë do t'ju udhëheq përmes ndërtimit të syzeve tuaja relaksuese hap pas hapi.

Hapi 1: Materialet dhe pjesët e nevojshme:

Materialet dhe pjesët e nevojshme
Materialet dhe pjesët e nevojshme
Materialet dhe pjesët e nevojshme
Materialet dhe pjesët e nevojshme
Materialet dhe pjesët e nevojshme
Materialet dhe pjesët e nevojshme

Materiale:

1x arduino uno;

1xbreadboard ose PCV;

3x rezistente 10k

Tela (Mundësisht ngjyra të ndryshme kështu që është më e lehtë të thuash se cilat gjëra po shkojnë në tokë dhe cilat do të shkojnë në kunja të ndryshme, etj.);

Disa tuba për tkurrjen e nxehtësisë;

2x Unaza NeoPixel - 16 x 5050 RGB LED me Drejtues të Integruar;

Kaloni 1x;

1x sensor FSR;

1x syze SteamPunk (Ju mund t'i blini ato në një dyqan festash, ato janë të lehta për t'u përdorur sepse unaza neopixel i përshtatet në mënyrë të përkryer syzeve. Ju gjithmonë përpiqeni të përdorni syze të tjera ose krijoni tuajën.);

1x një lloj brezi (elastik) për ta vendosur rreth gjoksit tuaj.

Mjetet: -Laptop

-Makine per ngjitjen e metalit

-Arduino IDE software

Do të shihni dy butona dhe një ndërprerës në pvc tim, unë përdor vetëm butonin e majtë për ta lidhur me ndërprerësin, nuk përdor butonin e dytë në të djathtë të figurës. I vura butonat në PVC para se të kuptoja se nuk më duheshin dhe më duhej të përdorja një ndërprerës në vend.

Më poshtë këtu do të shihni fotografi të gjithçkaje që kam përdorur:

Hapi 2: Unazat neopixel

Unaza Neopixel
Unaza Neopixel

Teli i bardhë është i lidhur me tokën në anën e pasme të unazës neopixel.

Teli portokalli është i lidhur me 5V.

Dhe tela kafe është e lidhur me hyrjen e të dhënave

Hapi 3: Lidhjet

Lidhjet
Lidhjet
Lidhjet
Lidhjet

Kështu duket paneli im i bukës gjatë prototipimit, mund ta përdorni si referencë.

Unë gjithashtu bëra një paraqitje të instalimeve elektrike të asaj që supozohet të duket me vetëm një buton.

Hapi 4: Kodi:

Ndoshta nuk është kodi më efikas, por funksionon për mua. Sfidoni veten dhe përpiquni ta bëni atë më efikas; P

#përfshi

// Cila

pin në Arduino është i lidhur me NeoPixels?

#përcakto

PIN 6

// Cila

pin në Arduino është i lidhur me butonin

#përcakto

BUTTON_PIN 9

// Si

shumë NeoPixel janë bashkangjitur në Arduino?

#përcakto

NUMPIXELS 16

// Kur

ne konfigurojmë bibliotekën NeoPixel, i themi sa piksele dhe cilën pin të përdorim për të dërguar sinjale.

// Shënim

se për shiritat më të vjetër NeoPixel ju mund të keni nevojë të ndryshoni parametrin e tretë-shikoni testin më të fuqishëm

//

shembull për më shumë informacion mbi vlerat e mundshme.

Adafruit_NeoPixel

piksele = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

int pauzë

= 1; // vonesa2

int

pauzë2 = 80; // zbret kur përdoret fsr

int

pauzë3 = 150; // duke bërë deri kur fsr është duke u përdorur

int

vonesë = 4; // vonesa1

int

fsrPin = 0; // FSR dhe 10K pulldown janë të lidhura me a0

int

fsrLeximi;

i pavlefshëm

setup () {

pinMode (BUTTON_PIN, INPUT);

Serial.filloj (9600);

piksele.filloj (); // Kjo inicializon

Biblioteka NeoPixel.

piksele.shfaq ();

}

bool

i shtypur me buton (int pin) {

kthehu digitalRead (pin);

}

i pavlefshëm

loop () {// lexon nëse hyrja e pin është e vërtetë apo e rreme

fsrReading = analogRead (fsrPin);

Serial.print ("Lexim analog =");

Serial.print (fsrReading);

nëse (shtypur me buton (BUTTON_PIN) == e vërtetë) {

// efekti i dritës kur përdorni sensorin fsr

nëse (fsrR leximi> 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);

piksele.shfaq ();

vonesë (pauzë 3);

}

nëse (fsrR leximi <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);

piksele.shfaq ();

vonesë (pauzë2);

}

nëse (fsrR leximi> 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);

piksele.shfaq ();

vonesë (pauzë 3);

}

nëse (fsrR leximi <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);

piksele.shfaq ();

vonesë (pauzë2);

}

nëse (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);

piksele.shfaq ();

vonesë (pauzë 3);

}

nëse (fsrLeximi <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);

piksele.shfaq ();

vonesa (40);

}

nëse (fsrR leximi> 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);

piksele.shfaq ();

vonesë (pauzë 3);

}

nëse (fsrR leximi <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);

piksele.shfaq ();

vonesa (20);

}

}

tjeter {

bluja e frymëmarrjes (20, 100, 0, 1, 1); // normale

efektit

}

}

// Pusho

= vonesë midis kalimeve

// Hapat

= numri i hapave

// R, G, B = Vlerat e plota të RGB

// Frymëmarrja e pavlefshme është e efektshme ose e pavlefshme

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

zbrazëti frymëmarrje_blu (int pauzë, hapa int, bajt R, bajt G, byte B) {

int

tmpR, tmpG, tmpB; // Vlerat e temperaturës

// Zbehet

për (int s = 1; s <= hapa; s ++) {

tmpR = (R * s) /

hapa; // Shumëzoni së pari për të shmangur gabimet e shkurtimit

tmpG = (G * s) / hapa;

tmpB = (B * s) / hapa;

për (int i = 0;

unepixels.setPixelColor (0, tmpR, tmpG+1, tmpB);

pixels.setPixelColor (15, tmpR, tmpG+1, tmpB);

}

piksele.shfaq ();

vonesa (4);

}

// Zbehet

për (int s = 1; s <= hapa; s ++) {

tmpR = (R * s) /

hapa; // Shumëzoni së pari për të shmangur gabimet e shkurtimit

tmpG = (G * s) / hapa;

tmpB = (B * s) / hapa;

për (int i = 0;

unepixels.setPixelColor (1, tmpR, tmpG+1, tmpB);pixels.setPixelColor (14, tmpR, tmpG+1, tmpB);

}

piksele.shfaq ();

vonesa (4);

}

// Zbehet

për (int s = 1; s <= hapa; s ++) {

tmpR = (R * s) /

hapa; // Shumëzoni së pari për të shmangur gabimet e shkurtimit

tmpG = (G * s) / hapa;

tmpB = (B * s) / hapa;

për (int i = 0;

unepixels.setPixelColor (2, tmpR, tmpG+2, tmpB);pixels.setPixelColor (13, tmpR, tmpG+2, tmpB);

}

piksele.shfaq ();

vonesa (3.5);

}

// Zbehet

për (int s = 1; s <= hapa; s ++) {

tmpR = (R * s) /

hapa; // Shumëzoni së pari për të shmangur gabimet e shkurtimit

tmpG = (G * s) / hapa;

tmpB = (B * s) / hapa;

për (int i = 0;

unepixels.setPixelColor (3, tmpR, tmpG+3, tmpB+5);pixels.setPixelColor (12, tmpR, tmpG+3, tmpB+5);

}

piksele.shfaq ();

vonesa (3);

}

për (int i = 0;

unepixels.setPixelColor (0, 0, 0, 0);pixels.setPixelColor (15, 0, 0, 0);

}

// Zbehet

për (int s = 1; s <= hapa; s ++) {

tmpR = (R * s) /

hapa; // Shumëzoni së pari për të shmangur gabimet e shkurtimit

tmpG = (G * s) / hapa;

tmpB = (B * s) / hapa;

për (int i = 0;

une

pixels.setPixelColor (4, tmpR, tmpG+3, tmpB+15);pixels.setPixelColor (11, tmpR, tmpG+3, tmpB+15);

}

piksele.shfaq ();

vonesa (3);

}

// Zbehet

për (int s = 1; s <= hapa; s ++) {

tmpR = (R * s) /

hapa; // Shumëzoni së pari për të shmangur gabimet e shkurtimit

tmpG = (G * s) / hapa;

tmpB = (B * s) / hapa;

për (int i = 0;

unepixels.setPixelColor (5, tmpR, tmpG+4, tmpB+20);pixels.setPixelColor (10, tmpR, tmpG+4, tmpB+20);

}

piksele.shfaq ();

vonesa (2);

}

për (int i = 0;

unepixels.setPixelColor (1, 0, 0, 0);

pixels.setPixelColor (14, 0, 0, 0);

}

// Zbehet

për (int s = 1; s <= hapa; s ++) {

tmpR = (R * s) /

hapa; // Shumëzoni së pari për të shmangur gabimet e shkurtimit

tmpG = (G * s) / hapa;

tmpB = (B * s) / hapa;

për (int i = 0;

unepixels.setPixelColor (6, tmpR, tmpG+2, tmpB+40);

pixels.setPixelColor (9, tmpR, tmpG+2, tmpB+40);

}

piksele.shfaq ();

vonesë (vonesë);

}

për (int i = 0;

unepixels.setPixelColor (2, 0, 0, 0);pixels.setPixelColor (13, 0, 0, 0);

}

// Zbehet

për (int s = 1; s <= hapa; s ++) {

tmpR = (R * s) /

hapa; // Shumëzoni së pari për të shmangur gabimet e shkurtimit

tmpG = (G * s) / hapa;

tmpB = (B * s) / hapa;

për (int i = 0;

une

pixels.setPixelColor (7, tmpR, tmpG, tmpB+44);pixels.setPixelColor (8, tmpR, tmpG, tmpB+44);

}

piksele.shfaq ();

vonesë (vonesë);

}

// Zbehet

për (int s = hapa; s> 0; s--) {

tmpR = (R * s) / hapa; // Shumëzoni së pari për të shmangur shkurtimin

gabimet

tmpG = (G * s) / hapa;

tmpB = (B * s) / hapa;

për (int i = 0; i

pixels.setPixelColor (7, tmpR, tmpG, tmpB);

pixels.setPixelColor (8, tmpR, tmpG, tmpB);

}

piksele.shfaq ();

vonesa (1);

}

// Zbehet

për (int s = hapa; s> 0; s--) {

tmpR = (R * s) / hapa; // Shumëzoni së pari për të shmangur shkurtimin

gabimet

tmpG = (G * s) / hapa;

tmpB = (B * s) / hapa;

për (int i = 0; i

pixels.setPixelColor (6, tmpR, tmpG, tmpB);

pixels.setPixelColor (9, tmpR, tmpG, tmpB);

}

piksele.shfaq ();

vonesa (1);

}

// Zbehet

për (int s = hapa; s> 0; s--) {

tmpR = (R * s) / hapa; // Shumëzoni së pari për të shmangur shkurtimin

gabimet

tmpG = (G * s) / hapa;

tmpB = (B * s) / hapa;

për (int i = 0; i

pixels.setPixelColor (5, tmpR, tmpG, tmpB);

pixels.setPixelColor (10, tmpR, tmpG, tmpB);

}

piksele.shfaq ();

vonesa (2);

}

// Zbehet

për (int s = hapa; s> 0; s--) {

tmpR = (R * s) / hapa; // Shumëzoni së pari për të shmangur shkurtimin

gabimet

tmpG = (G * s) / hapa;

tmpB = (B * s) / hapa;

për (int i = 0; i

pixels.setPixelColor (4, tmpR, tmpG, tmpB);

pixels.setPixelColor (11, tmpR, tmpG, tmpB);

}

piksele.shfaq ();

vonesa (2);

}

// Zbehet

për (int s = hapa; s> 0; s--) {

tmpR = (R * s) / hapa; // Shumëzoni së pari për të shmangur shkurtimin

gabimet

tmpG = (G * s) / hapa;

tmpB = (B * s) / hapa;

për (int i = 0; i

pixels.setPixelColor (3, tmpR, tmpG, tmpB);

pixels.setPixelColor (12, tmpR, tmpG, tmpB);

}

piksele.shfaq ();

vonesa (3);

}

// Zbehet

për (int s = hapa; s> 0; s--) {

tmpR = (R * s) / hapa; //

Shumëzoni së pari për të shmangur gabimet e shkurtimit

tmpG = (G * s) / hapa;

tmpB = (B * s) / hapa;

për (int i = 0; i

pixels.setPixelColor (2, tmpR, tmpG, tmpB);

pixels.setPixelColor (13, tmpR, tmpG, tmpB);

}

piksele.shfaq ();

vonesa (3);

}

// Zbehet

për (int s = hapa; s> 0; s--) {

tmpR = (R * s) / hapa; // Shumëzoni së pari për të shmangur shkurtimin

gabimet

tmpG = (G * s) / hapa;

tmpB = (B * s) / hapa;

për (int i = 0; i

pixels.setPixelColor (1, tmpR, tmpG, tmpB);

pixels.setPixelColor (14, tmpR, tmpG, tmpB);

}

piksele.shfaq ();

vonesa (4);

}

// Zbehet

për (int s = hapa; s> 0; s--) {

tmpR = (R * s) / hapa; // Shumëzoni së pari për të shmangur shkurtimin

gabimet

tmpG = (G * s) / hapa;

tmpB = (B * s) / hapa;

për (int i = 0; i

pixels.setPixelColor (0, tmpR, tmpG, tmpB);

pixels.setPixelColor (15, tmpR, tmpG, tmpB);

}

piksele.shfaq ();

vonesa (4);

}

}

Hapi 5: Vendosja e gjithçkaje së bashku:

Vendosja e gjithçkaje së bashku
Vendosja e gjithçkaje së bashku

Ju thjesht mund t'i lini të gjitha telat tuaja të lidhura me tabelën tuaj të bukës ose një PVC, kjo varet nga ju (unë zgjodha të vendos një PVC në krye të arduino -s është mirë dhe i zoti në atë mënyrë).

Hapi tjetër është vendosja e tubave të tkurrjes së nxehtësisë rreth të gjitha telave në mënyrë që të jetë më pak rrëmujë.

Nëse keni zgjedhur të përdorni një PVC atëherë duhet të keni bashkuar gjithçka së bashku deri tani.

Pas kësaj vendosni unazat neopixel në pjesën e jashtme të syzeve (sigurohuni që led -et të jenë të rreshtuar në pjesën e poshtme) dhe sigurojini ato në vend me ndonjë kasetë ose ngjitës (kam përdorur kasetë).

Ju mund të zgjidhni të ngjitni sensorin fsr në brezin elastik me ndonjë kasetë ose thjesht ta lini atë jashtë.

Shijoni syzet tuaja:)

Recommended: