![Naočale za opuštanje - ITTT: 5 koraka (sa slikama) Naočale za opuštanje - ITTT: 5 koraka (sa slikama)](https://i.howwhatproduce.com/images/003/image-7523-62-j.webp)
Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-23 14:47
![Naočale za opuštanje - ITTT Naočale za opuštanje - ITTT](https://i.howwhatproduce.com/images/003/image-7523-63-j.webp)
![Naočale za opuštanje - ITTT Naočale za opuštanje - ITTT](https://i.howwhatproduce.com/images/003/image-7523-64-j.webp)
![Naočale za opuštanje - ITTT Naočale za opuštanje - ITTT](https://i.howwhatproduce.com/images/003/image-7523-65-j.webp)
HKU projekt - ITTT (If This Then That) - Julia Berkouwer, 1B
Jeste li se ikada osjećali pod stresom i jednostavno ne znate kako se smiriti, onda biste trebali isprobati ove naočale za opuštanje! Stavite ih i zatvorite oči, a zatim će se igrati obrazac disanja. Slijedeći ovaj obrazac disanja, vaš će se disanje prenijeti na udisanje i izdisaj 6 puta u minuti. Time se oslobađate svakodnevnog stresa.
Intenzitet disanja možete pratiti i pritiskom na prekidač, pomoću fsr-senzora.
Pomoću ovog toturiala vodit ću vas kroz izgradnju vlastitih naočala za opuštanje korak po korak.
Korak 1: Potrebni materijali i dijelovi:
![Potrebni materijali i dijelovi Potrebni materijali i dijelovi](https://i.howwhatproduce.com/images/003/image-7523-66-j.webp)
![Potrebni materijali i dijelovi Potrebni materijali i dijelovi](https://i.howwhatproduce.com/images/003/image-7523-67-j.webp)
![Potrebni materijali i dijelovi Potrebni materijali i dijelovi](https://i.howwhatproduce.com/images/003/image-7523-68-j.webp)
Materijali:
1x arduino uno;
1xbreadboard ili PCV;
3x 10k otpornici
Žice (po mogućnosti različite boje pa je lakše odrediti koje stvari idu na tlo, a koje na različite igle itd.);
Neke cijevi za skupljanje topline;
2x NeoPixel prsten - 16 x 5050 RGB LED sa integriranim upravljačkim programima;
1x prekidač;
1x FSR senzor;
1x SteamPunk naočale (Ove možete kupiti u party shopu, jednostavne su za upotrebu jer prsten od neopiksela savršeno pristaje na čaše. Uvijek pokušavate koristiti druge naočale ili stvoriti vlastite.);
1x stavite nekakvu (elastičnu) traku oko grudi.
Alati: -Laptop
-Lemilica
-Arduino IDE softver
Vidjet ćete dva gumba i prekidač na mom pvc -u, koristim samo lijevi gumb za spajanje na prekidač, ne koristim drugi gumb desno od slike. Stavio sam gumbe na pvc prije nego što sam shvatio da mi ne trebaju i da sam umjesto toga morao koristiti prekidač.
Ispod ćete vidjeti slike svega što sam koristio:
Korak 2: Neopixel prstenovi
![Prstenovi od neopiksela Prstenovi od neopiksela](https://i.howwhatproduce.com/images/003/image-7523-69-j.webp)
Bijela žica spojena je na masu na stražnjoj strani neopiksela.
Narančasta žica spojena je na 5V.
Smeđa žica spojena je na ulaz podataka
Korak 3: Veze
![Veze Veze](https://i.howwhatproduce.com/images/003/image-7523-70-j.webp)
![Veze Veze](https://i.howwhatproduce.com/images/003/image-7523-71-j.webp)
Ovako je izgledala moja ploča tijekom izrade prototipa, možete je koristiti kao referencu.
Također sam sa samo jednim gumbom napravio raspored ožičenja kako bi trebao izgledati.
Korak 4: Kôd:
To vjerojatno nije najučinkovitiji kod, ali meni radi. Izazovite sebe i pokušajte je učiniti učinkovitijom; P
#uključi
// Koji
pin na Arduinu je spojen na NeoPixels?
#definirati
PIN 6
// Koji
pin na Arduinu povezan je s gumbom
#definirati
BUTTON_PIN 9
// Kako
mnogi NeoPixeli su spojeni na Arduino?
#definirati
BROJEVI 16
// Kada
postavljamo NeoPixel knjižnicu, govorimo joj koliko piksela i koji pin koristiti za slanje signala.
// Bilješka
da ćete za starije NeoPixel trake možda trebati promijeniti treći parametar-pogledajte strandtest
//
primjer za više informacija o mogućim vrijednostima.
Adafruit_NeoPixel
pikseli = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
int stanka
= 1; // odgoda2
int
pauza2 = 80; // pada prema dolje kada se koristi fsr
int
pauza3 = 150; // dotjerivanje kada se koristi fsr
int
delayval = 4; // odgoda1
int
fsrPin = 0; // FSR i 10K padajući izbornik povezani su s a0
int
fsrReading;
poništiti
postaviti() {
pinMode (BUTTON_PIN, INPUT);
Serial.begin (9600);
pikseli.begin (); // Ovo inicijalizira
Knjižnica NeoPixel.
pikseli.show ();
}
bool
pritisnuto na gumb (int pin) {
return digitalRead (pin);
}
poništiti
loop () {// čita je li pin input istinit ili false
fsrReading = analogRead (fsrPin);
Serial.print ("Analogno čitanje =");
Serial.print (fsrReading);
if (pritisnuto dugme (BUTTON_PIN) == true) {
// svjetlosni efekt pri upotrebi fsr senzora
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);
pikseli.show ();
odgoda (pauza3);
}
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);
pikseli.show ();
odgoda (pauza2);
}
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);
pikseli.show ();
odgoda (pauza3);
}
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);
pikseli.show ();
odgoda (pauza2);
}
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);
pikseli.show ();
odgoda (pauza3);
}
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);
pikseli.show ();
kašnjenje (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);
pikseli.show ();
odgoda (pauza3);
}
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);
pikseli.show ();
kašnjenje (20);
}
}
drugo{
disati_plavo (20, 100, 0, 1, 1); // normalno
utjecaj
}
}
// Pauza
= kašnjenje između prijelaza
// Koraci
= broj koraka
// R, G, B = Potpune RGB vrijednosti
// De void dishe is voor het licht effect als de
fsrsensor niet gebruikt wordt. Deze void wordt u de void loop () weer aangeroepen.
voidreathe_blue (int pauza, int koraci, byte R, byte G, bajt B) {
int
tmpR, tmpG, tmpB; // Temp vrijednosti
// Fade up
za (int s = 1; s <= koraci; s ++) {
tmpR = (R * s) /
koraci; // Najprije se pomnožite kako biste izbjegli pogreške pri skraćivanju
tmpG = (G * s) / koraci;
tmpB = (B * s) / koraci;
za (int i = 0;
ipixels.setPixelColor (0, tmpR, tmpG+1, tmpB);
pixels.setPixelColor (15, tmpR, tmpG+1, tmpB);
}
pikseli.show ();
kašnjenje (4);
}
// Fade up
za (int s = 1; s <= koraci; s ++) {
tmpR = (R * s) /
koraci; // Najprije se pomnožite kako biste izbjegli pogreške pri skraćivanju
tmpG = (G * s) / koraci;
tmpB = (B * s) / koraci;
za (int i = 0;
ipixels.setPixelColor (1, tmpR, tmpG+1, tmpB);pixels.setPixelColor (14, tmpR, tmpG+1, tmpB);
}
pikseli.show ();
kašnjenje (4);
}
// Fade up
za (int s = 1; s <= koraci; s ++) {
tmpR = (R * s) /
koraci; // Najprije se pomnožite kako biste izbjegli pogreške pri skraćivanju
tmpG = (G * s) / koraci;
tmpB = (B * s) / koraci;
za (int i = 0;
ipixels.setPixelColor (2, tmpR, tmpG+2, tmpB);pixels.setPixelColor (13, tmpR, tmpG+2, tmpB);
}
pikseli.show ();
kašnjenje (3,5);
}
// Fade up
za (int s = 1; s <= koraci; s ++) {
tmpR = (R * s) /
koraci; // Najprije se pomnožite kako biste izbjegli pogreške pri skraćivanju
tmpG = (G * s) / koraci;
tmpB = (B * s) / koraci;
za (int i = 0;
ipixels.setPixelColor (3, tmpR, tmpG+3, tmpB+5);pixels.setPixelColor (12, tmpR, tmpG+3, tmpB+5);
}
pikseli.show ();
kašnjenje (3);
}
za (int i = 0;
ipixels.setPixelColor (0, 0, 0, 0);pixels.setPixelColor (15, 0, 0, 0);
}
// Fade up
za (int s = 1; s <= koraci; s ++) {
tmpR = (R * s) /
koraci; // Najprije se pomnožite kako biste izbjegli pogreške pri skraćivanju
tmpG = (G * s) / koraci;
tmpB = (B * s) / koraci;
za (int i = 0;
i
pixels.setPixelColor (4, tmpR, tmpG+3, tmpB+15);pixels.setPixelColor (11, tmpR, tmpG+3, tmpB+15);
}
pikseli.show ();
kašnjenje (3);
}
// Fade up
za (int s = 1; s <= koraci; s ++) {
tmpR = (R * s) /
koraci; // Najprije se pomnožite kako biste izbjegli pogreške pri skraćivanju
tmpG = (G * s) / koraci;
tmpB = (B * s) / koraci;
za (int i = 0;
ipixels.setPixelColor (5, tmpR, tmpG+4, tmpB+20);pixels.setPixelColor (10, tmpR, tmpG+4, tmpB+20);
}
pikseli.show ();
kašnjenje (2);
}
za (int i = 0;
ipixels.setPixelColor (1, 0, 0, 0);
pixels.setPixelColor (14, 0, 0, 0);
}
// Fade up
za (int s = 1; s <= koraci; s ++) {
tmpR = (R * s) /
koraci; // Najprije se pomnožite kako biste izbjegli pogreške pri skraćivanju
tmpG = (G * s) / koraci;
tmpB = (B * s) / koraci;
za (int i = 0;
ipixels.setPixelColor (6, tmpR, tmpG+2, tmpB+40);
pixels.setPixelColor (9, tmpR, tmpG+2, tmpB+40);
}
pikseli.show ();
odgoda (delayval);
}
za (int i = 0;
ipixels.setPixelColor (2, 0, 0, 0);pixels.setPixelColor (13, 0, 0, 0);
}
// Fade up
za (int s = 1; s <= koraci; s ++) {
tmpR = (R * s) /
koraci; // Najprije se pomnožite kako biste izbjegli pogreške pri skraćivanju
tmpG = (G * s) / koraci;
tmpB = (B * s) / koraci;
za (int i = 0;
i
pixels.setPixelColor (7, tmpR, tmpG, tmpB+44);pixels.setPixelColor (8, tmpR, tmpG, tmpB+44);
}
pikseli.show ();
odgoda (delayval);
}
// Smanjivanje
za (int s = koraci; s> 0; s--) {
tmpR = (R * s) / koraci; // Najprije se pomnožite kako biste izbjegli skraćivanje
pogreške
tmpG = (G * s) / koraci;
tmpB = (B * s) / koraci;
za (int i = 0; i
pixels.setPixelColor (7, tmpR, tmpG, tmpB);
pixels.setPixelColor (8, tmpR, tmpG, tmpB);
}
pikseli.show ();
odgoda (1);
}
// Smanjivanje
za (int s = koraci; s> 0; s--) {
tmpR = (R * s) / koraci; // Najprije se pomnožite kako biste izbjegli skraćivanje
pogreške
tmpG = (G * s) / koraci;
tmpB = (B * s) / koraci;
za (int i = 0; i
pixels.setPixelColor (6, tmpR, tmpG, tmpB);
pixels.setPixelColor (9, tmpR, tmpG, tmpB);
}
pikseli.show ();
odgoda (1);
}
// Smanjivanje
za (int s = koraci; s> 0; s--) {
tmpR = (R * s) / koraci; // Najprije se pomnožite kako biste izbjegli skraćivanje
pogreške
tmpG = (G * s) / koraci;
tmpB = (B * s) / koraci;
za (int i = 0; i
pixels.setPixelColor (5, tmpR, tmpG, tmpB);
pixels.setPixelColor (10, tmpR, tmpG, tmpB);
}
pikseli.show ();
kašnjenje (2);
}
// Smanjivanje
za (int s = koraci; s> 0; s--) {
tmpR = (R * s) / koraci; // Najprije se pomnožite kako biste izbjegli skraćivanje
pogreške
tmpG = (G * s) / koraci;
tmpB = (B * s) / koraci;
za (int i = 0; i
pixels.setPixelColor (4, tmpR, tmpG, tmpB);
pixels.setPixelColor (11, tmpR, tmpG, tmpB);
}
pikseli.show ();
kašnjenje (2);
}
// Smanjivanje
za (int s = koraci; s> 0; s--) {
tmpR = (R * s) / koraci; // Najprije se pomnožite kako biste izbjegli skraćivanje
pogreške
tmpG = (G * s) / koraci;
tmpB = (B * s) / koraci;
za (int i = 0; i
pixels.setPixelColor (3, tmpR, tmpG, tmpB);
pixels.setPixelColor (12, tmpR, tmpG, tmpB);
}
pikseli.show ();
kašnjenje (3);
}
// Smanjivanje
za (int s = koraci; s> 0; s--) {
tmpR = (R * s) / koraci; //
Prvo pomnožite kako biste izbjegli pogreške pri skraćivanju
tmpG = (G * s) / koraci;
tmpB = (B * s) / koraci;
za (int i = 0; i
pixels.setPixelColor (2, tmpR, tmpG, tmpB);
pixels.setPixelColor (13, tmpR, tmpG, tmpB);
}
pikseli.show ();
kašnjenje (3);
}
// Smanjivanje
za (int s = koraci; s> 0; s--) {
tmpR = (R * s) / koraci; // Najprije se pomnožite kako biste izbjegli skraćivanje
pogreške
tmpG = (G * s) / koraci;
tmpB = (B * s) / koraci;
za (int i = 0; i
pixels.setPixelColor (1, tmpR, tmpG, tmpB);
pixels.setPixelColor (14, tmpR, tmpG, tmpB);
}
pikseli.show ();
kašnjenje (4);
}
// Smanjivanje
za (int s = koraci; s> 0; s--) {
tmpR = (R * s) / koraci; // Najprije se pomnožite kako biste izbjegli skraćivanje
pogreške
tmpG = (G * s) / koraci;
tmpB = (B * s) / koraci;
za (int i = 0; i
pixels.setPixelColor (0, tmpR, tmpG, tmpB);
pixels.setPixelColor (15, tmpR, tmpG, tmpB);
}
pikseli.show ();
kašnjenje (4);
}
}
Korak 5: Sve spojite:
![Spajanje svega Spajanje svega](https://i.howwhatproduce.com/images/003/image-7523-72-j.webp)
Mogli ste jednostavno ostaviti sve svoje žice spojene na vašu matičnu ploču ili PVC, to je na vama (ja sam odlučio staviti PVC na vrh arduina, tako je lijepo i uredno).
Sljedeći korak je staviti cijevi za skupljanje topline oko svih žica tako da bude manje nereda.
Ako ste odlučili koristiti PVC, do sada ste već trebali sve zalemiti.
Nakon toga stavite neopixel prstenove na vanjsku stranu naočala (provjerite jesu li LED diode poravnate na dnu) i pričvrstite ih na mjesto nekom trakom ili ljepilom (ja sam koristila traku).
Možete odabrati da zalijepite fsr-senzor na elastičnu traku nekom vrpcom ili ga samo izostavite.
Uživajte u naočarima:)
Preporučeni:
Pametne naočale (ispod 10 USD !!!): 8 koraka (sa slikama)
![Pametne naočale (ispod 10 USD !!!): 8 koraka (sa slikama) Pametne naočale (ispod 10 USD !!!): 8 koraka (sa slikama)](https://i.howwhatproduce.com/images/001/image-1089-j.webp)
Pametne naočale (ispod 10 USD !!!): Zdravo! Svima su nam poznate pametne naočale poput one po imenu E.D.I.T.H. napravio naš voljeni lik Tony Stark koji je kasnije prenio Peteru Parkeru. Danas ću napraviti jedno takvo pametno staklo koje će koštati i ispod 10 USD! Nisu baš
Naočale za noćni vid za Google karton: 10 koraka (sa slikama)
![Naočale za noćni vid za Google karton: 10 koraka (sa slikama) Naočale za noćni vid za Google karton: 10 koraka (sa slikama)](https://i.howwhatproduce.com/images/001/image-544-41-j.webp)
Naočale za noćni vid za Google Cardboard: Odricanje od odgovornosti: Upotreba ovog uređaja namijenjena je samo zabavi, obrazovanju i znanstvenoj uporabi; nije za špijuniranje i/ili nadzor. &Quot; Špijunski gadget " značajke su dodane u aplikaciju samo radi zabave i ne bi imale praktične svrhe za
Uradi sam - RGB naočale: 3 koraka (sa slikama)
![Uradi sam - RGB naočale: 3 koraka (sa slikama) Uradi sam - RGB naočale: 3 koraka (sa slikama)](https://i.howwhatproduce.com/images/006/image-17683-j.webp)
Uradi sam | RGB naočale: Hej! Napravio sam RGB naočale koristeći LED diode WS2812B i Arduino Nano. Naočale imaju mnogo animacija kojima se može upravljati pomoću mobilne aplikacije. Aplikacija može komunicirati s arduinom putem Bluetooth modula
LED naočale i kostim: 4 koraka (sa slikama)
![LED naočale i kostim: 4 koraka (sa slikama) LED naočale i kostim: 4 koraka (sa slikama)](https://i.howwhatproduce.com/images/009/image-24172-j.webp)
LED naočale i kostim: Volite li da vas vide izdaleka u mraku? Želite li elegantne naočale poput Eltonovih? Onda je ovaj Instructable za vas !!! Naučit ćete kako napraviti LED kostim i animirane svjetlosne naočale
Gledanje pomrčine kroz naočale za čitanje (i ne pečenje očiju): 4 koraka (sa slikama)
![Gledanje pomrčine kroz naočale za čitanje (i ne pečenje očiju): 4 koraka (sa slikama) Gledanje pomrčine kroz naočale za čitanje (i ne pečenje očiju): 4 koraka (sa slikama)](https://i.howwhatproduce.com/images/004/image-10892-j.webp)
Gledati pomrčinu kroz naočale za čitanje (i ne peći mi oči): Hej, jesam li svojim naslovom ulovio tvoju znatiželju? I moj je otac, dok smo jučer šetali starim Montrom, skinuo naočale i pokazao mi kako vidjeti kako pomrčina misli svojim naočalama za čitanje. Dakle, sve što