Агуулгын хүснэгт:

Амрах нүдний шил - ITTT: 5 алхам (зурагтай)
Амрах нүдний шил - ITTT: 5 алхам (зурагтай)

Видео: Амрах нүдний шил - ITTT: 5 алхам (зурагтай)

Видео: Амрах нүдний шил - ITTT: 5 алхам (зурагтай)
Видео: 🎶 ДИМАШ "ОПЕРА 2". История выступления и анализ успеха | Dimash "Opera 2" 2024, Долдугаар сарын
Anonim
Тайвшруулах нүдний шил - ITTT
Тайвшруулах нүдний шил - ITTT
Тайвшруулах шил - ITTT
Тайвшруулах шил - ITTT
Тайвшруулах нүдний шил - ITTT
Тайвшруулах нүдний шил - ITTT

HKU төсөл - ITTT (Хэрэв энэ нь тэгвэл) - Жулия Беркувер, 1В

Та хэзээ нэгэн цагт стресст орж, өөрийгөө хэрхэн тайвшруулахаа мэдэхгүй байгаа бол тайвшруулах шилийг туршиж үзээрэй. Та тэдгээрийг өмсөөд нүдээ анихад амьсгалын хэв маяг тоглох болно. Энэхүү амьсгалын хэв маягийг дагаж таны амьсгалын хэмнэл минутанд 6 удаа амьсгалж, гарах болно. Үүнийг хийснээр өдөр тутмын стрессийг тайлдаг.

Та мөн fsr мэдрэгч ашиглан унтраалга дээр дарж амьсгалаа хянах боломжтой.

Энэхүү гарын авлагын тусламжтайгаар би танд амрах шилээ алхам алхамаар хийх болно.

Алхам 1: Шаардлагатай материал, эд анги:

Шаардлагатай материал, эд анги
Шаардлагатай материал, эд анги
Шаардлагатай материал, эд анги
Шаардлагатай материал, эд анги
Шаардлагатай материал, эд анги
Шаардлагатай материал, эд анги

Материал:

1 удаа arduino uno;

1х самбар эсвэл PCV;

3х 10к резистор

Утаснууд (өөр өөр өнгө байх нь зүйтэй тул аль зүйл газар руу, аль нь өөр тээглүүр рүү явж байгааг хэлэх нь илүү хялбар болно);

Дулаан багасгадаг зарим хоолой;

2x NeoPixel Ring - Нэгдсэн драйвер бүхий 16 x 5050 RGB LED;

1х унтраалга;

1x FSR мэдрэгч;

1x SteamPunk нүдний шил (Та үүнийг үдэшлэгийн дэлгүүрээс худалдаж авч болно, неопикселийн бөгж нь шилэнд бүрэн нийцдэг тул ашиглахад хялбар байдаг. Та үргэлж бусад нүдний шил ашиглахыг хичээгээрэй эсвэл өөрөө хий.);

Цээжиндээ 1x төрлийн уян харимхай тууз.

Хэрэгсэл:-Зөөврийн компьютер

-Гагнуурын төмөр

-Arduino IDE програм хангамж

Миний pvc дээр та хоёр товчлуур, унтраалгыг харах болно, би үүнийг зөвхөн зүүн товчлуур дээр холбож холбоно, би зургийн баруун талд байгаа хоёр дахь товчлуурыг ашигладаггүй. Би товчлууруудаа pvc дээр байрлуулаад надад хэрэггүй, оронд нь унтраалга ашиглах хэрэгтэй болсон.

Доор та миний ашигласан бүх зүйлийн зургийг харах болно.

Алхам 2: Neopixel Rings

Неопиксел бөгж
Неопиксел бөгж

Цагаан утас нь неопикселийн цагирагны арын хэсэгт газардсан байна.

Улбар шар өнгийн утас нь 5V -т холбогдсон байна.

Мөн хүрэн утас нь өгөгдлийн оролттой холбогдсон байна

Алхам 3: Холболтууд

Холболтууд
Холболтууд
Холболтууд
Холболтууд

Прототип хийх явцад миний талхны самбар иймэрхүү харагдаж байсан тул та үүнийг лавлагаа болгон ашиглаж болно.

Би мөн ганц товчлуураар ямар байх ёстойг нь харуулсан утаснуудын схемийг хийсэн.

Алхам 4: Код:

Энэ нь хамгийн үр дүнтэй код биш байж магадгүй ч энэ нь миний хувьд ажилладаг. Өөрийгөө сорьж, илүү үр дүнтэй болгохыг хичээ; P

#оруулах

// Аль

Arduino дээрх pin нь NeoPixels -тэй холбогдсон уу?

#тодорхойлох

ПИН 6

// Аль

Arduino дээрх зүү товчлууртай холбогдсон байна

#тодорхойлох

BUTTON_PIN 9

// Яаж

олон NeoPixel Arduino -д залгагдсан уу?

#тодорхойлох

NUMPIXELS 16

// Хэзээ

Бид NeoPixel номын санг тохируулж, хэдэн пиксел, ямар зүү ашиглан дохио илгээхийг хэлж өгдөг.

// Тэмдэглэл

Хуучин NeoPixel туузны хувьд та гуравдахь параметрийг өөрчлөх шаардлагатай болж магадгүй юм

//

боломжит үнэ цэнийн талаар нэмэлт мэдээлэл авах жишээ.

Adafruit_NeoPixel

пиксел = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

түр зогсоох

= 1; // саатал 2

int

түр зогсоох2 = 80; // fsr ашиглаж байх үед буурч байна

int

түр зогсоох3 = 150; // fsr ашиглаж байх үед хийх

int

саатал = 4; // саатал 1

int

fsrPin = 0; // FSR ба 10K уналт нь a0 -тэй холбогдсон байна

int

fsrReading;

хоосон

тохируулах() {

pinMode (BUTTON_PIN, INPUT);

Цуваа эхлэх (9600);

пиксел.begin (); // Энэ нь

NeoPixel номын сан.

пиксел.шоу ();

}

bool

товчлуур дарагдсан (int pin) {

digitalRead (pin) -ийг буцаах;

}

хоосон

loop () {// pin оролт үнэн эсвэл худал эсэхийг уншдаг

fsrReading = analogRead (fsrPin);

Serial.print ("Аналог унших =");

Цуваа.хэвлэх (fsrReading);

хэрэв (товчлуур дарагдсан (BUTTON_PIN) == үнэн) {

// fsr мэдрэгчийг ашиглах үед гэрлийн эффект

хэрэв (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);

пиксел.шоу ();

саатал (түр зогсоох 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);

пиксел.шоу ();

саатал (түр зогсоох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);

пиксел.шоу ();

саатал (түр зогсоох 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);

пиксел.шоу ();

саатал (түр зогсоох2);

}

хэрэв (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);

пиксел.шоу ();

саатал (түр зогсоох 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);

пиксел.шоу ();

саатал (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);

пиксел.шоу ();

саатал (түр зогсоох 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);

пиксел.шоу ();

саатал (20);

}

}

өөр {

амьсгалах хөх (20, 100, 0, 1, 1); // хэвийн

нөлөө

}

}

// Түр зогсоох

= шилжилтийн хоорондох саатал

// Алхам

= алхамуудын тоо

// R, G, B = Бүтэн RGB утга

// Хүчин төгөлдөр бус амьсгал гэдэг нь мөн адил юм

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

void breath_blue (завсарлага, int алхам, байт R, байт G

байт B) {

int

tmpR, tmpG, tmpB; // Температурын утга

// Буцах

for (int s = 1; s <= алхам; s ++) {

tmpR = (R * s) /

алхам; // Таслах алдаанаас зайлсхийхийн тулд эхлээд үржүүлнэ үү

tmpG = (G * s) / алхам;

tmpB = (B * s) / алхам;

for (int i = 0;

биpiksel.setPixelColor (0, tmpR, tmpG+1, tmpB);

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

}

пиксел.шоу ();

саатал (4);

}

// Буцах

for (int s = 1; s <= алхам; s ++) {

tmpR = (R * s) /

алхам; // Таслах алдаанаас зайлсхийхийн тулд эхлээд үржүүлнэ үү

tmpG = (G * s) / алхам;

tmpB = (B * s) / алхам;

for (int i = 0;

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

}

пиксел.шоу ();

саатал (4);

}

// Буцах

for (int s = 1; s <= алхам; s ++) {

tmpR = (R * s) /

алхам; // Таслах алдаанаас зайлсхийхийн тулд эхлээд үржүүлнэ үү

tmpG = (G * s) / алхам;

tmpB = (B * s) / алхам;

for (int i = 0;

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

}

пиксел.шоу ();

саатал (3.5);

}

// Буцах

for (int s = 1; s <= алхам; s ++) {

tmpR = (R * s) /

алхам; // Таслах алдаанаас зайлсхийхийн тулд эхлээд үржүүлнэ үү

tmpG = (G * s) / алхам;

tmpB = (B * s) / алхам;

for (int i = 0;

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

}

пиксел.шоу ();

саатал (3);

}

for (int i = 0;

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

}

// Буцах

for (int s = 1; s <= алхам; s ++) {

tmpR = (R * s) /

алхам; // Таслах алдаанаас зайлсхийхийн тулд эхлээд үржүүлнэ үү

tmpG = (G * s) / алхам;

tmpB = (B * s) / алхам;

for (int i = 0;

би

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

}

пиксел.шоу ();

саатал (3);

}

// Буцах

for (int s = 1; s <= алхам; s ++) {

tmpR = (R * s) /

алхам; // Таслах алдаанаас зайлсхийхийн тулд эхлээд үржүүлнэ үү

tmpG = (G * s) / алхам;

tmpB = (B * s) / алхам;

for (int i = 0;

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

}

пиксел.шоу ();

саатал (2);

}

for (int i = 0;

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

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

}

// Буцах

for (int s = 1; s <= алхам; s ++) {

tmpR = (R * s) /

алхам; // Таслах алдаанаас зайлсхийхийн тулд эхлээд үржүүлнэ үү

tmpG = (G * s) / алхам;

tmpB = (B * s) / алхам;

for (int i = 0;

биpiksel.setPixelColor (6, tmpR, tmpG+2, tmpB+40);

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

}

пиксел.шоу ();

саатал (хойшлуулах хугацаа);

}

for (int i = 0;

биpiksel.setPixelColor (2, 0, 0, 0);piksel.setPixelColor (13, 0, 0, 0);

}

// Буцах

for (int s = 1; s <= алхам; s ++) {

tmpR = (R * s) /

алхам; // Таслах алдаанаас зайлсхийхийн тулд эхлээд үржүүлнэ үү

tmpG = (G * s) / алхам;

tmpB = (B * s) / алхам;

for (int i = 0;

би

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

}

пиксел.шоу ();

саатал (хойшлуулах хугацаа);

}

// Буурах

for (int s = алхам; s> 0; s--) {

tmpR = (R * s) / алхам; // Таслахаас зайлсхийхийн тулд эхлээд үржүүлнэ үү

алдаа

tmpG = (G * s) / алхам;

tmpB = (B * s) / алхам;

for (int i = 0; i

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

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

}

пиксел.шоу ();

саатал (1);

}

// Буурах

for (int s = алхам; s> 0; s--) {

tmpR = (R * s) / алхам; // Таслахаас зайлсхийхийн тулд эхлээд үржүүлнэ үү

алдаа

tmpG = (G * s) / алхам;

tmpB = (B * s) / алхам;

for (int i = 0; i

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

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

}

пиксел.шоу ();

саатал (1);

}

// Буурах

for (int s = алхам; s> 0; s--) {

tmpR = (R * s) / алхам; // Таслахаас зайлсхийхийн тулд эхлээд үржүүлнэ үү

алдаа

tmpG = (G * s) / алхам;

tmpB = (B * s) / алхам;

for (int i = 0; i

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

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

}

пиксел.шоу ();

саатал (2);

}

// Буурах

for (int s = алхам; s> 0; s--) {

tmpR = (R * s) / алхам; // Таслахаас зайлсхийхийн тулд эхлээд үржүүлнэ үү

алдаа

tmpG = (G * s) / алхам;

tmpB = (B * s) / алхам;

for (int i = 0; i

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

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

}

пиксел.шоу ();

саатал (2);

}

// Буурах

for (int s = алхам; s> 0; s--) {

tmpR = (R * s) / алхам; // Таслахаас зайлсхийхийн тулд эхлээд үржүүлнэ үү

алдаа

tmpG = (G * s) / алхам;

tmpB = (B * s) / алхам;

for (int i = 0; i

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

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

}

пиксел.шоу ();

саатал (3);

}

// Буурах

for (int s = алхам; s> 0; s--) {

tmpR = (R * s) / алхам; //

Таслах алдаанаас зайлсхийхийн тулд эхлээд үржүүлнэ үү

tmpG = (G * s) / алхам;

tmpB = (B * s) / алхам;

for (int i = 0; i

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

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

}

пиксел.шоу ();

саатал (3);

}

// Буурах

for (int s = алхам; s> 0; s--) {

tmpR = (R * s) / алхам; // Таслахаас зайлсхийхийн тулд эхлээд үржүүлнэ үү

алдаа

tmpG = (G * s) / алхам;

tmpB = (B * s) / алхам;

for (int i = 0; i

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

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

}

пиксел.шоу ();

саатал (4);

}

// Буурах

for (int s = алхам; s> 0; s--) {

tmpR = (R * s) / алхам; // Таслахаас зайлсхийхийн тулд эхлээд үржүүлнэ үү

алдаа

tmpG = (G * s) / алхам;

tmpB = (B * s) / алхам;

for (int i = 0; i

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

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

}

пиксел.шоу ();

саатал (4);

}

}

Алхам 5: Бүгдийг нэгтгэх:

Бүгдийг нэг дор нэгтгэх
Бүгдийг нэг дор нэгтгэх

Та бүх утсаа талх эсвэл PVC -тэй холбож үлдээж болно, энэ нь танд хамаатай (би PVC -ийг arduino -ийн орой дээр тавихаар шийдсэн, энэ нь сайхан, цэвэрхэн).

Дараагийн алхам бол бүх утаснуудын эргэн тойронд дулаан багасгадаг хоолой тавих явдал юм.

Хэрэв та PVC ашиглахаар шийдсэн бол та бүх зүйлийг гагнах ёстой байсан.

Үүний дараа та неопикселийн цагиргийг нүдний шилний гадна талд байрлуулж (гэрлүүд нь доод талд нь таарч байгаа эсэхийг шалгаарай), тууз эсвэл цавуугаар бэхлээрэй (би соронзон хальс ашигласан).

Та fsr мэдрэгчийг уян харимхай туузанд наалдуулж эсвэл өөрөө үлдээж болно.

Нүдний шилээ сайхан өнгөрүүлээрэй:)

Зөвлөмж болгож буй: