Talaan ng mga Nilalaman:

Relaxation Goggles - ITTT: 5 Hakbang (na may Mga Larawan)
Relaxation Goggles - ITTT: 5 Hakbang (na may Mga Larawan)

Video: Relaxation Goggles - ITTT: 5 Hakbang (na may Mga Larawan)

Video: Relaxation Goggles - ITTT: 5 Hakbang (na may Mga Larawan)
Video: 5 Minutes Of This Burns Belly Fat Fast 2024, Nobyembre
Anonim
Relaxation Goggles - ITTT
Relaxation Goggles - ITTT
Relaxation Goggles - ITTT
Relaxation Goggles - ITTT
Relaxation Goggles - ITTT
Relaxation Goggles - ITTT

HKU Project - ITTT (Kung Pagkatapos Ito) - Julia Berkouwer, 1B

Naranasan mo na bang ma-stress at hindi mo lang alam kung paano pakalmahin ang iyong sarili, dapat mong subukan ang mga salaming ito sa pagpapahinga! Inilagay mo ang mga ito at nakapikit, pagkatapos ay maglalaro ang isang pattern sa paghinga. Sa pamamagitan ng pagsunod sa pattern ng paghinga na ito ang iyong paghinga rythem ay bababa sa paghinga sa loob at labas ng 6 beses sa isang minuto. Ang paggawa nito ay nakakagaan ang pang-araw-araw na stress.

Maaari mo ring subaybayan ang iyong intensity ng paghinga sa pamamagitan ng pag-flip sa isang switch, gamit ang isang fsr-sensor.

Gamit ang toturial na ito ay gagabay ako sa iyo sa pamamagitan ng pagbuo ng iyong sariling mga salaming pang-relax na hakbang-hakbang.

Hakbang 1: Kailangan ng Mga Materyales at Bahagi:

Kailangan ng Mga Materyales at Bahagi
Kailangan ng Mga Materyales at Bahagi
Kailangan ng Mga Materyales at Bahagi
Kailangan ng Mga Materyales at Bahagi
Kailangan ng Mga Materyales at Bahagi
Kailangan ng Mga Materyales at Bahagi

Mga Materyales:

1x arduino uno;

1xbreadboard o PCV;

3x 10k resistors

Mga Wires (Mas mabuti ang magkakaibang mga kulay kaya mas madaling sabihin kung aling mga bagay ang pupunta sa lupa at kung alin ang pupunta sa iba't ibang mga pin, atbp.);

Ilang mga init na lumiliit na tubo;

2x NeoPixel Ring - 16 x 5050 RGB LED na may Integrated Drivers;

1x switch;

1x FSR sensor;

1x SteamPunk goggles (Maaari mong bilhin ang mga ito sa isang party shop, madali silang magamit dahil ang neopixel ring ay ganap na umaangkop sa mga baso. Palagi mong sinubukan ang paggamit ng iba pang mga salaming de kolor o lumikha ng iyong sarili.);

1x ilang uri ng isang (elastick) band upang ilagay sa paligid ng iyong dibdib.

Mga tool: -L laptop

-Panghinang

-Arduino IDE software

Makakakita ka ng dalawang mga pindutan at isang switch sa aking pvc, ang kaliwang pindutan lamang ang ginagamit ko upang ikonekta ito sa switch, hindi ko ginagamit ang pangalawang pindutan sa kanan ng larawan. Inilagay ko ang mga pindutan sa pvc bago napagtanto na hindi ko kailangan ang mga ito at kailangan kong gumamit ng isang switch sa halip.

Sa ibaba dito makikita mo ang mga larawan ng lahat ng ginamit ko:

Hakbang 2: Mga Neopixel Rings

Mga Neopixel Rings
Mga Neopixel Rings

Ang puting kawad ay konektado sa lupa sa likuran ng singsing na neopixel.

Ang orange wire ay konektado sa 5V.

At ang brown wire ay konektado sa input ng data

Hakbang 3: Mga Koneksyon

Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon

Ito ang hitsura ng aking breadboard habang nagprotipo, maaari mo itong magamit bilang isang sanggunian.

Gumawa rin ako ng isang layout ng mga kable ng kung ano ito ay dapat magmukhang sa isang pindutan lamang.

Hakbang 4: Ang Code:

Marahil ay hindi ito ang pinaka mahusay na code, ngunit gumagana ito para sa akin. Challange ang iyong sarili at subukang gawin itong mas mahusay; P

# isama

// Alin

ang pin sa Arduino ay konektado sa NeoPixels?

# tukuyin

PIN 6

// Alin

ang pin sa Arduino ay konektado sa pindutan

# tukuyin

BUTTON_PIN 9

// Paano

maraming mga NeoPixel ang nakakabit sa Arduino?

# tukuyin

NUMPIXELS 16

// Kailan

inaayos namin ang NeoPixel library, sasabihin namin sa ito kung gaano karaming mga pixel, at aling pin ang gagamitin upang magpadala ng mga signal.

// Tandaan

na para sa mas matandang NeoPixel strips maaaring kailanganin mong baguhin ang pangatlong parameter - tingnan ang strandtest

//

halimbawa para sa karagdagang impormasyon tungkol sa mga posibleng halaga.

Adafruit_NeoPixel

mga pixel = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

int pause

= 1; // pagkaantala2

int

pause2 = 80; // pagbaba kapag fsr ang ginagamit

int

pause3 = 150; // paggawa ng up kapag fsr ay ginagamit

int

pagkaantala = 4; // pagkaantala1

int

fsrPin = 0; // ang FSR at 10K pulldown ay konektado sa a0

int

fsrReading;

walang bisa

setup () {

pinMode (BUTTON_PIN, INPUT);

Serial.begin (9600);

pix.begin (); // Pinasimulan nito ang

Aklatan ng NeoPixel.

pix.show ();

}

bool

naka-button (int pin) {

ibalik ang digitalRead (pin);

}

walang bisa

loop () {// binabasa kung ang pin input ay totoo o hindi

fsrReading = analogRead (fsrPin);

Serial.print ("Analog reading =");

Serial.print (fsrReading);

kung (buttonpressed (BUTTON_PIN) == totoo) {

// light effect kapag gumagamit ng fsr sensor

kung (fsrReading> 50) {

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

pixel.setPixelColor (15, 1, 0, 1);

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

pixel.setPixelColor (14, 1, 0, 1);

pix.show ();

antala (i-pause3);

}

kung (fsrReading <52) {

pix.setPixelColor (0, 0, 0, 0);

pix.setPixelColor (15, 0, 0, 0);

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

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

pix.show ();

antala (pause2);

}

kung (fsrReading> 57) {

pixel.setPixelColor (2, 1, 0, 1);

pix.setPixelColor (13, 1, 0, 1);

pix.setPixelColor (3, 1, 0, 1);

pixel.setPixelColor (12, 1, 0, 1);

pix.show ();

antala (i-pause3);

}

kung (fsrReading <59) {

pix.setPixelColor (2, 0, 0, 0);

pix.setPixelColor (13, 0, 0, 0);

pix.setPixelColor (3, 0, 0, 0);

pix.setPixelColor (12, 0, 0, 0);

pix.show ();

antala (pause2);

}

kung (fsrReading> 65) {

pixel.setPixelColor (4, 1, 0, 1);

pixel.setPixelColor (11, 1, 0, 1);

pixel.setPixelColor (5, 1, 0, 1);

pix.setPixelColor (10, 1, 0, 1);

pix.show ();

antala (i-pause3);

}

kung (fsrReading <67) {

pix.setPixelColor (4, 0, 0, 0);

pix.setPixelColor (11, 0, 0, 0);

pix.setPixelColor (5, 0, 0, 0);

pix.setPixelColor (10, 0, 0, 0);

pix.show ();

pagkaantala (40);

}

kung (fsrReading> 79) {

pixel.setPixelColor (6, 1, 0, 1);

pixel.setPixelColor (9, 1, 0, 1);

pixel.setPixelColor (7, 1, 0, 1);

pixel.setPixelColor (8, 1, 0, 1);

pix.show ();

antala (i-pause3);

}

kung (fsrReading <85) {

pix.setPixelColor (6, 0, 0, 0);

pix.setPixelColor (9, 0, 0, 0);

pix.setPixelColor (7, 0, 0, 0);

pix.setPixelColor (8, 0, 0, 0);

pix.show ();

pagkaantala (20);

}

}

iba pa {

huminga_blue (20, 100, 0, 1, 1); // normal

epekto

}

}

// I-pause

= pagkaantala sa pagitan ng mga paglilipat

// Mga Hakbang

= bilang ng mga hakbang

// R, G, B = Mga buong halaga ng RGB

// De void respiratory is voor het licht effect als de

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

void respiratory_blue (int pause, int steps, byte R, byte G, byte B) {

int

tmpR, tmpG, tmpB; // Mga halagang temp

// Fade up

para sa (int s = 1; s <= steps; s ++) {

tmpR = (R * s) /

mga hakbang; // Multiply muna upang maiwasan ang mga error sa pagputol

tmpG = (G * s) / mga hakbang;

tmpB = (B * s) / mga hakbang;

para sa (int i = 0;

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

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

}

pix.show ();

antala (4);

}

// Fade up

para sa (int s = 1; s <= steps; s ++) {

tmpR = (R * s) /

mga hakbang; // Multiply muna upang maiwasan ang mga error sa pagputol

tmpG = (G * s) / mga hakbang;

tmpB = (B * s) / mga hakbang;

para sa (int i = 0;

akopix.setPixelColor (1, tmpR, tmpG + 1, tmpB);pixel.setPixelColor (14, tmpR, tmpG + 1, tmpB);

}

pix.show ();

antala (4);

}

// Fade up

para sa (int s = 1; s <= steps; s ++) {

tmpR = (R * s) /

mga hakbang; // Multiply muna upang maiwasan ang mga error sa pagputol

tmpG = (G * s) / mga hakbang;

tmpB = (B * s) / mga hakbang;

para sa (int i = 0;

akopixel.setPixelColor (2, tmpR, tmpG + 2, tmpB);pixel.setPixelColor (13, tmpR, tmpG + 2, tmpB);

}

pix.show ();

pagkaantala (3.5);

}

// Fade up

para sa (int s = 1; s <= steps; s ++) {

tmpR = (R * s) /

mga hakbang; // Multiply muna upang maiwasan ang mga error sa pagputol

tmpG = (G * s) / mga hakbang;

tmpB = (B * s) / mga hakbang;

para sa (int i = 0;

akopixel.setPixelColor (3, tmpR, tmpG + 3, tmpB + 5);pixel.setPixelColor (12, tmpR, tmpG + 3, tmpB + 5);

}

pix.show ();

antala (3);

}

para sa (int i = 0;

akopix.setPixelColor (0, 0, 0, 0);pix.setPixelColor (15, 0, 0, 0);

}

// Fade up

para sa (int s = 1; s <= steps; s ++) {

tmpR = (R * s) /

mga hakbang; // Multiply muna upang maiwasan ang mga error sa pagputol

tmpG = (G * s) / mga hakbang;

tmpB = (B * s) / mga hakbang;

para sa (int i = 0;

ako

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

}

pix.show ();

antala (3);

}

// Fade up

para sa (int s = 1; s <= steps; s ++) {

tmpR = (R * s) /

mga hakbang; // Multiply muna upang maiwasan ang mga error sa pagputol

tmpG = (G * s) / mga hakbang;

tmpB = (B * s) / mga hakbang;

para sa (int i = 0;

akopixel.setPixelColor (5, tmpR, tmpG + 4, tmpB + 20);pixel.setPixelColor (10, tmpR, tmpG + 4, tmpB + 20);

}

pix.show ();

antala (2);

}

para sa (int i = 0;

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

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

}

// Fade up

para sa (int s = 1; s <= steps; s ++) {

tmpR = (R * s) /

mga hakbang; // Multiply muna upang maiwasan ang mga error sa pagputol

tmpG = (G * s) / mga hakbang;

tmpB = (B * s) / mga hakbang;

para sa (int i = 0;

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

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

}

pix.show ();

pagkaantala (pagkaantala);

}

para sa (int i = 0;

akopix.setPixelColor (2, 0, 0, 0);pix.setPixelColor (13, 0, 0, 0);

}

// Fade up

para sa (int s = 1; s <= steps; s ++) {

tmpR = (R * s) /

mga hakbang; // Multiply muna upang maiwasan ang mga error sa pagputol

tmpG = (G * s) / mga hakbang;

tmpB = (B * s) / mga hakbang;

para sa (int i = 0;

ako

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

}

pix.show ();

pagkaantala (pagkaantala);

}

// Fade down

para sa (int s = steps; s> 0; s--) {

tmpR = (R * s) / mga hakbang; // Multiply muna upang maiwasan ang truncation

mga pagkakamali

tmpG = (G * s) / mga hakbang;

tmpB = (B * s) / mga hakbang;

para sa (int i = 0; i

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

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

}

pix.show ();

antala (1);

}

// Fade down

para sa (int s = steps; s> 0; s--) {

tmpR = (R * s) / mga hakbang; // Multiply muna upang maiwasan ang truncation

mga pagkakamali

tmpG = (G * s) / mga hakbang;

tmpB = (B * s) / mga hakbang;

para sa (int i = 0; i

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

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

}

pix.show ();

antala (1);

}

// Fade down

para sa (int s = steps; s> 0; s--) {

tmpR = (R * s) / mga hakbang; // Multiply muna upang maiwasan ang truncation

mga pagkakamali

tmpG = (G * s) / mga hakbang;

tmpB = (B * s) / mga hakbang;

para sa (int i = 0; i

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

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

}

pix.show ();

antala (2);

}

// Fade down

para sa (int s = steps; s> 0; s--) {

tmpR = (R * s) / mga hakbang; // Multiply muna upang maiwasan ang truncation

mga pagkakamali

tmpG = (G * s) / mga hakbang;

tmpB = (B * s) / mga hakbang;

para sa (int i = 0; i

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

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

}

pix.show ();

antala (2);

}

// Fade down

para sa (int s = steps; s> 0; s--) {

tmpR = (R * s) / mga hakbang; // Multiply muna upang maiwasan ang truncation

mga pagkakamali

tmpG = (G * s) / mga hakbang;

tmpB = (B * s) / mga hakbang;

para sa (int i = 0; i

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

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

}

pix.show ();

antala (3);

}

// Fade down

para sa (int s = steps; s> 0; s--) {

tmpR = (R * s) / mga hakbang; //

I-multiply muna upang maiwasan ang mga error sa pagputol

tmpG = (G * s) / mga hakbang;

tmpB = (B * s) / mga hakbang;

para sa (int i = 0; i

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

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

}

pix.show ();

antala (3);

}

// Fade down

para sa (int s = steps; s> 0; s--) {

tmpR = (R * s) / mga hakbang; // Multiply muna upang maiwasan ang truncation

mga pagkakamali

tmpG = (G * s) / mga hakbang;

tmpB = (B * s) / mga hakbang;

para sa (int i = 0; i

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

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

}

pix.show ();

antala (4);

}

// Fade down

para sa (int s = steps; s> 0; s--) {

tmpR = (R * s) / mga hakbang; // Multiply muna upang maiwasan ang truncation

mga pagkakamali

tmpG = (G * s) / mga hakbang;

tmpB = (B * s) / mga hakbang;

para sa (int i = 0; i

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

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

}

pix.show ();

antala (4);

}

}

Hakbang 5: Pinagsasama ang Lahat:

Pagsasama-sama ng Lahat
Pagsasama-sama ng Lahat

Iiwan mo lang ang lahat ng iyong mga wire na konektado sa iyong breadboard o isang PVC, nasa iyo (pinili kong maglagay ng isang PVC sa tuktok ng arduino na maganda at maayos sa ganoong paraan).

Ang susunod na hakbang ay maglagay ng mga tubong nagpapaliit ng init sa paligid ng lahat ng mga wire upang ito ay mas mababa sa gulo.

Kung pinili mo na gumamit ng isang PVC kung gayon dapat mong nahinang ang lahat nang magkasama sa ngayon.

Pagkatapos nito ay inilalagay mo ang mga singsing na neopixel sa labas ng mga salaming de kolor (tiyakin na ang mga leds ay nakahanay sa butil) at i-secure ang mga ito sa lugar na may ilang mga tape o pandikit (Gumamit ako ng tape).

Maaari mong piliing idikit ang fsr-sensor sa nababanat na banda na may ilang tape o iwanan lamang ito sa sarili.

Masiyahan sa iyong mga salaming de kolor:)

Inirerekumendang: