Mündəricat:

İstirahət Eynəyi - ITTT: 5 Addım (Şəkillərlə)
İstirahət Eynəyi - ITTT: 5 Addım (Şəkillərlə)

Video: İstirahət Eynəyi - ITTT: 5 Addım (Şəkillərlə)

Video: İstirahət Eynəyi - ITTT: 5 Addım (Şəkillərlə)
Video: EVİNDƏ ANAKONDA SAXLAYAN QADIN 2024, Iyul
Anonim
İstirahət Eynəkləri - ITTT
İstirahət Eynəkləri - ITTT
İstirahət Eynəkləri - ITTT
İstirahət Eynəkləri - ITTT
İstirahət Eynəyi - ITTT
İstirahət Eynəyi - ITTT

HKU Layihəsi - ITTT (Əgər bu belədirsə) - Julia Berkouwer, 1B

Heç stresli hiss etdinizmi və özünüzü necə sakitləşdirəcəyinizi bilmirsinizsə, bu istirahət gözlüklərini sınamalısınız! Onları taxıb gözlərinizi yumursunuz, sonra bir nəfəs alma modeli oynayacaq. Bu nəfəs alma qaydasına riayət etməklə nəfəs alma ritminiz dəqiqədə 6 dəfə nəfəs alacaq və çıxacaq. Gündəlik stresdən azad olun.

Bir fsr sensoru istifadə edərək açarı çevirərək nəfəs intensivliyinizi də izləyə bilərsiniz.

Bu toturial ilə addım -addım öz istirahət gözlüklərinizi hazırlamağınıza kömək edəcəyəm.

Addım 1: Lazım olan materiallar və hissələr:

Lazım olan materiallar və hissələr
Lazım olan materiallar və hissələr
Lazım olan materiallar və hissələr
Lazım olan materiallar və hissələr
Lazım olan materiallar və hissələr
Lazım olan materiallar və hissələr

Materiallar:

1 dəfə arduino uno;

1xbreadboard və ya PCV;

3x 10k rezistorlar

Tellər (Tercihen fərqli rənglər, hansı şeylərin yerə, hansının fərqli sancaqlar və s. Gedəcəyini söyləmək daha asandır);

Bəzi istilik büzücü borular;

2x NeoPixel Üzük - Entegre Sürücüləri olan 16 x 5050 RGB LED;

1x keçid;

1 x FSR sensoru;

1x SteamPunk gözlükləri (Onları bir ziyafət mağazasında satın ala bilərsiniz, istifadə etmək çox asandır, çünki neopixel üzük eynəklərə mükəmməl uyğun gəlir. Həmişə digər gözlüklərdən istifadə etməyə çalışırsınız və ya öz əllərinizlə yaradırsınız);

Sinə ətrafına taxmaq üçün bir növ elastik bant.

Alətlər:-Laptop

-Lehimleme dəmir

-Arduino IDE proqramı

Pvc -də iki düymə və bir keçid görəcəksiniz, mən onu yalnız düyməyə bağlamaq üçün sol düyməni istifadə edirəm, şəklin sağındakı ikinci düyməni istifadə etmirəm. Lazım olmadığını başa düşməzdən əvvəl düymələri pvc -yə qoydum və bunun əvəzinə bir keçid istifadə etməli oldum.

Aşağıda istifadə etdiyim hər şeyin şəkillərini görəcəksiniz:

Addım 2: Neopixel Üzüklər

Neopixel Üzüklər
Neopixel Üzüklər

Ağ tel, neopixel halqanın arxasındakı yerə bağlıdır.

Narıncı tel 5V -ə qoşulur.

Və qəhvəyi tel məlumat girişinə bağlıdır

Addım 3: Bağlantılar

Əlaqələr
Əlaqələr
Əlaqələr
Əlaqələr

Çörək taxtam prototip hazırlayarkən belə görünürdü, bundan istinad olaraq istifadə edə bilərsiniz.

Mən də yalnız bir düymə ilə necə görünməli olduğunun tellərinin sxemini hazırladım.

Addım 4: Kod:

Yəqin ki, ən səmərəli kod deyil, amma mənim üçün işləyir. Özünüzə meydan oxuyun və daha səmərəli etməyə çalışın; P.

#daxil edin

// Hansı

pin Arduino NeoPixelsə bağlıdır?

#müəyyənləşdirmək

PIN 6

// Hansı

pin Arduino düyməsinə bağlıdır

#müəyyənləşdirmək

BUTTON_PIN 9

// Necə

bir çox NeoPixel Arduino -ya bağlıdır?

#müəyyənləşdirmək

NUMPIXELS 16

// Nə vaxt

NeoPixel kitabxanasını qururuq, siqnal göndərmək üçün neçə piksel və hansı pin istifadə edəcəyimizi söyləyirik.

// Qeyd

köhnə NeoPixel zolaqları üçün üçüncü parametri dəyişdirməyiniz lazım ola bilər-strandtestə baxın

//

mümkün dəyərlər haqqında daha çox məlumat üçün nümunə.

Adafruit_NeoPixel

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

fasilə

= 1; // gecikmə2

int

fasilə2 = 80; // fsr istifadə olunanda aşağı düşür

int

fasilə3 = 150; // fsr istifadə edildikdə işləmək

int

gecikmə = 4; // gecikmə1

int

fsrPin = 0; // FSR və 10K açılan yer a0 -a bağlıdır

int

fsrReading;

boş

qurmaq() {

pinMode (BUTTON_PIN, GİRİŞ);

Serial.begin (9600);

piksel.begin (); // Bu, başlatır

NeoPixel kitabxanası.

piksel.show ();

}

bool

düyməyə basıldı (int pin) {

digitalRead (pin) qaytar;

}

boş

loop () {// pin girişinin doğru və ya yanlış olduğunu oxuyur

fsrReading = analogRead (fsrPin);

Serial.print ("Analog oxu =");

Serial.print (fsrReading);

əgər (düyməyə basılsa (BUTTON_PIN) == doğru) {

// fsr sensorundan istifadə edərkən işıq effekti

əgər (fsrReading> 50) {

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

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

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

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

piksel.show ();

gecikmə (fasilə 3);

}

if (fsrReading <52) {

piksel.setPixelColor (0, 0, 0, 0);

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

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

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

piksel.show ();

gecikmə (fasilə2);

}

if (fsrReading> 57) {

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

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

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

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

piksel.show ();

gecikmə (fasilə3);

}

if (fsrReading <59) {

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

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

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

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

piksel.show ();

gecikmə (fasilə2);

}

əgər (fsrReading> 65) {

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

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

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

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

piksel.show ();

gecikmə (fasilə 3);

}

if (fsrReading <67) {

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

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

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

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

piksel.show ();

gecikmə (40);

}

if (fsrReading> 79) {

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

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

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

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

piksel.show ();

gecikmə (fasilə3);

}

if (fsrReading <85) {

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

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

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

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

piksel.show ();

gecikmə (20);

}

}

başqa {

nəfəs_böyük (20, 100, 0, 1, 1); // normal

təsiri

}

}

// Fasilə

= keçidlər arasındakı gecikmə

// Addımlar

= addımların sayı

// R, G, B = Tam RGB dəyərləri

// De boş boş nəfəs həm də çox təsirlidir

FSRSENSOR niet gebruikt wordt. Void word in de void loop () sözünü yazın.

boş nəfəs alma mavi (fasilə, int addımlar, bayt R, bayt G, bayt B) {

int

tmpR, tmpG, tmpB; // İstilik dəyərləri

// Solğun

üçün (int s = 1; s <= addımlar; s ++) {

tmpR = (R * s) /

addımlar; // Kəsmə səhvlərinin qarşısını almaq üçün əvvəlcə vurun

tmpG = (G * s) / addımlar;

tmpB = (B * s) / addımlar;

üçün (int i = 0;

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

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

}

piksel.show ();

gecikmə (4);

}

// Solğun

üçün (int s = 1; s <= addımlar; s ++) {

tmpR = (R * s) /

addımlar; // Kəsmə səhvlərinin qarşısını almaq üçün əvvəlcə vurun

tmpG = (G * s) / addımlar;

tmpB = (B * s) / addımlar;

üçün (int i = 0;

ipiksel.setPixelColor (1, tmpR, tmpG+1, tmpB);piksel.setPixelColor (14, tmpR, tmpG+1, tmpB);

}

piksel.show ();

gecikmə (4);

}

// Solğun

üçün (int s = 1; s <= addımlar; s ++) {

tmpR = (R * s) /

addımlar; // Kəsmə səhvlərinin qarşısını almaq üçün əvvəlcə vurun

tmpG = (G * s) / addımlar;

tmpB = (B * s) / addımlar;

üçün (int i = 0;

ipiksel.setPixelColor (2, tmpR, tmpG+2, tmpB);piksel.setPixelColor (13, tmpR, tmpG+2, tmpB);

}

piksel.show ();

gecikmə (3.5);

}

// Solğun

üçün (int s = 1; s <= addımlar; s ++) {

tmpR = (R * s) /

addımlar; // Kəsmə səhvlərinin qarşısını almaq üçün əvvəlcə vurun

tmpG = (G * s) / addımlar;

tmpB = (B * s) / addımlar;

üçün (int i = 0;

ipiksel.setPixelColor (3, tmpR, tmpG+3, tmpB+5);piksel.setPixelColor (12, tmpR, tmpG+3, tmpB+5);

}

piksel.show ();

gecikmə (3);

}

üçün (int i = 0;

ipiksel.setPixelColor (0, 0, 0, 0);piksel.setPixelColor (15, 0, 0, 0);

}

// Solğun

üçün (int s = 1; s <= addımlar; s ++) {

tmpR = (R * s) /

addımlar; // Kəsmə səhvlərinin qarşısını almaq üçün əvvəlcə vurun

tmpG = (G * s) / addımlar;

tmpB = (B * s) / addımlar;

üçün (int i = 0;

i

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

}

piksel.show ();

gecikmə (3);

}

// Solğun

üçün (int s = 1; s <= addımlar; s ++) {

tmpR = (R * s) /

addımlar; // Kəsmə səhvlərinin qarşısını almaq üçün əvvəlcə vurun

tmpG = (G * s) / addımlar;

tmpB = (B * s) / addımlar;

üçün (int i = 0;

ipiksel.setPixelColor (5, tmpR, tmpG+4, tmpB+20);piksel.setPixelColor (10, tmpR, tmpG+4, tmpB+20);

}

piksel.show ();

gecikmə (2);

}

üçün (int i = 0;

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

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

}

// Solğun

üçün (int s = 1; s <= addımlar; s ++) {

tmpR = (R * s) /

addımlar; // Kəsmə səhvlərinin qarşısını almaq üçün əvvəlcə vurun

tmpG = (G * s) / addımlar;

tmpB = (B * s) / addımlar;

üçün (int i = 0;

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

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

}

piksel.show ();

gecikmə (gecikmə);

}

üçün (int i = 0;

ipiksel.setPixelColor (2, 0, 0, 0);piksel.setPixelColor (13, 0, 0, 0);

}

// Solğun

üçün (int s = 1; s <= addımlar; s ++) {

tmpR = (R * s) /

addımlar; // Kəsmə səhvlərinin qarşısını almaq üçün əvvəlcə vurun

tmpG = (G * s) / addımlar;

tmpB = (B * s) / addımlar;

üçün (int i = 0;

i

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

}

piksel.show ();

gecikmə (gecikmə);

}

// Yıxıl

üçün (int s = addımlar; s> 0; s--) {

tmpR = (R * s) / addımlar; // Kəsilməmək üçün əvvəlcə çoxaldın

səhvlər

tmpG = (G * s) / addımlar;

tmpB = (B * s) / addımlar;

üçün (int i = 0; i

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

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

}

piksel.show ();

gecikmə (1);

}

// Yıxıl

üçün (int s = addımlar; s> 0; s--) {

tmpR = (R * s) / addımlar; // Kəsilməmək üçün əvvəlcə çoxaldın

səhvlər

tmpG = (G * s) / addımlar;

tmpB = (B * s) / addımlar;

üçün (int i = 0; i

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

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

}

piksel.show ();

gecikmə (1);

}

// Yıxıl

üçün (int s = addımlar; s> 0; s--) {

tmpR = (R * s) / addımlar; // Kəsilməmək üçün əvvəlcə çoxaldın

səhvlər

tmpG = (G * s) / addımlar;

tmpB = (B * s) / addımlar;

üçün (int i = 0; i

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

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

}

piksel.show ();

gecikmə (2);

}

// Yıxıl

üçün (int s = addımlar; s> 0; s--) {

tmpR = (R * s) / addımlar; // Kəsilməmək üçün əvvəlcə çoxaldın

səhvlər

tmpG = (G * s) / addımlar;

tmpB = (B * s) / addımlar;

üçün (int i = 0; i

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

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

}

piksel.show ();

gecikmə (2);

}

// Yıxıl

üçün (int s = addımlar; s> 0; s--) {

tmpR = (R * s) / addımlar; // Kəsilməmək üçün əvvəlcə çoxaldın

səhvlər

tmpG = (G * s) / addımlar;

tmpB = (B * s) / addımlar;

üçün (int i = 0; i

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

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

}

piksel.show ();

gecikmə (3);

}

// Yıxıl

üçün (int s = addımlar; s> 0; s--) {

tmpR = (R * s) / addımlar; //

Kəsmə səhvlərinin qarşısını almaq üçün əvvəlcə vurun

tmpG = (G * s) / addımlar;

tmpB = (B * s) / addımlar;

üçün (int i = 0; i

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

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

}

piksel.show ();

gecikmə (3);

}

// Yıxıl

üçün (int s = addımlar; s> 0; s--) {

tmpR = (R * s) / addımlar; // Kəsilməmək üçün əvvəlcə çoxaldın

səhvlər

tmpG = (G * s) / addımlar;

tmpB = (B * s) / addımlar;

üçün (int i = 0; i

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

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

}

piksel.show ();

gecikmə (4);

}

// Yıxıl

üçün (int s = addımlar; s> 0; s--) {

tmpR = (R * s) / addımlar; // Kəsilməmək üçün əvvəlcə çoxaldın

səhvlər

tmpG = (G * s) / addımlar;

tmpB = (B * s) / addımlar;

üçün (int i = 0; i

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

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

}

piksel.show ();

gecikmə (4);

}

}

Addım 5: Hər şeyi bir yerə qoyun:

Hər şeyi bir araya gətirmək
Hər şeyi bir araya gətirmək

Bütün tellərinizi çörək taxtanıza və ya bir PVC -yə bağlaya bilərsiniz, bu sizə bağlıdır (arduinonun üstünə bir PVC qoymağı seçdim, belə gözəl və səliqəlidir).

Növbəti addım, bütün tellərin ətrafına istilik büzücü borular qoymaqdır ki, daha az qarışıqlıq olsun.

Bir PVC istifadə etməyi seçmisinizsə, indiyə qədər hər şeyi birlikdə lehimləməlisiniz.

Bundan sonra, neopixel üzükləri gözlüklərin kənarına qoyun (LED -lərin aşağıya doğru hizalandığından əmin olun) və bir az lent və ya yapışqan ilə bərkidin (lent istifadə etdim).

Fsr-sensorunu elastik bantla bir az lentlə yapışdırmağı və ya öz başına buraxmağı seçə bilərsiniz.

Gözlüklərinizdən zövq alın:)

Tövsiyə: