Turinys:

Atsipalaidavimo akiniai - ITTT: 5 žingsniai (su nuotraukomis)
Atsipalaidavimo akiniai - ITTT: 5 žingsniai (su nuotraukomis)

Video: Atsipalaidavimo akiniai - ITTT: 5 žingsniai (su nuotraukomis)

Video: Atsipalaidavimo akiniai - ITTT: 5 žingsniai (su nuotraukomis)
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Liepa
Anonim
Atsipalaidavimo akiniai - ITTT
Atsipalaidavimo akiniai - ITTT
Atsipalaidavimo akiniai - ITTT
Atsipalaidavimo akiniai - ITTT
Atsipalaidavimo akiniai - ITTT
Atsipalaidavimo akiniai - ITTT

HKU projektas - ITTT (jei tai tada tai) - Julia Berkouwer, 1B

Ar kada nors jautėte stresą ir tiesiog nežinote, kaip nusiraminti, tuomet turėtumėte išbandyti šiuos atsipalaidavimo akinius! Uždėję juos ir užmerkę akis, tada kvėpuosite. Laikydamiesi šio kvėpavimo modelio, jūsų kvėpavimo ritmas kvėpuos ir iškvėps 6 kartus per minutę. Tai darydami jis pašalina kasdienį stresą.

Kvėpavimo intensyvumą taip pat galite stebėti perjungę jungiklį, naudodami fsr jutiklį.

Naudodamasis šia programa, žingsnis po žingsnio padėsiu jums sukurti savo atsipalaidavimo akinius.

1 žingsnis: Reikalingos medžiagos ir dalys:

Reikalingos medžiagos ir dalys
Reikalingos medžiagos ir dalys
Reikalingos medžiagos ir dalys
Reikalingos medžiagos ir dalys
Reikalingos medžiagos ir dalys
Reikalingos medžiagos ir dalys

Medžiagos:

1x arduino uno;

1xbreadboard arba PCV;

3x 10k rezistoriai

Laidai (pageidautina skirtingų spalvų, kad būtų lengviau pasakyti, kurie daiktai eina į žemę, o kurie - skirtingus kaiščius ir pan.);

Kai kurie termiškai susitraukiantys vamzdžiai;

2x „NeoPixel“žiedas - 16 x 5050 RGB šviesos diodas su integruotomis tvarkyklėmis;

1x jungiklis;

1x FSR jutiklis;

1x „SteamPunk“akiniai (juos galite nusipirkti vakarėlių parduotuvėje, juos lengva naudoti, nes neopikselinis žiedas puikiai tinka ant akinių. Visada bandote naudoti kitus akinius arba susikurkite savo.);

1x kažkokią (elastinę) juostą, skirtą aplink krūtinę.

Priemonės: -Laptop

-Lituoklis

-„Arduino IDE“programinė įranga

Ant mano PVC pamatysite du mygtukus ir jungiklį, aš naudoju tik kairįjį mygtuką, norėdamas jį prijungti prie jungiklio, aš nenaudoju antrojo mygtuko paveikslėlio dešinėje. Aš uždėjau mygtukus ant PVC, kol supratau, kad man jų nereikia, o vietoj to turėjau naudoti jungiklį.

Žemiau rasite nuotraukas, kuriose aš naudoju viską:

2 žingsnis: Neopikselio žiedai

Neopikseliniai žiedai
Neopikseliniai žiedai

Balta viela yra prijungta prie žemės neopikselio žiedo gale.

Oranžinė viela prijungta prie 5 V.

Ir rudas laidas yra prijungtas prie duomenų įvesties

3 žingsnis: jungtys

Sujungimai
Sujungimai
Sujungimai
Sujungimai

Štai kaip atrodė mano duonos lentelė prototipų kūrimo metu, galite tai naudoti kaip nuorodą.

Taip pat tik vienu mygtuku sukūriau laidų išdėstymą, kaip jis turėtų atrodyti.

4 žingsnis: kodas:

Tai tikriausiai nėra pats efektyviausias kodas, bet man tinka. Išbandykite save ir pabandykite tai padaryti efektyviau; P.

#įtraukti

// Kuris

„Arduino“kaištis prijungtas prie „NeoPixels“?

#apibrėžti

PIN kodas 6

// Kuris

„Arduino“kaištis yra prijungtas prie mygtuko

#apibrėžti

9 BUTTON_PIN

// Kaip

prie „Arduino“prijungta daug „NeoPixels“?

#apibrėžti

SKAIČIŲ 16

// Kada

mes nustatome „NeoPixel“biblioteką, nurodome, kiek pikselių ir kokį smeigtuką naudoti signalams siųsti.

// Pastaba

kad senesnėms „NeoPixel“juostelėms gali tekti pakeisti trečiąjį parametrą-žr

//

pavyzdys, jei norite gauti daugiau informacijos apie galimas vertes.

„Adafruit_NeoPixel“

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

per pauzę

= 1; // uždelsimas2

tarpt

pauzė2 = 80; // nusileidžia, kai naudojamas fsr

tarpt

pauzė3 = 150; // padarymas, kai naudojamas fsr

tarpt

delayval = 4; // uždelsimas1

tarpt

fsrPin = 0; // FSR ir 10K išskleidžiamasis meniu yra prijungti prie a0

tarpt

fsrReading;

tuštuma

sąranka () {

pinMode (BUTTON_PIN, INPUT);

Serial.begin (9600);

pixels.begin (); // Tai inicijuoja

„NeoPixel“biblioteka.

pixels.show ();

}

bool

nuspaustas mygtukas (int pin) {

return digitalRead (pin);

}

tuštuma

loop () {// nuskaito, ar PIN įvestis teisinga, ar klaidinga

fsrReading = analogRead (fsrPin);

Serial.print ("Analoginis skaitymas =");

Serial.print (fsrReading);

if (paspaudus mygtuką (BUTTON_PIN) == tiesa) {

// šviesos efektas naudojant fsr jutiklį

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 ();

vėlavimas (pauzė3);

}

if (fsrReading <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 ();

uždelsimas (pauzė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 ();

vėlavimas (pauzė3);

}

if (fsrReading <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 ();

uždelsimas (pauzė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 ();

vėlavimas (pauzė3);

}

if (fsrReading <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 ();

vėlavimas (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 ();

vėlavimas (pauzė3);

}

if (fsrReading <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 ();

vėlavimas (20);

}

}

Kitas{

kvėpuoti mėlyna spalva (20, 100, 0, 1, 1); // normalus

poveikis

}

}

// Pauzė

= vėlavimas tarp perėjimų

// Žingsniai

= žingsnių skaičius

R, G, B = visos RGB vertės

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

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

void breathe_blue (int pauzė, int žingsniai, baitas R, baitas G, baitas B) {

tarpt

tmpR, tmpG, tmpB; // Temp vertės

// Išnyks

už (int s = 1; s <= žingsniai; s ++) {

tmpR = (R * s) /

žingsniai; // Pirmiausia padauginkite, kad išvengtumėte sutrumpinimo klaidų

tmpG = (G * s) / žingsniai;

tmpB = (B * s) / žingsniai;

už (int i = 0;

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

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

}

pixels.show ();

uždelsimas (4);

}

// Išnyks

už (int s = 1; s <= žingsniai; s ++) {

tmpR = (R * s) /

žingsniai; // Pirmiausia padauginkite, kad išvengtumėte sutrumpinimo klaidų

tmpG = (G * s) / žingsniai;

tmpB = (B * s) / žingsniai;

už (int i = 0;

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

}

pixels.show ();

uždelsimas (4);

}

// Išnyks

už (int s = 1; s <= žingsniai; s ++) {

tmpR = (R * s) /

žingsniai; // Pirmiausia padauginkite, kad išvengtumėte sutrumpinimo klaidų

tmpG = (G * s) / žingsniai;

tmpB = (B * s) / žingsniai;

už (int i = 0;

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

}

pixels.show ();

vėlavimas (3,5);

}

// Išnyks

už (int s = 1; s <= žingsniai; s ++) {

tmpR = (R * s) /

žingsniai; // Pirmiausia padauginkite, kad išvengtumėte sutrumpinimo klaidų

tmpG = (G * s) / žingsniai;

tmpB = (B * s) / žingsniai;

už (int i = 0;

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

}

pixels.show ();

vėlavimas (3);

}

už (int i = 0;

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

}

// Išnyks

už (int s = 1; s <= žingsniai; s ++) {

tmpR = (R * s) /

žingsniai; // Pirmiausia padauginkite, kad išvengtumėte sutrumpinimo klaidų

tmpG = (G * s) / žingsniai;

tmpB = (B * s) / žingsniai;

už (int i = 0;

i

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

}

pixels.show ();

vėlavimas (3);

}

// Išnyks

už (int s = 1; s <= žingsniai; s ++) {

tmpR = (R * s) /

žingsniai; // Pirmiausia padauginkite, kad išvengtumėte sutrumpinimo klaidų

tmpG = (G * s) / žingsniai;

tmpB = (B * s) / žingsniai;

už (int i = 0;

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

}

pixels.show ();

uždelsimas (2);

}

už (int i = 0;

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

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

}

// Išnyks

už (int s = 1; s <= žingsniai; s ++) {

tmpR = (R * s) /

žingsniai; // Pirmiausia padauginkite, kad išvengtumėte sutrumpinimo klaidų

tmpG = (G * s) / žingsniai;

tmpB = (B * s) / žingsniai;

už (int i = 0;

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

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

}

pixels.show ();

vėlavimas (uždelsimas);

}

už (int i = 0;

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

}

// Išnyks

už (int s = 1; s <= žingsniai; s ++) {

tmpR = (R * s) /

žingsniai; // Pirmiausia padauginkite, kad išvengtumėte sutrumpinimo klaidų

tmpG = (G * s) / žingsniai;

tmpB = (B * s) / žingsniai;

už (int i = 0;

i

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

}

pixels.show ();

vėlavimas (uždelsimas);

}

// Išnyks

už (int s = žingsniai; s> 0; s--) {

tmpR = (R * s) / žingsniai; // Pirmiausia padauginkite, kad išvengtumėte sutrumpinimo

klaidų

tmpG = (G * s) / žingsniai;

tmpB = (B * s) / žingsniai;

už (int i = 0; i

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

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

}

pixels.show ();

uždelsimas (1);

}

// Išnyks

už (int s = žingsniai; s> 0; s--) {

tmpR = (R * s) / žingsniai; // Pirmiausia padauginkite, kad išvengtumėte sutrumpinimo

klaidų

tmpG = (G * s) / žingsniai;

tmpB = (B * s) / žingsniai;

už (int i = 0; i

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

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

}

pixels.show ();

uždelsimas (1);

}

// Išnyks

už (int s = žingsniai; s> 0; s--) {

tmpR = (R * s) / žingsniai; // Pirmiausia padauginkite, kad išvengtumėte sutrumpinimo

klaidų

tmpG = (G * s) / žingsniai;

tmpB = (B * s) / žingsniai;

už (int i = 0; i

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

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

}

pixels.show ();

uždelsimas (2);

}

// Išnyks

už (int s = žingsniai; s> 0; s--) {

tmpR = (R * s) / žingsniai; // Pirmiausia padauginkite, kad išvengtumėte sutrumpinimo

klaidų

tmpG = (G * s) / žingsniai;

tmpB = (B * s) / žingsniai;

už (int i = 0; i

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

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

}

pixels.show ();

uždelsimas (2);

}

// Išnyks

už (int s = žingsniai; s> 0; s--) {

tmpR = (R * s) / žingsniai; // Pirmiausia padauginkite, kad išvengtumėte sutrumpinimo

klaidų

tmpG = (G * s) / žingsniai;

tmpB = (B * s) / žingsniai;

už (int i = 0; i

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

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

}

pixels.show ();

vėlavimas (3);

}

// Išnyks

už (int s = žingsniai; s> 0; s--) {

tmpR = (R * s) / žingsniai; //

Pirmiausia padauginkite, kad išvengtumėte sutrumpinimo klaidų

tmpG = (G * s) / žingsniai;

tmpB = (B * s) / žingsniai;

už (int i = 0; i

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

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

}

pixels.show ();

vėlavimas (3);

}

// Išnyks

už (int s = žingsniai; s> 0; s--) {

tmpR = (R * s) / žingsniai; // Pirmiausia padauginkite, kad išvengtumėte sutrumpinimo

klaidų

tmpG = (G * s) / žingsniai;

tmpB = (B * s) / žingsniai;

už (int i = 0; i

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

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

}

pixels.show ();

uždelsimas (4);

}

// Išnyks

už (int s = žingsniai; s> 0; s--) {

tmpR = (R * s) / žingsniai; // Pirmiausia padauginkite, kad išvengtumėte sutrumpinimo

klaidų

tmpG = (G * s) / žingsniai;

tmpB = (B * s) / žingsniai;

už (int i = 0; i

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

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

}

pixels.show ();

uždelsimas (4);

}

}

5 žingsnis: viską sudėkite:

Viską sujungti
Viską sujungti

Galite tiesiog palikti visus laidus prijungtus prie savo duonos lentos arba PVC, tai priklauso nuo jūsų (aš nusprendžiau uždėti PVC ant arduino, tai gražu ir tvarkinga).

Kitas žingsnis - aplink visus laidus uždėti termiškai susitraukiančius vamzdelius, kad būtų mažiau netvarkos.

Jei pasirinkote naudoti PVC, jau turėjote viską sulituoti.

Po to neopikselių žiedus uždėkite ant akinių išorės (įsitikinkite, kad šviesos diodai yra sulygiuoti užpakalinėje dalyje) ir pritvirtinkite juos tam tikra juostele ar klijais (aš naudojau juostelę).

Galite pasirinkti priklijuoti fsr jutiklį prie elastinės juostos tam tikra juostele arba tiesiog palikti ją atskirai.

Mėgaukitės akiniais:)

Rekomenduojamas: