Kazalo:
- 1. korak: Kaj potrebujemo?
- 2. korak: izdelava prototipov:
- 3. korak: Koda:
- 4. korak: Zdaj za primer:
- 5. korak: Končni rezultat bi moral izgledati nekako tako:
- 6. korak: Spajkanje
- 7. korak: Končali smo
Video: Interaktivna luč brez dotika: 7 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Zdravo vsi! Tu bi rad delil projekt, na katerem sem delal. Navdihnil sem se za eksperimentiranje s kapacitivnim zaznavanjem dotika skozi projekt na moji univerzi. Za to tehnologijo sem izvedel z navodili in stvari, ki sem se jih naučil tukaj in na drugih mestih na internetu, uporabil za izdelavo lastnega krmilnika brez dotika, ki ga uporabljam za mešanje različnih vrednosti RGB za ustvarjanje zanimivih svetlih barv.
Za začetek, ko sem začel s tem projektom, nisem vedel skoraj nič o elektroniki ali kapacitivnem zaznavanju dotika.
Nekatere težave, na katere sem naletel zgodaj, so nastale zaradi nerazumevanja, kaj se v resnici zgodi. Torej kratek uvod iz mojega razumevanja:
Kapacitivni senzor uporablja več komponent, predvsem:
Kondenzator (v tem projektu uporabljamo aluminijasto folijo, možna pa je tudi uporaba prevodnih tekočin itd.), žice (seveda, njena elektronika)
in upor, vse pod 10 MOhm je premajhen upor za več kot neposreden dotik.
način delovanja je z merjenjem časovne razlike med točko A in točko B. Od začetnega zatiča pošlje signal do končne sponke, čas, ki ga potrebuje, se meri s časovnikom. Z zmanjšanjem vrednosti upora (s premikanjem kondenzatorja (v tem primeru vaše roke) bližje kondenzatorju senzorja (aluminijasta folija) se tokrat skrajša, razlika v času je tisto, kar senzor vrne kot vrednost.
Zaradi senzorja, na katerega vplivajo kapacitivne površine, so lahko podatki zaradi motenj zelo napačni. To lahko v veliki meri rešimo s pravilno izolacijo kondenzatorja in tudi z uporabo ozemljitve (kasneje bom pokazal).
Zdaj ne moremo začeti popisovati vseh potrebnih stvari:
1. korak: Kaj potrebujemo?
Elektronika:
1. 2 x 22M Ohm + upori (večja kot je vrednost upora, bolj ko se senzor odzove, osebno sem uporabil 22M Ohm, najmanjše število uporabnih podatkov, ki sem jih doživel, je bilo 10M Ohm)
2. 3x 330 ohmski upori
3. Žice
4. Ogledna plošča
5. Vezje (moje je imelo trajne bakrene trakove)
6. Več skupnih katodnih RGB LED (uporabil sem 8, lahko pa imate več ali manj odvisno od tega, koliko svetlobe želite)
7. Aluminijasta folija
8. Ovojna folija
9. Arduino Uno
10. Trak
Primer:
1. Les Uporabil sem 50 x 50 x 1,8 CM MDF (res lahko uporabite karkoli. Odvisno od želenega učinka in orodja, ki ga imate na voljo)
2. Akrilni pleksi steklo sem uporabil 50 x 50 x 0,3 CM (ali kateri koli drug prozoren/prosojen material, kot je rižev papir)
3. Brusni papir (fin brusni papir)
4. Lepilo za les
5. furnir (neobvezno)
6. Akrilno lepilo
Orodja:
Odstranjevalec žice
Spajkalnik + kositer
Stanley nož
vrtalnik
Žaga (uporabil sem namizno žago)
2. korak: izdelava prototipov:
Zdaj imamo vse in lahko začnemo izdelovati prototip, da vidimo, kako deluje:
Pripravljalno delo:
Iz aluminijaste folije izrežite 4 pravokotnike (moji so približno 10 cm x 5 cm), jih zavijte v prozorno folijo, da jih izolirate pred neposrednim dotikom, in na aluminijasto folijo prilepite žico. Na folijo sem le prilepil slečen konec (dokler ostanejo v stiku).
Da bi bil aluminij varno izoliran, sem ga zavil v folijo in ga zlikal med papirji (le nekaj sekund, da se popolnoma ne stopi).
Nato nastavite vezje, kot je prikazano na sliki.
Pin 4 se uporablja kot oddajni pin za oba senzorja, medtem ko sta sprejemna zatiča 2 in 5. Lahko uporabite več pošiljateljskih nožic, vendar povzroča težave, ker nista popolnoma sinhronizirana.
uporabite to nastavitev za namene odpravljanja napak, preden vse spajkate, da se prepričate, ali vse resnično deluje, kot je bilo predvideno.
3. korak: Koda:
Zdaj imamo vse in lahko začnemo odpravljati napake senzorjev.
Če želite uporabiti mojo kodo, prenesite kapacitetno knjižnico zaznavanja iz Arduina in jo namestite v skladu z navodili na referenčni strani: Kliknite me
Koda: (Nisem odličen pri kodiranju, zato, če veste, kako to narediti bolje, naredite to)
#include // uvozi knjižnico kod
CapacitiveSensor cs_4_2 = Kapacitivni senzor (4, 2); // Pošlji pin = 4, prejemnik sta 2 in 5 CapacitiveSensor cs_4_5 = CapacitiveSensor (4, 5); const int redPin = 11; const int greenPin = 10; const int bluePin = 9; const int numIndexR = 10; // velikost matrike const int numIndexG = 10; int barvaR = 0; int barvaG = 0; plavajoča barvaB = 0; int indexR [numIndexR]; int posIndexR = 0; dolga skupajR = 0; // mora biti dolg, ker je bila vsota moje matrike prevelika za celo število. int povprečjeR = 0; int indexG [numIndexG]; int posIndexG = 0; dolga skupajG = 0; int povprečjeG = 0; void setup () {pinMode (redPin, OUTPUT); pinMode (greenPin, OUTPUT); pinMode (bluePin, OUTPUT); for (int thisIndexR = 0; thisIndexR <numIndexR; thisIndexR ++) {// matriko nastavi na 0 indexR [thisIndexR] = 0; } for (int thisIndexG = 0; thisIndexG = 4500) {// omeji vrednosti senzorja na uporabni maksimum, to ni enako za vsako vrednost upora in se lahko tudi nekoliko razlikuje od okolja do okolja, ki ga boste morda morali prilagoditi svoje potrebe. skupaj1 = 4500; } če (skupaj2> = 4500) {skupaj2 = 4500; } totalR = totalR - indeksR [posIndexR]; // to tukaj ustvari matriko, ki nenehno dodaja izhod senzorja in proizvaja povprečje. indexR [posIndexR] = skupaj1; totalR = totalR + indexR [posIndexR]; posIndexR = posIndexR + 1; če (posIndexR> = numIndexR) {posIndexR = 0; } povprečjeR = skupnoR / številoIndexR; // uporabljamo povprečje namesto neobdelanih podatkov za izravnavo izhoda, nekoliko upočasni proces, hkrati pa ustvari tudi zelo lep tekoč pretok. totalG = totalG - indeksG [posIndexG]; indexG [posIndexG] = skupaj2; totalG = totalG + indexG [posIndexG]; posIndexG = posIndexG + 1; če (posIndexG> = numIndexG) {posIndexG = 0; } povprečjeG = skupnoG / številoIndexG; if (averageR> = 2000) {// ne želimo, da LED diode nenehno spreminjajo vrednost, razen če vnesete vnos iz vaše roke, zato zagotovite, da se ne upoštevajo vse nižje okoljske vrednosti. colorR = zemljevid (povprečnoR, 1000, 4500, 255, 0); analogWrite (redPin, colorR); } drugače če (povprečjeR = 1000) {barvaG = zemljevid (povprečjeG, 1000, 4500, 255, 0); analogWrite (greenPin, colorG); } drugače če (povprečjeG <= 1000) {barvaG = 255; analogWrite (greenPin, colorG); } if (colorR <= 125 && colorG <= 125) {// B deluje nekoliko drugače, ker sem uporabil le 2 senzorja, zato sem na obeh senzorjih preslikal barvo B = map (colorR, 255, 125, 0, 127.5) + zemljevid (barva G, 255, 125, 0, 127,5); analogWrite (bluePin, colorB); } else {colorB = map (colorR, 255, 125, 127.5, 0) + map (colorG, 255, 125, 127.5, 0); če (barvaB> = 255) {barvaB = 255; } if (barvaB <= 0) {barvaB = 0; } analogWrite (bluePin, colorB); } Serial.print (millis () - začetek); // to je za namene odpravljanja napak Serial.print ("\ t"); Serijski.tisk (colorR); Serial.print ("\ t"); Serijski.tisk (colorG); Serial.print ("\ t"); Serial.println (colorB); zamuda (1); }
Ta koda izvleče neobdelane podatke iz senzorja (ti podatki bodo vedno nekoliko napačni zaradi vseh različnih dejavnikov, ki vplivajo na senzor) in neobdelane podatke nenehno postavlja v matriko, ko matrika doseže največjo vrednost (v mojem primeru 10) izbriše zadnjo vrednost in doda novo. Vsakič, ko se doda vrednost, izračuna povprečno vrednost in jo postavi v novo spremenljivko. Ta povprečna spremenljivka se uporablja za preslikavo vrednosti v vrednost od 0 do 255, to je vrednost, ki jo zapišemo na zatiče RGB, da povečamo svetlost vsakega kanala (kanala sta RG in B).
Zdaj, ko naložite svojo kodo na arduino in odprete serijski monitor, bi morali videti vrednosti RGB, ko premaknete roko na vsak senzor, tudi barva svetlobe LED se mora spremeniti.
4. korak: Zdaj za primer:
Primer: Primer sem dal z orodji, ki so na voljo na moji univerzi, zato ta potek dela ni primeren za vsakogar. Vendar pri tem ni nič posebnega, potrebuje luknjo na eni strani, da se lahko prilegajo vrata USB, razen tega je le odprta škatla.
Dimenzije so naslednje:
15 x 15 cm za prozorni vrh
in
15 x 8 cm za leseno podlago (debelina lesa zame 1,8 cm).
Z namizno žago sem rezal ploščo iz MDF -ja na prave dimenzije, ki sem jih potreboval (to so 4 plošče 15 x 8 CM in 1 15 x 15 CM talne plošče), nato pa sem vogale razrezal pod kotom 45 stopinj. Vse dele, ki sem jih zlepil skupaj z lepilom in sponkami (naj se posuši vsaj 30 minut), sem za pleksi steklo uporabil enak postopek, vendar s posebnim žaginim listom.
1 lesenih strani mora imeti v sredini na višini vtiča USB arduino luknjo, ki omogoča priključitev arduina.
Osnovo sem zaključil s furnirjem. Narezala sem ga na koščke, nekoliko večje od površine vsake strani.
To sem nalepila, nato pa pritrdila 30 minut za vsako stran (bolje, da to storite posamično, da se prepričate, da ne zdrsne, in potem, ko se posuši, sem odrezala vse, kar je štrlelo.
Pokrovček sem zlepil z lepilom za Acryl, imenovanim Acryfix.
Zavedajte se, da če uporabljate akrilni pleksi steklo, lepilo nekoliko raztopi pleksi steklo, zato bodite čim bolj natančni in hitri (posuši se v nekaj minutah, vendar je izpostavljen zraku v nekaj sekundah).
Za zaključek pokrovčka sem kocko zmrznil s peskalnikom, lahko pa uporabite tudi fini brusni papir, ki potrebuje veliko več časa, da postane enakomeren. Upoštevajte, da če uporabljate brusni papir, mora biti drobnozrnat in po postopku zmrzovanja tudi zlepiti dele (tako da ga ne pritisnete po naključju z velikim pritiskom)
Da se pokrovček ne zdrsne preveč, sem na robove lesene kocke prilepil nekaj majhnih lesenih palic.
5. korak: Končni rezultat bi moral izgledati nekako tako:
6. korak: Spajkanje
Če imate tiskano vezje, lahko začnete spajati vse dele skupaj z isto nastavitvijo, kot jo ima vaša plošča.
Moje vezje ima neprekinjene bakrene trakove za lažjo uporabo.
Za vsak senzor sem odrezal majhen kvadrat za spajkanje uporov in žic.
Oddajne žice (žice, ki gredo od zatiča 4 do vsakega senzorja) so zaporedno spajkane na ločen kvadrat z 1 žico, ki gre v zatič 4.
Obdržal sem dolg pravokotnik za izdelavo improviziranega LED traku (izmerite ga tako, da se prilega notranjosti pokrovčka, vendar na robovih podlage). Svetleče diode lahko le spajate zaporedno (zapomnite si na sliki, da sem svetleče diode in upore pomotoma spajkal na napačni strani tiskanega vezja, bakreni trakovi morajo biti vedno na spodnji strani).
Ko končate spajkanje posameznih delov skupaj, jih namestite v ohišje. Posameznih žic nisem spajkal skupaj, zato jih lahko po potrebi enostavno zamenjam.
Čas je, da vse vstavite v osnovo: To je precej najlažji korak, arduino mora najprej postaviti z vrati USB prek luknje na zadnji strani ohišja. Zdaj dodajte senzorje in se prepričajte, da se senzorska folija prilega lesu na obeh straneh, talna folija pa naravnost proti njej. Ko se vse dobro prilega, priklopite LED diode RGB v desne zatiče (9, 10, 11) in pustite, da se nasloni na robove podstavka.
7. korak: Končali smo
Če ste vse to nadaljevali, bi morali imeti delovno luč s kapacitivnim mešanjem barv na dotik. Zabavaj se!
Priporočena:
Kako narediti stroj za razkuževanje rok brez dotika: 5 korakov
Kako narediti brezkontaktni stroj za razkuževanje rok: Pozdravljeni bralci, v tem navodilu vam bom pokazal, kako narediti brezkontaktni razpršilni stroj za razkuževanje rok, saj vsi vemo, da se zaradi te pandemije drugi ljudje ne dotikajo
Pametno stikalo brez dotika: 8 korakov (s slikami)
Pametno stikalo brez dotika: Potreba po socialni distanci in varnih zdravstvenih praksah, kot je uporaba sredstev za razkuževanje po uporabi javnih okolij, kot so pipe, stikala itd., Je zelo bistvena za zmanjšanje širjenja koronavirusa. Zato je inovacija takojšnja
Naredi sam zvonec na vratih brez dotika brez Arduina!: 7 korakov
Naredi sam zvonec na vratih brez dotika brez Arduina!: Stikala za zvonjenje so ena izmed stvari, ki se jih tujci najbolj dotaknejo. Ker je pandemija covid 19 postala resno vprašanje, je ohranjanje dobre higiene v teh dneh postalo glavna prioriteta. V tem navodilu vam bom pokazal preprost način
Majhna limonska baterija in drugi modeli za elektriko brez stroškov in LED luč brez baterij: 18 korakov (s slikami)
Majhna limonska baterija in drugi modeli za električno energijo brez stroškov in LED-luč brez baterij: Živjo, verjetno že veste za limonine baterije ali bio-baterije. Običajno se uporabljajo v izobraževalne namene in uporabljajo elektrokemijske reakcije, ki ustvarjajo nizke napetosti, običajno prikazane v obliki žareče LED ali žarnice. Te
Hladilnik / stojalo za prenosni računalnik brez stroškov (brez lepila, brez vrtanja, brez matic in vijakov, brez vijakov): 3 koraki
Hladilnik / stojalo za prenosni računalnik z nič stroški (brez lepila, brez vrtanja, brez matic in vijakov, brez vijakov): UPDATE: PROSIM VELIKO GLASAJ ZA MOJE NAVODILNO, HVALA ^ _ ^ MOGOČE STE ZDRAVILI VPISITE NA www.instructables.com/id/Zero-Cost-Aluminium-Furnace-No-Propane-No-Glue-/ ALI MOŽDA GLASUJTE ZA NAJBOLJŠEGA PRIJATELJA