Përmbajtje:

Drita interaktive pa prekje: 7 hapa (me fotografi)
Drita interaktive pa prekje: 7 hapa (me fotografi)

Video: Drita interaktive pa prekje: 7 hapa (me fotografi)

Video: Drita interaktive pa prekje: 7 hapa (me fotografi)
Video: НОЧЬ В ДЕРЕВНЕ МЕРТВЫХ NIGHT IN THE VILLAGE OF THE DEAD WHAT IS IT SCP Существует? 2024, Nëntor
Anonim
Dritë interaktive pa prekje
Dritë interaktive pa prekje

Pershendetje te gjitheve! Unë do të doja të ndaj projektin ku kam punuar këtu. U frymëzova për të eksperimentuar me prekjen kapacitive përmes një projekti në universitetin tim. Kam mësuar për këtë teknologji përmes udhëzimeve dhe kam përdorur gjërat që kam mësuar këtu dhe nga vende të tjera në internet për të ndërtuar kontrolluesin tim pa prekje, të cilin e përdor për të përzier vlera të ndryshme RGB për të krijuar ngjyra interesante të dritës.

Për të filluar, kur fillova këtë projekt, nuk dija asgjë për elektronikën dhe as për ndjeshmërinë e prekjes me kapacitet.

Disa probleme me të cilat kam hasur herët janë shkaktuar nga keqkuptimi i asaj që ndodh në të vërtetë. Pra, një hyrje e shkurtër nga mënyra se si e kuptoj:

Një sensor kapacitiv përdor përbërës të shumtë, kryesisht:

Një kondensator (në këtë projekt ne përdorim fletë alumini, por është gjithashtu e mundur të përdorim lëngje përçuese etj), telat (natyrisht, elektronika e tij)

dhe një rezistencë, çdo gjë nën 10 MOhm është një rezistencë shumë e vogël për më shumë sesa prekje direkte.

mënyra se si funksionon është duke matur një ndryshim në kohë midis pikës A dhe pikës B. Nga kunja e fillimit dërgon një sinjal në një fund të fundit, koha që duhet matet me një kohëmatës. Duke zvogëluar vlerën e rezistencës (duke lëvizur një kondensator (në këtë rast dorën tuaj) më afër kondensatorit të sensorit (fleta e aluminit) këtë herë shkurtohet, ndryshimi në kohë është ajo që sensori e kthen si vlerë.

Për shkak të ndikimit të sensorit nga sipërfaqet kapacitive, të dhënat mund të jenë jashtëzakonisht të çrregullta për shkak të ndërhyrjes. Kjo mund të zgjidhet në një pjesë të madhe duke izoluar saktë kondensatorin dhe gjithashtu duke përdorur një tokë (do të tregoj se si më vonë).

Pra, tani që është jashtë rrugës ne mund të fillojmë të inventarizojmë të gjitha gjërat që na duhen:

Hapi 1: Çfarë na nevojitet?

Elektronikë:

1. 2 rezistente 2 x 22M Ohm + (sa më e madhe të jetë vlera e rezistencës sa më larg të reagojë sensori juaj, unë personalisht kam përdorur 22M Ohm, minimumi për të marrë të dhëna të përdorshme që kam përjetuar ishte 10M Ohm)

2. Rezistenca 3x 330 Ohm

3. Telat

4. Tabela e bukës

5. Bordi i qarkut (imi kishte shirita bakri Continouos)

6. Shumë katodë të zakonshëm RGB Leds (kam përdorur 8, por ju mund të keni pak a shumë varet nga sa dritë dëshironi)

7. Petë alumini

8. Mbështjellës i kapur

9. Arduino Uno

10. Shirit

Rasti:

1. Druri Kam përdorur 50 x 50 x 1.8 CM MDF (mund të përdorni gjithçka vërtet. Varet nga efekti që dëshironi dhe mjetet që keni në dispozicion)

2. Plexiglas akrilik kam përdorur 50 x 50 x 0.3 CM (ose ndonjë material tjetër transparent/të tejdukshëm si letra orizi)

3. Letër zmerile (letër zmerile e mirë)

4. Ngjitës druri

5. rimeso (opsionale)

6. Ngjitës akrilik

Mjetet:

Zhveshës me tela

Hekur bashkues + kallaj

Thikë Stanley

stërvitje

Saw (kam përdorur një sharrë tavoline)

Hapi 2: Prototipizimi:

Prototipizimi
Prototipizimi
Prototipizimi
Prototipizimi

Tani kemi gjithçka dhe mund të fillojmë të bëjmë një prototip për të parë se si funksionon:

Puna përgatitore:

Pritini 4 drejtkëndësha nga fleta e aluminit (të miat janë rreth 10 cm me 5 cm), mbështilleni ato në mbështjellës kapës për t'i izoluar nga prekja e drejtpërdrejtë dhe ngjitni një tel në fletën e aluminit. Unë vetëm ngjita një fund të zhveshur në fletë metalike (për sa kohë që ata qëndrojnë në kontakt).

Për t'u siguruar që alumini është i izoluar në mënyrë të sigurt, unë u mbështolla me mbështjellës dhe e hekurosa atë midis letrave (vetëm për disa sekonda në mënyrë që të mos shkrihet plotësisht).

Pastaj vendosni qarkun siç shihet në imazh.

Kunja 4 përdoret si një kunj dërgimi për të dy sensorët, ndërsa kunjat e marrjes janë kunjat 2 dhe 5. Ju mund të përdorni kunja të shumta dërgimi, por kjo shkakton telashe pasi ato nuk janë të sinkronizuara në mënyrë perfekte.

përdorni këtë konfigurim për qëllime të korrigjimit para se të bashkoni gjithçka së bashku, për t'u siguruar që gjithçka me të vërtetë funksionon siç është menduar.

Hapi 3: Kodi:

Tani kemi gjithçka dhe mund të fillojmë të korrigjojmë sensorët.

Për të përdorur kodin tim, duhet të shkarkoni bibliotekën e ndjeshmërisë kapacitare nga Arduino dhe ta instaloni sipas udhëzimeve të dhëna nga faqja e referencës: Klikoni tek unë

Kodi: (Unë nuk jam i shkëlqyeshëm në kodim, kështu që nëse e dini se si ta bëni më mirë, ju lutemi bëni)

#include // importoni bibliotekën e kodeve

Sensori Capacitive cs_4_2 = Sensori Capacitive (4, 2); // Dërgoni pin = 4, marrja janë 2 dhe 5 CapacitiveSensor cs_4_5 = Sensori Capacitive (4, 5); const int redPin = 11; const int greenPin = 10; const int bluPin = 9; const int numIndexR = 10; // madhësia e grupit const int numIndexG = 10; int ngjyraR = 0; int ngjyraG = 0; ngjyra e notimitB = 0; int indexR [numIndexR]; int posIndexR = 0; total i gjatëR = 0; // duhet të jetë e gjatë sepse totali i grupit tim ishte i madh për një numër të plotë. int mesatareR = 0; int indexG [numIndexG]; int posIndexG = 0; total i gjatëG = 0; mesatarja int = G; void setup () {pinMode (redPin, OUTPUT); pinMode (greenPin, OUTPUT); pinMode (bluPin, OUTPUT); për (int thisIndexR = 0; thisIndexR <numIndexR; thisIndexR ++) {// vendos grupin në 0 indexR [thisIndexR] = 0; } për (int thisIndexG = 0; thisIndexG = 4500) {// vendosni vlerat e sensorit në një maksimum të përdorshëm, kjo nuk është e njëjtë për çdo vlerë të rezistencës dhe gjithashtu mund të ndryshojë pak nga mjedisi në mjedis, mund t'ju duhet ta ndryshoni këtë nevojat tuaja. gjithsej1 = 4500; } if (total2> = 4500) {total2 = 4500; } totalR = totalR - indexR [posIndexR]; // kjo këtu krijon një grup që vazhdimisht shton një dalje të sensorit dhe prodhon mesataren. indexR [posIndexR] = total1; totalR = totalR + indexR [posIndexR]; posIndexR = posIndexR + 1; nëse (posIndexR> = numIndexR) {posIndexR = 0; } mesatareR = totalR / numIndexR; // ne përdorim mesataren në vend të të dhënave të papërpunuara për të zbutur daljen, ajo ngadalëson procesin pak, por gjithashtu krijon një rrjedhë vërtet të bukur të qetë. totalG = totalG - indexG [posIndexG]; indexG [posIndexG] = total2; totalG = totalG + indexG [posIndexG]; posIndexG = posIndexG + 1; nëse (posIndexG> = numIndexG) {posIndexG = 0; } mesatareG = totalG / numIndexG; nëse (averageR> = 2000) {// ne nuk duam që led -et të ndryshojnë vazhdimisht vlerën nëse nuk ka të dhëna nga dora juaj, kështu që kjo sigurohet që të gjitha leximet më të ulëta të mjedisit të mos merren parasysh. ngjyraR = harta (mesatarjaR, 1000, 4500, 255, 0); analogWrite (redPin, colorR); } tjetër nëse (mesatareR = 1000) {colorG = hartë (mesatareG, 1000, 4500, 255, 0); analogWrite (greenPin, colorG); } tjetër nëse (mesatarja G <= 1000) {ngjyraG = 255; analogWrite (greenPin, colorG); } nëse (ngjyraR <= 125 && colorG <= 125) {// B funksionon pak më ndryshe sepse kam përdorur vetëm 2 sensorë kështu që unë e kam hartuar B në të dy sensorët ngjyra B = hartë (ngjyraR, 255, 125, 0, 127.5) + hartë (ngjyra G, 255, 125, 0, 127.5); analogWrite (bluPin, ngjyraB); } else {colorB = hartë (ngjyraR, 255, 125, 127.5, 0) + hartë (ngjyraG, 255, 125, 127.5, 0); nëse (ngjyraB> = 255) {ngjyraB = 255; } nëse (ngjyraB <= 0) {ngjyraB = 0; } analogWrite (bluPin, colorB); } Serial.print (millis () - fillimi); // kjo është për qëllime korrigjimi Serial.print ("\ t"); Serial.print (colorR); Serial.print ("\ t"); Serial.print (colorG); Serial.print ("\ t"); Serial.println (ngjyraB); vonesa (1); }

Ajo që bën ky kod është nxjerrja e të dhënave të papërpunuara nga sensori (këto të dhëna do të jenë gjithmonë pak të çrregullta për shkak të të gjithë faktorëve të ndryshëm që ndikojnë në sensorin) dhe i vendos të dhënat e papërpunuara vazhdimisht në një grup, kur arrina arrin është vlera maksimale (në rastin tim 10) pastron vlerën e fundit dhe shton një të re. Sa herë që shtohet një vlerë, ajo llogarit vlerën mesatare dhe e vendos atë në një ndryshore të re. Kjo ndryshore mesatare përdoret për të hartuar një vlerë në një vlerë nga 0 në 255, kjo është vlera që ne i shkruajmë në kunjat RGB për të rritur shkëlqimin e secilit kanal (kanalet janë R G dhe B).

Tani nëse ngarkoni kodin tuaj në arduino dhe hapni monitorin serik, duhet të shihni vlerat e RGB më të ulëta kur lëvizni dorën mbi secilin sensor, gjithashtu ngjyra e dritës së led duhet të ndryshojë.

Hapi 4: Tani për rastin:

Tani për rastin
Tani për rastin
Tani për rastin
Tani për rastin
Tani për rastin
Tani për rastin

Rasti: Unë e bëra rastin duke përdorur mjete të disponueshme përmes universitetit tim, kështu që kjo rrjedhë pune nuk është e zbatueshme për të gjithë. Sidoqoftë, nuk ka asgjë shumë të veçantë në të, ajo ka nevojë për një vrimë në njërën anë që porta USB të futet, por përveç kësaj është vetëm një kuti e hapur.

Dimensionet janë si më poshtë:

15 x 15 CM për pjesën e sipërme transparente

dhe

15 x 8 CM për bazën prej druri (trashësia e drurit ishte 1.8 CM për mua).

Kam përdorur një sharrë tavoline për të prerë një pllakë MDF në dimensionet e duhura që më duheshin (që janë 4 panele 15 x 8 CM dhe 1 panel x 15 C 15 CM), pas së cilës i kam prerë qoshet në një kënd prej 45 gradë. Të gjitha pjesët i kam ngjitur së bashku duke përdorur ngjitës druri dhe kapëse (lëreni të thahet të paktën 30 minuta), kam përdorur të njëjtën procedurë për pleksiglasin, por me një teh të veçantë sharre.

1 nga anët prej druri duhet të ketë një vrimë në qendër në lartësinë e prizës USB të arduino për të lejuar që arduino të lidhet.

E mbarova bazën me rimeso. E kam prerë në copa pak më të mëdha se sipërfaqja e secilës anë.

Këtë e ngjita, pastaj e mbërtheva për 30 minuta për secilën anë (më mirë ta bëni atë individualisht, në mënyrë që të siguroheni që të mos rrëshqasë dhe pasi të jetë tharë kam prerë gjithçka që ka dalë jashtë.

Kapaku që e ngjita së bashku duke përdorur një ngjitës specifik për Acryl të quajtur Acryfix.

Jini të vetëdijshëm se nëse përdorni pleksiglas akrilik, zamja e shpërndan pleksiglasin pak, kështu që jini sa më preciz dhe të shpejtë të jetë e mundur (thahet brenda disa minutave, por ekspozohet në ajër brenda sekondave).

Për të përfunduar kapakun, e mbulova kubin me një rërë, por gjithashtu mund të përdorni letër zmerile të imët, thjesht kërkon shumë më tepër kohë për ta bërë atë të duket e barabartë. Kini parasysh edhe nëse përdorni letër zmerile ajo duhet të jetë e grimcuar mirë dhe gjithashtu ngjitni pjesët së bashku pas procedurës së ngrirjes (Kështu që ju nuk e prishni atë rastësisht duke aplikuar në shumë presion)

Për t'u siguruar që kapaku të mos rrëshqasë shumë, ngjita disa shufra të vogla prej druri në skajet e kubit prej druri.

Hapi 5: Rezultati përfundimtar duhet të duket diçka si kjo:

Rezultati përfundimtar duhet të duket diçka si kjo
Rezultati përfundimtar duhet të duket diçka si kjo

Hapi 6: Saldimi

Bashkim!
Bashkim!
Bashkim!
Bashkim!

Nëse keni një tabelë qarku, mund të filloni të bashkoni të gjitha pjesët së bashku duke përdorur të njëjtin konfigurim që ka paneli juaj i bukës.

Bordi im ka shirita të vazhdueshëm bakri për lehtësinë e përdorimit.

Për secilin sensor kam prerë një katror të vogël për të bashkuar rezistencat dhe telat.

Telat e dërgimit (telat që kalojnë nga kunja 4 në secilin sensor) bashkohen me radhë në një shesh të veçantë, me 1 tel që futet në kunjin 4.

Kam mbajtur një drejtkëndësh të gjatë për të bërë një shirit led të improvizuar (mateni atë në mënyrë që të përshtatet brenda kapakut, por në skajet e bazës). Thjesht mund t'i lidhni ledet me radhë njëri pas tjetrit (mbani në mend në imazhin që unë bashkova aksidentalisht llambat dhe rezistorët në anën e gabuar të tabelës, shiritat e bakrit duhet të jenë gjithmonë në pjesën e poshtme).

Kur të keni mbaruar së bashku me saldimin e pjesëve individuale, vendosini ato në kasë. Unë nuk i bashkova telat e mi individualë së bashku kështu që mund t'i ndryshoj me lehtësi nëse është e nevojshme.

Koha për të përshtatur gjithçka në bazë: Ky është pothuajse hapi më i lehtë, arduino duhet të vendoset së pari me portën USB përmes vrimës në pjesën e pasme të kutisë. Tani shtoni sensorët, sigurohuni që fleta e sensorit të përshtatet me drurin në të dy anët, me petë të tokëzuar drejt kundër saj. Kur gjithçka përshtatet mirë, lidhni prizat RGB në kunjat e djathtë (9, 10, 11) dhe lëreni të mbështetet në skajet e bazës.

Hapi 7: Kemi mbaruar

Nëse e keni ndjekur të gjithë këtë, tani duhet të keni një dritë pune me përzierje kapacitore të ngjyrave të prekjes. Argëtohu!

Recommended: