Përmbajtje:

Projektor i humorit (Hacked Philips Hue Light With GSR) TfCD: 7 hapa (me fotografi)
Projektor i humorit (Hacked Philips Hue Light With GSR) TfCD: 7 hapa (me fotografi)

Video: Projektor i humorit (Hacked Philips Hue Light With GSR) TfCD: 7 hapa (me fotografi)

Video: Projektor i humorit (Hacked Philips Hue Light With GSR) TfCD: 7 hapa (me fotografi)
Video: Hacking and Disassembling Philips Hue Lights 2024, Korrik
Anonim
Image
Image
Merrni Përveç Hue Light
Merrni Përveç Hue Light

Nga Laura Ahsmann & Maaike Weber

Qëllimi: Humori i ulët dhe stresi janë një pjesë e madhe e jetës moderne me ritme të shpejta. Alsoshtë gjithashtu diçka që është e padukshme për jashtë. Po sikur të ishim në gjendje të projektonim vizualisht dhe akustikisht nivelin tonë të stresit me një produkt, për të qenë në gjendje të tregojmë se si ndiheni. Do ta bënte më të lehtë komunikimin për këto probleme. Reagimi juaj gjithashtu mund të jetë më i përshtatshëm për momentin kur merrni reagime në nivelet tuaja të stresit.

GSR, ose rezistenca galvanike e lëkurës, një matje e marrë në majë të gishtave të një përdoruesi, është vërtetuar se është një parashikues vërtet i mirë i stresit. Meqenëse gjëndrat e djersës në dorë reagojnë kryesisht ndaj stresit (jo vetëm ushtrimeve fizike), nivelet e rritura të stresit gjenerojnë një përçueshmëri më të lartë. Ky variabël përdoret në këtë projekt.

Ideja: Po sikur të mund të zbulonim shpejt stresin ose humorin dhe ta përfaqësonim atë me dritë me ngjyra dhe muzikë? Një sistem GSR mund ta bëjë këtë të ndodhë. Në këtë Instructable, ne do të bëjmë një sistem të bazuar në Arduino për ta bërë këtë! E operuar nga Arduino Software dhe Softueri i Përpunimit, ai do të përkthejë vlerat e përcjellshmërisë së lëkurës në një dritë me ngjyra të caktuara dhe një lloj të caktuar muzike.

Cfare te nevojitet?

  • Arduino Uno
  • Telat
  • Drita Philips Hue (Ngjyra të gjalla)
  • Tre rezistencë 100 Ohm (për LED RGB)
  • Një rezistencë 100 KOhm (për sensorin GSR)
  • Diçka për të vepruar si sensorë të përcjellshmërisë, si petë alumini
  • Softueri Arduino
  • Softueri i përpunimit (kemi përdorur v2.2.1, ato më të reja kanë tendencë të rrëzohen)
  • SolidWorks, për të hartuar strehimin (opsionale)
  • Qasja në një mulli CNC (opsionale)
  • Shkuma e modelimit të gjelbër (EPS)
  • Tabela e bukës (opsionale, gjithashtu mund të bashkohet)

Hapi 1: Merrni Përveç Hue Light

Ky hap është i lehtë, thjesht përdorni një forcë (ose një kaçavidë) le të humbasë dhe të hapë dritën. Disa lidhje të parakohshme e mbajnë produktin së bashku, kështu që është e lehtë të ndaheni.

Tani, drita në krye mund të fiket dhe shkëputet nga pjesa tjetër e elektronikës. Do të na duhet vetëm drita dhe maja e strehimit. Ruani ose hidhni pjesën tjetër, varet nga ju!

Hapi 2: Përgatitja e harduerit

Përgatitja e harduerit
Përgatitja e harduerit
Përgatitja e harduerit
Përgatitja e harduerit
Përgatitja e harduerit
Përgatitja e harduerit
Përgatitja e harduerit
Përgatitja e harduerit

Për këtë projekt, ne përdorëm një dritë Philips Hue, për ta bërë mishërimin më të bukur dhe më të shpejtë. Sidoqoftë, mund të përdorni një LED të rregullt RGB, siç tregohet në figurë me tabelën e bukës.

Për të përdorur LED RGB, lidhni kunjat me tre porte të ndryshme PWM të Arduino (tregohet ba a). Përdorni rezistorët 100 Ohm për këtë lidhje. Lidhni kunjin më të gjatë në daljen 5V të Arduino. Për të parë se cila pin i përgjigjet cilës ngjyre, shihni imazhin e fundit të këtij hapi.

Për Hue Light, shkojnë të njëjtat hapa. LED lidhet lehtësisht me Arduino duke bashkuar telat në lojëra elektronike të përcaktuara, shihni foton e tretë në këtë hap. Slotet kanë një R, një G dhe një B, duke treguar se cili tel duhet të shkojë ku. Ai gjithashtu ka një çarë + dhe a -, për t'u lidhur me 5V të Arduino dhe tokës së Arduino, përkatësisht. Pasi të keni lidhur LED, mund ta vidhosni përsëri në strehë.

Për të lidhur sensorët GSR, të bërë nga fletë alumini (ose përdorni ato enë alumiumi me drita të kuqe, të cilat duken pak më bukur), ngjitini ose ngjitini ato në një tel dhe lidhni një me 5V. Lidheni tjetrin me rezistencën 100KOhm dhe një kondensator prej 0, 1mF (paralel), i cili më pas duhet të lidhet me tokën dhe folenë A1 në Arduino. Kjo do të japë daljen e nivelit të stresit, i cili më pas do të përdoret si input për ngjyrën e lehtë dhe muzikën. Ne i lidhëm sensorët në llambë, kështu që bëhet një produkt i mirë për tu kapur gjatë matjes së stresit tuaj. Kini kujdes megjithatë që sensorët të mos prekin!

Fotografia e fundit tregon se si mund të bëhet pa një dërrasë buke.

Hapi 3: Matja e nivelit të stresit

Matja e nivelit të stresit
Matja e nivelit të stresit

Matja e nivelit të stresit vetëm me këta sensorë të bërë në shtëpi definitivisht nuk do të japë matje të sakta se sa të stresuar jeni saktësisht. Sidoqoftë, kur kalibrohet drejtë, mund të japë një përafrim.

Për të matur nivelet e GSR, ne do të përdorim pjesën e mëposhtme të kodit, në mjedisin Arduino. Për të pasur një matje më pak të luhatshme, një mesatare merret çdo 10 lexime.

const int numraLexime = 10; leximet int [numReadings]; // hyrje nga indeksi A1 int = 0; // indeksi i leximit aktual int total = 0; // totali i përgjithshëm mesatar i gjatë i panënshkruar = 0; // mesatarja

int inputPin = A1;

void setupGSR ()

{// vendosni të gjitha leximet në 0:

për (int i = 0; i <numReadings; i ++) lexime = 0; }

afatgjatë i panënshkruar GSR () {

total = total - lexime [indeksi]; // lexoni nga leximet e sensorit GSR [indeksi] = analogRead (inputPin); // shtoni lexim të ri në totalin total = total + lexime [indeksi]; // pozicioni tjetër i indeksit të grupit = indeksi + 1;

// testimi i fundit të grupit

if (indeksi> = numReadings) // dhe filloni nga indeksi = 0;

// çfarë është mesatarja

mesatare = total / numR lexime; // dërgojeni atë në kompjuter si shifra ASCII mesatare kthyese;

}

Në një skedë tjetër (për t'i mbajtur gjërat të organizuara), ne do të bëjmë kodin për të reaguar ndaj matjeve, shihni hapin tjetër!

Hapi 4: Menaxhimi i dritave

Menaxhimi i Dritave
Menaxhimi i Dritave
Menaxhimi i Dritave
Menaxhimi i Dritave
Menaxhimi i Dritave
Menaxhimi i Dritave

Për të menaxhuar dritat, së pari duhet të kalibrojmë matjet. Kontrolloni se cili është kufiri i sipërm i matjeve tuaja duke hapur monitorin serik. Për ne matjet ishin diçka midis 150 (kur vërtet u përpoqëm të relaksoheshim) dhe 300 (kur u përpoqëm shumë të stresoheshim).

Pastaj, vendosni se çfarë ngjyre duhet të përfaqësojë çfarë niveli stresi. Ne e bëmë atë në mënyrë që:

1. Niveli i ulët i stresit: drita e bardhë, duke u shndërruar në dritë jeshile me rritjen e stresit

2. Niveli mesatar i stresit: drita jeshile, duke u shndërruar në dritë blu me rritjen e stresit

3. Niveli i lartë i stresit: drita blu, që ndryshon në të kuqe me rritjen e stresit

Kodi i mëposhtëm u përdor për të përpunuar matjet dhe për t'i kthyer ato në vlera për t'i dërguar në LED:

// MASTER #përcakto DEBUG 0

// GSR = A1

int gsrVal = 0; // Variabël për të ruajtur hyrjen nga sensorët

// Siç u përmend, përdorni kunjat e Modulimit të Gjerësisë së Pulsit (PWM)

int redPin = 9; // LED i kuq, i lidhur me pin dixhital 9 int grnPin = 9; // LED i gjelbër, i lidhur me pinin dixhital 10 int bluPin = 5; // LED blu, i lidhur me pinin dixhital 11

// Ndryshoret e programit

int redVal = 0; // Variablat për të ruajtur vlerat për t'i dërguar në kunjat int grnVal = 0; int bluVal = 0;

e panënshkruar e gjatë gsr = 0;

void setup ()

{pinMode (bluPin, OUTPUT); pinMode (grnPin, OUTPUT); pinMode (redPin, OUTPUT); pinMode (A1, INPUT);

Serial.filloj (9600);

setupGSR (); }

lak void ()

{gsrVal = gsr; nëse (gsrVal <150) // E treta më e ulët e intervalit gsr (0-149) {gsr = (gsrVal /10) * 17; // Normalizoni në 0-255 redVal = gsrVal; // off në grnVal të plotë = gsrVal; // E gjelbër nga off në bluVal të plotë = gsrVal; // Blu fikur plotësishtTingulli i vargutA = "A"; Serial.println (SoundA); // për përdorim të mëvonshëm në muzikën operative} tjetër nëse (gsrVal <250) // E treta e mesme e gamës gsr (150-249) {gsrVal = ((gsrVal-250) /10) * 17; // Normalizoni në 0-255 redVal = 1; // Red off grnVal = gsrVal; // E gjelbër nga bluVal e plotë në jashtë = 256 - gsrVal; // Blu nga off në të plotë String SoundB = "B"; Serial.println (SoundB); } else // E treta e sipërme e intervalit gsr (250-300) {gsrVal = ((gsrVal-301) /10) * 17; // Normalizoni në 0-255 redVal = gsrVal; // E kuqe nga off në grnVal të plotë = 1; // E gjelbër në bluVal të plotë = 256 - gsrVal; // Blu nga tingulli i plotë në atë jashtë StringC = "C"; Serial.println (SoundC); }

analogWrite (redPin, redVal); // Shkruani vlera në kunjat LED analogWrite (grnPin, grnVal); analogWrite (bluPin, bluVal); gsr = runGSR (); vonesa (100); }

Pra, tani LED po reagon ndaj nivelit tuaj të stresit, le të shtojmë pak muzikë për të përfaqësuar gjendjen tuaj shpirtërore, në hapin tjetër.

Hapi 5: Menaxhimi i muzikës

Menaxhimi i Muzikës
Menaxhimi i Muzikës

Ne zgjodhëm të përfaqësojmë 3 nivelet e stresit me muzikën e mëposhtme:

1. Niveli i ulët (A): kupa këndimi dhe cicërima zogjsh, një tingull shumë i lehtë

2. Niveli mesatar (B): një piano melankolike, një tingull pak më i rëndë

3. Niveli i lartë i stresit (C): Një stuhi bubullimash, një tingull i errët (edhe pse mjaft relaksues)

Kodi është shkruar në Processing, një softuer për të siguruar pjesën e reagimeve të softuerit të Arduino:

importimi i përpunimit. serial.*; import ddf.minim.*;

Minim minimal;

Lojtarë AudioPlayer ;

int lf = 10; // Linefeed në ASCII

String myString = null; Seriali myPort; // Porta serike int sensorValue = 0;

void setup () {

// Listoni të gjitha portat serike të disponueshme printArray (Serial.list ()); // Hapni portën që po përdorni me të njëjtën ritëm si Arduino myPort = seriali i ri (kjo, lista seriale () [2], 9600); myPort.clear (); // matje të qarta myString = myPort.readStringUntil (lf); myString = null; // ne e kalojmë këtë në Minim në mënyrë që të ngarkojë skedarët minimal = Minim i ri (kjo); lojtarët = AudioPlayer i ri [3]; // Ndryshoni emrin e skedarit audio këtu dhe shtojeni te lojtarët e bibliotekave [0] = minim.loadFile ("Singing-bowls-and-birds-chirping-sleep-music.mp3"); lojtarët [1] = minim.loadFile ("Melankolik-piano-muzikë.mp3"); lojtarët [2] = minim.loadFile ("Storm-sound.mp3"); }

tërheqje e pavlefshme () {

// kontrolloni nëse ka një vlerë të re ndërsa (myPort.available ()> 0) {// ruani të dhënat në myString myString = myPort.readString (); // kontrolloni nëse kemi vërtet diçka nëse (myString! = null) {myString = myString.trim (); // kontrolloni nëse ka diçka nëse (myString.length ()> 0) {println (myString); provo {sensorValue = Integer.parseInt (myString); } kap (Përjashtim e) {} nëse (myString.equals ("A")) // shikoni se në çfarë niveli stresi është duke matur {lojtarët [0].luaj (); // luaj sipas muzikës} tjetër {lojtarë [0].pushim (); // nëse nuk po mat nivelin e ulët të stresit, mos e luani këngën sipas} nëse (myString.equals ("B")) {players [1].play (); } else {lojtarët [1].pushim (); } if (myString.equals ("C")) {players [2].play (); } else {lojtarët [2].pushim (); }}}}}

Ky kod duhet të luajë muzikën sipas nivelit të stresit në altoparlantët tanë të laptopit.

Hapi 6: Hartoni mishërimin

Image
Image
Dizajnoni Mishërimin
Dizajnoni Mishërimin

Ne përdorëm pjesën e sipërme të Philips Hue Light, por cnc'n një fund greenfoam. SolidWorksfile është këtu, por gjithashtu mund të jetë kënaqësi të matni vetë llambën dhe të krijoni diçka sipas shijes tuaj!

Ne përdorëm një fotografi të pjesës së sipërme të llambës si një shtresë e poshtme në SW, për t'u siguruar që forma e pjesës së poshtme ndjek kurbën e pjesës së sipërme (shiko foton e parë).

Për ta pasur modelin cnc'd, ruajeni atë si një skedar STL dhe gjeni mullirin tuaj lokal (për shembull në uni).

Hapi 7: Burimet

Nëse dëshironi më shumë informacion mbi këtë temë, ose shihni kode më të gjera për matjen e stresit, shihni faqet e internetit dhe projektet e mëposhtme:

  • Më shumë shpjegime mbi nxitjen e audiofileve në Përpunim (të cilat ne i përdorëm)
  • Doracak i bukur për GSR
  • Qasje e lezetshme e ndryshme për projektimin e humorit
  • Detektor vërtet i lezetshëm i stresit me sensorë të shumtë (frymëzim i madh për këtë projekt)
  • Projektor me zë (në vend të stresit) me LED RGB
  • Artikull i mirë për GSR

Recommended: