Satura rādītājs:
- 1. darbība. Nepieciešamie materiāli un detaļas:
- 2. solis: Neopikselu gredzeni
- 3. darbība. Savienojumi
- 4. darbība: kods:
- 5. darbība: visu salieciet kopā:
Video: Relaksācijas brilles - ITTT: 5 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
HKU projekts - ITTT (ja šis, tad tas) - Julia Berkouwer, 1B
Vai esat kādreiz juties saspringts un vienkārši nezināt, kā sevi nomierināt, tad jums vajadzētu izmēģināt šīs relaksācijas brilles! Jūs tos uzliekat un aizverat acis, tad tiks atskaņots elpošanas modelis. Ievērojot šo elpošanas modeli, elpošanas ritms samazināsies un ieelpos 6 reizes minūtē. To darot, tas mazina ikdienas stresu.
Jūs varat arī izsekot elpošanas intensitātei, pagriežot slēdzi, izmantojot fsr sensoru.
Ar šo toturial es jums palīdzēs soli pa solim izveidot savas relaksācijas brilles.
1. darbība. Nepieciešamie materiāli un detaļas:
Materiāli:
1x arduino uno;
1xbreadboard vai PCV;
3x 10k rezistori
Vadi (vēlams dažādas krāsas, lai būtu vieglāk pateikt, kuras lietas nokrīt zemē un kuras - dažādās tapās utt.);
Dažas termiski saraušanās caurules;
2x NeoPixel gredzens - 16 x 5050 RGB LED ar integrētiem draiveriem;
1x slēdzis;
1x FSR sensors;
1x SteamPunk aizsargbrilles (Jūs varat tās iegādāties ballīšu veikalā, tās ir viegli lietojamas, jo neopikseļu gredzens lieliski iederas brillēs. Jūs vienmēr mēģināt izmantot citas aizsargbrilles vai izveidot savas.);
1x kāda veida (elastīga) lente ap krūtīm.
Instrumenti: -Laptop
-Lodāmurs
-Arduino IDE programmatūra
Manā pvc jūs redzēsit divas pogas un slēdzi, es tikai izmantoju kreiso pogu, lai to savienotu ar slēdzi, es neizmantoju otro pogu attēla labajā pusē. Es ievietoju pogas uz PVC, pirms sapratu, ka man tās nav vajadzīgas, un man vajadzēja izmantot slēdzi.
Šeit jūs redzēsit attēlus ar visu, ko es izmantoju:
2. solis: Neopikselu gredzeni
Baltais vads ir savienots ar zemi neopikselu gredzena aizmugurē.
Oranžais vads ir pievienots 5V.
Un brūnais vads ir savienots ar datu ievadi
3. darbība. Savienojumi
Prototipu izstrādes laikā izskatījās mans maizes dēlis, to varat izmantot kā atsauci.
Es arī tikai ar vienu pogu izveidoju elektroinstalācijas izkārtojumu, kā tam vajadzētu izskatīties.
4. darbība: kods:
Tas, iespējams, nav visefektīvākais kods, bet man tas darbojas. Izaiciniet sevi un mēģiniet to padarīt efektīvāku; P.
#iekļaut
// Kuru
pin uz Arduino ir savienots ar NeoPixels?
#definēt
PIN 6
// Kuru
pin uz Arduino ir savienots ar pogu
#definēt
9. BUTTON_PIN
// Kā
daudzi NeoPikseļi ir pievienoti Arduino?
#definēt
CIPLIKS 16
// Kad
mēs uzstādām NeoPixel bibliotēku, sakām, cik pikseļu un kuru tapu izmantot signālu nosūtīšanai.
// Piezīme
vecākām NeoPixel sloksnēm jums, iespējams, būs jāmaina trešais parametrs-skatiet pavedienu
//
piemērs, lai iegūtu vairāk informācijas par iespējamām vērtībām.
Adafruit_NeoPixel
pikseļi = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
pauzes laikā
= 1; // kavēšanās2
int
pauze2 = 80; // iet uz leju, kad tiek izmantots fsr
int
pauze3 = 150; // darīšana, kad tiek izmantots fsr
int
delayval = 4; // kavēšanās1
int
fsrPin = 0; // FSR un 10K nolaižamais ir savienots ar a0
int
fsrReading;
spēkā neesošs
uzstādīt() {
pinMode (BUTTON_PIN, INPUT);
Sērijas sākums (9600);
pikseļi.sākas (); // Tas inicializē
NeoPixel bibliotēka.
pikseļi.parādīt ();
}
bool
poga nospiesta (int pin) {
return digitalRead (pin);
}
spēkā neesošs
loop () {// nolasa, vai PIN ievade ir patiesa vai nepatiesa
fsrReading = analogRead (fsrPin);
Serial.print ("Analogā lasīšana =");
Serial.print (fsrReading);
ja (nospiesta poga (BUTTON_PIN) == true) {
// gaismas efekts, izmantojot fsr sensoru
ja (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);
pikseļi.parādīt ();
kavēšanās (pauze3);
}
ja (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);
pikseļi.parādīt ();
kavēšanās (pauze2);
}
ja (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);
pikseļi.parādīt ();
kavēšanās (pauze3);
}
ja (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);
pikseļi.parādīt ();
kavēšanās (pauze2);
}
ja (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);
pikseļi.parādīt ();
kavēšanās (pauze3);
}
ja (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);
pikseļi.parādīt ();
kavēšanās (40);
}
ja (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);
pikseļi.parādīt ();
kavēšanās (pauze3);
}
ja (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);
pikseļi.parādīt ();
kavēšanās (20);
}
}
cits {
elpot_zils (20, 100, 0, 1, 1); // normāli
efekts
}
}
// Pauze
= kavēšanās starp pārejām
// Soļi
= soļu skaits
R, G, B = pilnas RGB vērtības
// 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 pauze, int soļi, baits R, baits G, baits B) {
int
tmpR, tmpG, tmpB; // Temp vērtības
// Pazust
par (int s = 1; s <= soļi; s ++) {
tmpR = (R * s) /
soļi; // Vispirms reiziniet, lai izvairītos no saīsināšanas kļūdām
tmpG = (G * s) / soļi;
tmpB = (B * s) / soļi;
par (int i = 0;
ipixels.setPixelColor (0, tmpR, tmpG+1, tmpB);
pixels.setPixelColor (15, tmpR, tmpG+1, tmpB);
}
pikseļi.parādīt ();
kavēšanās (4);
}
// Pazust
par (int s = 1; s <= soļi; s ++) {
tmpR = (R * s) /
soļi; // Vispirms reiziniet, lai izvairītos no saīsināšanas kļūdām
tmpG = (G * s) / soļi;
tmpB = (B * s) / soļi;
par (int i = 0;
ipixels.setPixelColor (1, tmpR, tmpG+1, tmpB);pixels.setPixelColor (14, tmpR, tmpG+1, tmpB);
}
pikseļi.parādīt ();
kavēšanās (4);
}
// Pazust
par (int s = 1; s <= soļi; s ++) {
tmpR = (R * s) /
soļi; // Vispirms reiziniet, lai izvairītos no saīsināšanas kļūdām
tmpG = (G * s) / soļi;
tmpB = (B * s) / soļi;
par (int i = 0;
ipixels.setPixelColor (2, tmpR, tmpG+2, tmpB);pixels.setPixelColor (13, tmpR, tmpG+2, tmpB);
}
pikseļi.parādīt ();
kavēšanās (3,5);
}
// Pazust
par (int s = 1; s <= soļi; s ++) {
tmpR = (R * s) /
soļi; // Vispirms reiziniet, lai izvairītos no saīsināšanas kļūdām
tmpG = (G * s) / soļi;
tmpB = (B * s) / soļi;
par (int i = 0;
ipixels.setPixelColor (3, tmpR, tmpG+3, tmpB+5);pixels.setPixelColor (12, tmpR, tmpG+3, tmpB+5);
}
pikseļi.parādīt ();
kavēšanās (3);
}
par (int i = 0;
ipixels.setPixelColor (0, 0, 0, 0);pixels.setPixelColor (15, 0, 0, 0);
}
// Pazust
par (int s = 1; s <= soļi; s ++) {
tmpR = (R * s) /
soļi; // Vispirms reiziniet, lai izvairītos no saīsināšanas kļūdām
tmpG = (G * s) / soļi;
tmpB = (B * s) / soļi;
par (int i = 0;
i
pixels.setPixelColor (4, tmpR, tmpG+3, tmpB+15);pixels.setPixelColor (11, tmpR, tmpG+3, tmpB+15);
}
pikseļi.parādīt ();
kavēšanās (3);
}
// Pazust
par (int s = 1; s <= soļi; s ++) {
tmpR = (R * s) /
soļi; // Vispirms reiziniet, lai izvairītos no saīsināšanas kļūdām
tmpG = (G * s) / soļi;
tmpB = (B * s) / soļi;
par (int i = 0;
ipixels.setPixelColor (5, tmpR, tmpG+4, tmpB+20);pixels.setPixelColor (10, tmpR, tmpG+4, tmpB+20);
}
pikseļi.parādīt ();
kavēšanās (2);
}
par (int i = 0;
ipixels.setPixelColor (1, 0, 0, 0);
pixels.setPixelColor (14, 0, 0, 0);
}
// Pazust
par (int s = 1; s <= soļi; s ++) {
tmpR = (R * s) /
soļi; // Vispirms reiziniet, lai izvairītos no saīsināšanas kļūdām
tmpG = (G * s) / soļi;
tmpB = (B * s) / soļi;
par (int i = 0;
ipixels.setPixelColor (6, tmpR, tmpG+2, tmpB+40);
pixels.setPixelColor (9, tmpR, tmpG+2, tmpB+40);
}
pikseļi.parādīt ();
kavēšanās (kavēšanās);
}
par (int i = 0;
ipixels.setPixelColor (2, 0, 0, 0);pixels.setPixelColor (13, 0, 0, 0);
}
// Pazust
par (int s = 1; s <= soļi; s ++) {
tmpR = (R * s) /
soļi; // Vispirms reiziniet, lai izvairītos no saīsināšanas kļūdām
tmpG = (G * s) / soļi;
tmpB = (B * s) / soļi;
par (int i = 0;
i
pixels.setPixelColor (7, tmpR, tmpG, tmpB+44);pixels.setPixelColor (8, tmpR, tmpG, tmpB+44);
}
pikseļi.parādīt ();
kavēšanās (kavēšanās);
}
// Izgaist
par (int s = soļi; s> 0; s--) {
tmpR = (R * s) / soļi; // Vispirms reiziniet, lai izvairītos no saīsināšanas
kļūdas
tmpG = (G * s) / soļi;
tmpB = (B * s) / soļi;
par (int i = 0; i
pixels.setPixelColor (7, tmpR, tmpG, tmpB);
pixels.setPixelColor (8, tmpR, tmpG, tmpB);
}
pikseļi.parādīt ();
kavēšanās (1);
}
// Izgaist
par (int s = soļi; s> 0; s--) {
tmpR = (R * s) / soļi; // Vispirms reiziniet, lai izvairītos no saīsināšanas
kļūdas
tmpG = (G * s) / soļi;
tmpB = (B * s) / soļi;
par (int i = 0; i
pixels.setPixelColor (6, tmpR, tmpG, tmpB);
pixels.setPixelColor (9, tmpR, tmpG, tmpB);
}
pikseļi.parādīt ();
kavēšanās (1);
}
// Izgaist
par (int s = soļi; s> 0; s--) {
tmpR = (R * s) / soļi; // Vispirms reiziniet, lai izvairītos no saīsināšanas
kļūdas
tmpG = (G * s) / soļi;
tmpB = (B * s) / soļi;
par (int i = 0; i
pixels.setPixelColor (5, tmpR, tmpG, tmpB);
pixels.setPixelColor (10, tmpR, tmpG, tmpB);
}
pikseļi.parādīt ();
kavēšanās (2);
}
// Izgaist
par (int s = soļi; s> 0; s--) {
tmpR = (R * s) / soļi; // Vispirms reiziniet, lai izvairītos no saīsināšanas
kļūdas
tmpG = (G * s) / soļi;
tmpB = (B * s) / soļi;
par (int i = 0; i
pixels.setPixelColor (4, tmpR, tmpG, tmpB);
pixels.setPixelColor (11, tmpR, tmpG, tmpB);
}
pikseļi.parādīt ();
kavēšanās (2);
}
// Izgaist
par (int s = soļi; s> 0; s--) {
tmpR = (R * s) / soļi; // Vispirms reiziniet, lai izvairītos no saīsināšanas
kļūdas
tmpG = (G * s) / soļi;
tmpB = (B * s) / soļi;
par (int i = 0; i
pixels.setPixelColor (3, tmpR, tmpG, tmpB);
pixels.setPixelColor (12, tmpR, tmpG, tmpB);
}
pikseļi.parādīt ();
kavēšanās (3);
}
// Izgaist
par (int s = soļi; s> 0; s--) {
tmpR = (R * s) / soļi; //
Vispirms reiziniet, lai izvairītos no saīsināšanas kļūdām
tmpG = (G * s) / soļi;
tmpB = (B * s) / soļi;
par (int i = 0; i
pixels.setPixelColor (2, tmpR, tmpG, tmpB);
pixels.setPixelColor (13, tmpR, tmpG, tmpB);
}
pikseļi.parādīt ();
kavēšanās (3);
}
// Izgaist
par (int s = soļi; s> 0; s--) {
tmpR = (R * s) / soļi; // Vispirms reiziniet, lai izvairītos no saīsināšanas
kļūdas
tmpG = (G * s) / soļi;
tmpB = (B * s) / soļi;
par (int i = 0; i
pixels.setPixelColor (1, tmpR, tmpG, tmpB);
pixels.setPixelColor (14, tmpR, tmpG, tmpB);
}
pikseļi.parādīt ();
kavēšanās (4);
}
// Izgaist
par (int s = soļi; s> 0; s--) {
tmpR = (R * s) / soļi; // Vispirms reiziniet, lai izvairītos no saīsināšanas
kļūdas
tmpG = (G * s) / soļi;
tmpB = (B * s) / soļi;
par (int i = 0; i
pixels.setPixelColor (0, tmpR, tmpG, tmpB);
pixels.setPixelColor (15, tmpR, tmpG, tmpB);
}
pikseļi.parādīt ();
kavēšanās (4);
}
}
5. darbība: visu salieciet kopā:
Jūs varētu vienkārši atstāt visus vadus savienotus ar maizes dēli vai PVC, tas ir jūsu ziņā (es izvēlējos uzlikt arduino virsū PVC, tas ir jauki un glīti).
Nākamais solis ir novietot termiski saraušanās caurules ap visiem vadiem, lai nebūtu mazāk putru.
Ja izvēlējāties izmantot PVC, tad jums jau bija jābūt lodētam kopā.
Pēc tam jūs ievietojat neopikseļu gredzenus brilles ārpusē (pārliecinieties, vai gaismas diodes ir izlīdzinātas pie dibena) un nostipriniet tās ar kādu lenti vai līmi (es izmantoju lenti).
Jūs varētu izvēlēties pielīmēt fsr sensoru pie elastīgās joslas ar kādu lenti vai vienkārši atstāt to ārā.
Izbaudiet brilles:)
Ieteicams:
Viedās brilles (zem 10 USD !!!): 8 soļi (ar attēliem)
Viedās brilles (zem 10 USD !!!): Sveiki! Mēs visi esam pazīstami ar tādām viedajām brillēm kā E.D.I.T.H. veidoja mūsu mīļotais varonis Tonijs Stārks, kas vēlāk tika nodots Pēterim Pārkeram. Šodien es būvēšu vienu tik gudru stiklu, kas arī ir zem 10 USD! Viņi nav gluži
DIY - RGB brilles: 3 soļi (ar attēliem)
DIY | RGB brilles: Hei! Esmu izveidojis RGB aizsargbrilles, izmantojot WS2812B gaismas diodes un Arduino Nano. Brillēm ir daudz animāciju, kuras var kontrolēt, izmantojot mobilo lietotni. Lietotne var sazināties ar arduino, izmantojot Bluetooth moduli
LED brilles un kostīms: 4 soļi (ar attēliem)
LED brilles un kostīms: Vai jums patīk būt tumsā redzamam no tālienes? Vai vēlaties tādas izcilas brilles kā Eltonam? Tad šī instrukcija ir paredzēta jums !!! Jūs uzzināsit, kā izgatavot LED kostīmu un animētas gaismas brilles
Skatoties aptumsuma lasīšanas brilles (un nededzinot acis): 4 soļi (ar attēliem)
Skatoties Aptumsuma lasīšanas brilles (un acis nededzina): Sveiki, vai es aizķēru jūsu ziņkārību ar savu titulu? Arī mans tēvs to darīja, kad vakar staigājām vecajā Montrālē, viņš izvilka brilles un parādīja, kā redzēt, kā redzēt aptumsumu, domāja viņa lasāmbrilles. Tātad viss, kas
Šķidro kristālu brilles ambliopijai (mainīgas oklūzijas treniņu brilles) [ATtiny13]: 10 soļi (ar attēliem)
Šķidro kristālu brilles ambliopijai (mainīgas oklūzijas treniņbrilles) [ATtiny13]: Ambliopija (slinka acs), redzes traucējumi, kas skar aptuveni 3% iedzīvotāju, parasti ārstējot ar vienkāršiem acu plāksteriem vai atropīna pilieniem. Diemžēl šīs ārstēšanas metodes ilgstoši, nepārtraukti nepārtrauc spēcīgāku aci, nē