Përmbajtje:
- Hapi 1: Merrni Përveç Hue Light
- Hapi 2: Përgatitja e harduerit
- Hapi 3: Matja e nivelit të stresit
- Hapi 4: Menaxhimi i dritave
- Hapi 5: Menaxhimi i muzikës
- Hapi 6: Hartoni mishërimin
- Hapi 7: Burimet
Video: Projektor i humorit (Hacked Philips Hue Light With GSR) TfCD: 7 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:27
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ë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 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
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
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
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:
MQTT Dritat e humorit me ESP32: 4 hapa (me fotografi)
MQTT Mood Lights With ESP32: Isha tunduar për një kohë të gjatë të hipja në bandwagon LED, kështu që unë mbarova dhe mora një shirit LED për të luajtur. Përfundova duke bërë këto drita humori. Ato mund të kontrollohen me MQTT, duke bërë të mundur shtimin e të gjitha llojeve të inteligjencave. Kjo është një
Llamba e humorit IOT: 8 hapa (me fotografi)
Llambë IOT Mood: Një llambë IoT Mood e bërë duke përdorur një Node MCU (ESP8266), LED RGB dhe një kavanoz. Ngjyrat e llambës mund të ndryshohen duke përdorur Blynk App. Unë kam zgjedhur Statujën Përkujtimore të Tony Starks të cilën e kam printuar 3D për ta vënë në këtë llambë. Ju mund të merrni ndonjë statujë të gatshme ose mund të
Ndani dhe zgjasni shiritin e dritës Philips Hue: 8 hapa (me fotografi)
Ndani dhe zgjasni Philips Hue Lightstrip: Unë kam shtuar më shumë " shtëpi të zgjuar " pajisjet e tipit në shtëpinë time, dhe një nga gjërat me të cilat kam luajtur është Philips Hue Lightstrip. Shtë një brez dritash LED që mund të kontrollohen nga një aplikacion ose nga një asistent i zgjuar si Alexa ose
Gledopto: Alternativë e lirë Philips Hue Light Strip: 3 hapa
Gledopto: Alternativë e lirë Philips Hue Light Strip: Philips Hue aktualisht është duke shitur shiritat e tyre Philips Hue Light për vetëm 71-90 dollarë për vetëm 2 metra. E gjeta këtë një çmim shumë absurd kështu që fillova të kërkoja alternativa. Unë erdha përballë një marke të quajtur Gledopto e cila bën kontrollues të shiritave LED
DIY Philips Hue Panel Light: 4 hapa (me fotografi)
DIY Philips Hue Panel Light: Kam blerë kohët e fundit disa drita Philips Hue për dhomën time të gjumit. Ata janë të mrekullueshëm! Unë mund t'i kontrolloj ato me zërin tim duke përdorur Alexa dhe gjithashtu t'i kontrolloj ato përmes telefonit tim gjithashtu. Unë u përpoqa të gjej një dritë të panelit që ndryshon ngjyrën, por siç mund të jeni në dijeni, Philips Hue nuk e kupton