![Dam olish uchun ko'zoynak - ITTT: 5 qadam (rasmlar bilan) Dam olish uchun ko'zoynak - ITTT: 5 qadam (rasmlar bilan)](https://i.howwhatproduce.com/images/003/image-7523-62-j.webp)
Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-23 15:14
![Yengillik ko'zoynaklari - ITTT Yengillik ko'zoynaklari - ITTT](https://i.howwhatproduce.com/images/003/image-7523-63-j.webp)
![Yengillik ko'zoynaklari - ITTT Yengillik ko'zoynaklari - ITTT](https://i.howwhatproduce.com/images/003/image-7523-64-j.webp)
![Yengillik ko'zoynaklari - ITTT Yengillik ko'zoynaklari - ITTT](https://i.howwhatproduce.com/images/003/image-7523-65-j.webp)
HKU loyihasi - ITTT (agar shunday bo'lsa) - Yuliya Berkuver, 1B
Hech qachon stressni boshdan kechirganmisiz va o'zingizni qanday tinchlantirishni bilmayapsizmi, demak, siz ko'zoynakni ishlatib ko'ring! Siz ularni kiyib, ko'zingizni yumasiz, keyin nafas olish sxemasi o'ynaydi. Ushbu nafas olish tartibiga rioya qilgan holda, sizning nafas ritmingiz daqiqada 6 marta nafas olish va nafas olish darajasiga tushadi. Shunday qilib, u kunlik stressdan xalos bo'ladi.
Siz fsr-sensor yordamida kalitni bosib, nafas olish intensivligini kuzatishingiz mumkin.
Ushbu toturial yordamida men sizga o'zingizni dam olish ko'zoynaklaringizni bosqichma -bosqich qurishingizni ko'rsataman.
1 -qadam: Kerakli materiallar va ehtiyot qismlar:
![Kerakli materiallar va ehtiyot qismlar Kerakli materiallar va ehtiyot qismlar](https://i.howwhatproduce.com/images/003/image-7523-66-j.webp)
![Kerakli materiallar va ehtiyot qismlar Kerakli materiallar va ehtiyot qismlar](https://i.howwhatproduce.com/images/003/image-7523-67-j.webp)
![Kerakli materiallar va ehtiyot qismlar Kerakli materiallar va ehtiyot qismlar](https://i.howwhatproduce.com/images/003/image-7523-68-j.webp)
Materiallar:
1 marta arduino bilan;
1 ta elektron jadval yoki PCV;
3x 10k rezistorlar
Simlar (Tercihen turli xil ranglar, shuning uchun qaysi narsalar erga ketayotganini, qaysi biri esa har xil pimlarga ketayotganini aniqlash osonroq bo'ladi);
Ba'zi issiqlik qisqaradigan quvurlar;
2x NeoPixel uzuk - o'rnatilgan haydovchilar bilan 16 x 5050 RGB LED;
1x kalit;
1 x FSR sensori;
1x SteamPunk ko'zoynaklari (Siz ularni ziyofat do'konida sotib olishingiz mumkin, ulardan foydalanish oson, chunki neopikselli halqa ko'zoynakka juda mos keladi. Siz har doim boshqa ko'zoynakni ishlatishga harakat qilasiz yoki o'zingiznikini yaratasiz.);
1x ko'kragingizga o'rash uchun (elastik) tasma.
Asboblar:-Laptop
-payvandlash temir
-Arduino IDE dasturi
Siz pvc -da ikkita tugmachani va kalitni ko'rasiz, men uni tugmachaga ulash uchun faqat chap tugmani ishlataman, men rasmning o'ng tomonidagi ikkinchi tugmani ishlatmayman. Men tugmachalarni pvc -ga qo'ydim, ular menga kerak emasligini va buning o'rniga kalitni ishlatishim kerakligini angladim.
Quyida men ishlatgan hamma narsaning rasmlarini ko'rasiz:
2 -qadam: Neopixel uzuklar
![Neopixel uzuklar Neopixel uzuklar](https://i.howwhatproduce.com/images/003/image-7523-69-j.webp)
Oq sim neopixel halqasining orqa tarafidagi erga ulangan.
To'q sariq sim 5V ga ulangan.
Va jigarrang sim ma'lumotlar kirishiga ulangan
3 -qadam: ulanishlar
![Ulanishlar Ulanishlar](https://i.howwhatproduce.com/images/003/image-7523-70-j.webp)
![Ulanishlar Ulanishlar](https://i.howwhatproduce.com/images/003/image-7523-71-j.webp)
Mening non taxtam prototiplashda shunday ko'rinardi, siz buni mos yozuvlar sifatida ishlatishingiz mumkin.
Men, shuningdek, bitta tugma bilan qanday bo'lishi kerak bo'lgan simlarning sxemasini tuzdim.
4 -qadam: Kod:
Bu, ehtimol, eng samarali kod emas, lekin u men uchun ishlaydi. O'zingizni sinab ko'ring va uni yanada samaraliroq qilishga harakat qiling; P.
#qo'shing
// Qaysi
Arduino -dagi pin NeoPixels -ga ulanganmi?
#aniqlang
PIN 6
// Qaysi
tugmachaga Arduino -dagi pin ulangan
#aniqlang
BUTTON_PIN 9
// Qanaqasiga
ko'p NeoPixel Arduino -ga biriktirilganmi?
#aniqlang
NUMPIXELS 16
// Qachon
Biz NeoPixel kutubxonasini o'rnatamiz, unga qancha piksel va qaysi pinni signal yuborish kerakligini aytamiz.
// Eslatma
eski NeoPixel chiziqlar uchun uchinchi parametrni o'zgartirish kerak bo'lishi mumkin-strandtestga qarang
//
mumkin bo'lgan qiymatlar haqida qo'shimcha ma'lumot olish uchun misol.
Adafruit_NeoPixel
piksel = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
pauza
= 1; // kechikish2
int
pauza2 = 80; // fsr ishlatilganda pastga tushadi
int
pauza3 = 150; // fsr ishlatilganda bajariladi
int
kechikish = 4; // kechikish1
int
fsrPin = 0; // FSR va 10K ochilish a0 ga ulangan
int
fsrReading;
bo'sh
sozlash() {
pinMod (BUTTON_PIN, INPUT);
Serial.begin (9600);
piksel.begin (); // Bu ishga tushiradi
NeoPixel kutubxonasi.
piksel.show ();
}
bool
tugma bosilgan (ichki pin) {
digitalRead (pin) ni qaytarish;
}
bo'sh
loop () {// pin kiritish to'g'ri yoki noto'g'ri ekanligini o'qiydi
fsrReading = analogRead (fsrPin);
Serial.print ("Analog o'qish =");
Serial.print (fsrReading);
agar (tugma bosilsa (BUTTON_PIN) == rost) {
// fsr sensori ishlatilganda yorug'lik effekti
agar (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 ();
kechikish (pauza 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 ();
kechikish (pauza 2);
}
agar (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 ();
kechikish (pauza 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 ();
kechikish (pauza 2);
}
agar (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 ();
kechikish (pauza 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 ();
kechikish (40);
}
agar (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 ();
kechikish (pauza 3);
}
agar (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 ();
kechikish (20);
}
}
boshqa {
nafas olish -ko'k (20, 100, 0, 1, 1); // oddiy
ta'siri
}
}
// To'xtatish
= o'tish o'rtasidagi kechikish
// Qadamlar
= qadamlar soni
// R, G, B = To'liq RGB qiymatlari
// Bo'sh nafas - bu ham ta'sir qiladi
fsrsensor niet gebruikt wordt. Deze void wordt in de void loop () weer aangeroepen.
bo'sh nafas olish ko'k (pauza, int qadam, bayt R, bayt G, bayt B) {
int
tmpR, tmpG, tmpB; // Harorat qiymatlari
// Tushing
uchun (int s = 1; s <= qadamlar; s ++) {
tmpR = (R * s) /
qadamlar; // Kesish xatolarining oldini olish uchun avval ko'paytirish
tmpG = (G * s) / qadamlar;
tmpB = (B * s) / qadamlar;
uchun (int i = 0;
ipiksel.setPixelColor (0, tmpR, tmpG+1, tmpB);
piksel.setPixelColor (15, tmpR, tmpG+1, tmpB);
}
piksel.show ();
kechikish (4);
}
// Tushing
uchun (int s = 1; s <= qadamlar; s ++) {
tmpR = (R * s) /
qadamlar; // Kesish xatolarining oldini olish uchun avval ko'paytirish
tmpG = (G * s) / qadamlar;
tmpB = (B * s) / qadamlar;
uchun (int i = 0;
ipiksel.setPixelColor (1, tmpR, tmpG+1, tmpB);piksel.setPixelColor (14, tmpR, tmpG+1, tmpB);
}
piksel.show ();
kechikish (4);
}
// Tushing
uchun (int s = 1; s <= qadamlar; s ++) {
tmpR = (R * s) /
qadamlar; // Kesish xatolarining oldini olish uchun avval ko'paytirish
tmpG = (G * s) / qadamlar;
tmpB = (B * s) / qadamlar;
uchun (int i = 0;
ipiksel.setPixelColor (2, tmpR, tmpG+2, tmpB);piksel.setPixelColor (13, tmpR, tmpG+2, tmpB);
}
piksel.show ();
kechikish (3.5);
}
// Tushing
uchun (int s = 1; s <= qadamlar; s ++) {
tmpR = (R * s) /
qadamlar; // Kesish xatolarining oldini olish uchun avval ko'paytirish
tmpG = (G * s) / qadamlar;
tmpB = (B * s) / qadamlar;
uchun (int i = 0;
ipiksel.setPixelColor (3, tmpR, tmpG+3, tmpB+5);piksel.setPixelColor (12, tmpR, tmpG+3, tmpB+5);
}
piksel.show ();
kechikish (3);
}
uchun (int i = 0;
ipiksel.setPixelColor (0, 0, 0, 0);piksel.setPixelColor (15, 0, 0, 0);
}
// Tushing
uchun (int s = 1; s <= qadamlar; s ++) {
tmpR = (R * s) /
qadamlar; // Kesish xatolarining oldini olish uchun avval ko'paytirish
tmpG = (G * s) / qadamlar;
tmpB = (B * s) / qadamlar;
uchun (int i = 0;
i
piksel.setPixelColor (4, tmpR, tmpG+3, tmpB+15);piksel.setPixelColor (11, tmpR, tmpG+3, tmpB+15);
}
piksel.show ();
kechikish (3);
}
// Tushing
uchun (int s = 1; s <= qadamlar; s ++) {
tmpR = (R * s) /
qadamlar; // Kesish xatolarining oldini olish uchun avval ko'paytirish
tmpG = (G * s) / qadamlar;
tmpB = (B * s) / qadamlar;
uchun (int i = 0;
ipiksel.setPixelColor (5, tmpR, tmpG+4, tmpB+20);piksel.setPixelColor (10, tmpR, tmpG+4, tmpB+20);
}
piksel.show ();
kechikish (2);
}
uchun (int i = 0;
ipiksel.setPixelColor (1, 0, 0, 0);
piksel.setPixelColor (14, 0, 0, 0);
}
// Tushing
uchun (int s = 1; s <= qadamlar; s ++) {
tmpR = (R * s) /
qadamlar; // Kesish xatolarining oldini olish uchun avval ko'paytirish
tmpG = (G * s) / qadamlar;
tmpB = (B * s) / qadamlar;
uchun (int i = 0;
ipiksel.setPixelColor (6, tmpR, tmpG+2, tmpB+40);
piksel.setPixelColor (9, tmpR, tmpG+2, tmpB+40);
}
piksel.show ();
kechikish (kechikish);
}
uchun (int i = 0;
ipiksel.setPixelColor (2, 0, 0, 0);piksel.setPixelColor (13, 0, 0, 0);
}
// Tushing
uchun (int s = 1; s <= qadamlar; s ++) {
tmpR = (R * s) /
qadamlar; // Kesish xatolarining oldini olish uchun avval ko'paytirish
tmpG = (G * s) / qadamlar;
tmpB = (B * s) / qadamlar;
uchun (int i = 0;
i
piksel.setPixelColor (7, tmpR, tmpG, tmpB+44);piksel.setPixelColor (8, tmpR, tmpG, tmpB+44);
}
piksel.show ();
kechikish (kechikish);
}
// Pastga tushing
uchun (int s = qadamlar; s> 0; s--) {
tmpR = (R * s) / qadamlar; // Qisqartirmaslik uchun birinchi navbatda ko'paytiring
xatolar
tmpG = (G * s) / qadamlar;
tmpB = (B * s) / qadamlar;
uchun (int i = 0; i
piksel.setPixelColor (7, tmpR, tmpG, tmpB);
piksel.setPixelColor (8, tmpR, tmpG, tmpB);
}
piksel.show ();
kechikish (1);
}
// Pastga tushing
uchun (int s = qadamlar; s> 0; s--) {
tmpR = (R * s) / qadamlar; // Qisqartirmaslik uchun birinchi navbatda ko'paytiring
xatolar
tmpG = (G * s) / qadamlar;
tmpB = (B * s) / qadamlar;
uchun (int i = 0; i
piksel.setPixelColor (6, tmpR, tmpG, tmpB);
piksel.setPixelColor (9, tmpR, tmpG, tmpB);
}
piksel.show ();
kechikish (1);
}
// Pastga tushing
uchun (int s = qadamlar; s> 0; s--) {
tmpR = (R * s) / qadamlar; // Qisqartirmaslik uchun birinchi navbatda ko'paytiring
xatolar
tmpG = (G * s) / qadamlar;
tmpB = (B * s) / qadamlar;
uchun (int i = 0; i
piksel.setPixelColor (5, tmpR, tmpG, tmpB);
piksel.setPixelColor (10, tmpR, tmpG, tmpB);
}
piksel.show ();
kechikish (2);
}
// Pastga tushing
uchun (int s = qadamlar; s> 0; s--) {
tmpR = (R * s) / qadamlar; // Qisqartirmaslik uchun birinchi navbatda ko'paytiring
xatolar
tmpG = (G * s) / qadamlar;
tmpB = (B * s) / qadamlar;
uchun (int i = 0; i
piksel.setPixelColor (4, tmpR, tmpG, tmpB);
piksel.setPixelColor (11, tmpR, tmpG, tmpB);
}
piksel.show ();
kechikish (2);
}
// Pastga tushing
uchun (int s = qadamlar; s> 0; s--) {
tmpR = (R * s) / qadamlar; // Qisqartirmaslik uchun birinchi navbatda ko'paytiring
xatolar
tmpG = (G * s) / qadamlar;
tmpB = (B * s) / qadamlar;
uchun (int i = 0; i
piksel.setPixelColor (3, tmpR, tmpG, tmpB);
piksel.setPixelColor (12, tmpR, tmpG, tmpB);
}
piksel.show ();
kechikish (3);
}
// Pastga tushing
uchun (int s = qadamlar; s> 0; s--) {
tmpR = (R * s) / qadamlar; //
Kesish xatolarini oldini olish uchun birinchi navbatda ko'paytiring
tmpG = (G * s) / qadamlar;
tmpB = (B * s) / qadamlar;
uchun (int i = 0; i
piksel.setPixelColor (2, tmpR, tmpG, tmpB);
piksel.setPixelColor (13, tmpR, tmpG, tmpB);
}
piksel.show ();
kechikish (3);
}
// Pastga tushing
uchun (int s = qadamlar; s> 0; s--) {
tmpR = (R * s) / qadamlar; // Qisqartirmaslik uchun birinchi navbatda ko'paytiring
xatolar
tmpG = (G * s) / qadamlar;
tmpB = (B * s) / qadamlar;
uchun (int i = 0; i
piksel.setPixelColor (1, tmpR, tmpG, tmpB);
piksel.setPixelColor (14, tmpR, tmpG, tmpB);
}
piksel.show ();
kechikish (4);
}
// Pastga tushing
uchun (int s = qadamlar; s> 0; s--) {
tmpR = (R * s) / qadamlar; // Qisqartirmaslik uchun birinchi navbatda ko'paytiring
xatolar
tmpG = (G * s) / qadamlar;
tmpB = (B * s) / qadamlar;
uchun (int i = 0; i
piksel.setPixelColor (0, tmpR, tmpG, tmpB);
piksel.setPixelColor (15, tmpR, tmpG, tmpB);
}
piksel.show ();
kechikish (4);
}
}
5 -qadam: Hammasini bir joyga to'plang:
![Hamma narsani birlashtirish Hamma narsani birlashtirish](https://i.howwhatproduce.com/images/003/image-7523-72-j.webp)
Siz barcha simlaringizni non paneli yoki PVX ga ulab qo'yishingiz mumkin, bu sizga bog'liq (men arduino ustiga PVX qo'yishni tanladim, bu juda chiroyli va chiroyli).
Keyingi qadam, barcha simlarning atrofiga issiqlik qisqaruvchi naychalarni qo'yishdir, shunda ular chalkashliklarga olib kelmaydi.
Agar siz PVXdan foydalanishni tanlagan bo'lsangiz, hozirgacha hamma narsani lehimlashingiz kerak edi.
Shundan so'ng, siz ko'zoynakning tashqi qismiga neopikselli halqalarni qo'yasiz (LEDlarning pastki qismida joylashganligiga ishonch hosil qiling) va ularni lenta yoki elim bilan mahkamlang (men tasma ishlatardim).
Siz fsr-sensorni elastik tasmaga yopishqoq lenta bilan yopishtirishni tanlashingiz mumkin.
Ko'zoynakdan rohatlaning:)
Tavsiya:
Google Cardboard uchun tungi ko'zoynak: 10 qadam (rasmlar bilan)
![Google Cardboard uchun tungi ko'zoynak: 10 qadam (rasmlar bilan) Google Cardboard uchun tungi ko'zoynak: 10 qadam (rasmlar bilan)](https://i.howwhatproduce.com/images/001/image-544-41-j.webp)
Google Cardboard uchun tungi ko'rish ko'zoynaklari: Ogohlantirishdan voz kechish: Ushbu qurilmadan foydalanish faqat o'yin -kulgi, ta'lim va ilmiy foydalanish uchun mo'ljallangan; josuslik va/yoki kuzatuv uchun emas. &Quot; josuslik gadjeti " xususiyatlar ilovaga shunchaki o'yin -kulgi uchun qo'shilgan va hech qanday amaliy maqsadga xizmat qilmaydi
Dam olish kunlari uchun qiziqarli loyiha, FishCam !: 4 qadam
![Dam olish kunlari uchun qiziqarli loyiha, FishCam !: 4 qadam Dam olish kunlari uchun qiziqarli loyiha, FishCam !: 4 qadam](https://i.howwhatproduce.com/images/001/image-895-35-j.webp)
Dam olish kunlari uchun qiziqarli loyiha, FishCam!: Men bir necha oy oldin dronimni qulab tushgandim va qila oladigan yagona narsa - uni ajratish. Ma'lum bo'lishicha, menda qila oladigan loyiha g'oyalari bor edi. Men hech narsaga erishmadim, lekin biz ranchoga borganimizda, menda bir fikr paydo bo'ldi. Kamerada W
Dam olish uchun 20 dollarlik quti: 5 qadam (rasmlar bilan)
![Dam olish uchun 20 dollarlik quti: 5 qadam (rasmlar bilan) Dam olish uchun 20 dollarlik quti: 5 qadam (rasmlar bilan)](https://i.howwhatproduce.com/images/001/image-241-103-j.webp)
20 dollarlik bayram cheer qutisi: Ushbu loyiha sizga tugma bosilganda tasodifiy ovoz chiqaradigan quti yasashni ko'rsatib beradi. Bunday holda, men uni dam olish kunlari ofis atrofida strategik tarzda joylashtirishim mumkin bo'lgan qutini qurishda ishlatardim. Odamlar tugmani bosganlarida, ular eshitadilar
Dürbün uchun CCD ko'zoynak: 4 qadam (rasmlar bilan)
![Dürbün uchun CCD ko'zoynak: 4 qadam (rasmlar bilan) Dürbün uchun CCD ko'zoynak: 4 qadam (rasmlar bilan)](https://i.howwhatproduce.com/images/005/image-14402-12-j.webp)
CCD dürbün uchun ko'zoynak: Siz hech qachon dürbünüzden qarab, "buni lentaga olsam edi" deb o'ylaganmisiz? Xo'sh, endi mumkin. Bu yo'riqnomada men sizga ko'p durbinga mos keladigan arzon CCD okulyarini qanday yasashni ko'rsataman. Siz uni har qanday videokamera bilan ishlatishingiz mumkin
Dam olish kartasi uchun Pre-Viz va Photoshop kompozitsiyasi: 19 qadam
![Dam olish kartasi uchun Pre-Viz va Photoshop kompozitsiyasi: 19 qadam Dam olish kartasi uchun Pre-Viz va Photoshop kompozitsiyasi: 19 qadam](https://i.howwhatproduce.com/preview/how-and-what-to-produce/10959149-pre-viz-and-photoshop-compositing-for-a-holiday-card-19-steps-j.webp)
Bayram kartasi uchun Pre-Viz va Photoshop kompozitsiyalari: Photoshop qatlamlari va qatlamli niqoblar raqamli rasmli illyustratsiyalarni yaratishni har qachongidan ham osonlashtiradi. Ammo, bu hali ham ozgina tajribani, ba'zi sinov va xatolarni, qo'llanmalar yoki darsliklar va vaqtni ko'rib chiqishni talab qiladi. Haqiqiy kalit-bu oldindan vizualizatsiya