Sadržaj:
- Korak 1: Što nam treba?
- Korak 2: Izrada prototipa:
- Korak 3: Kôd:
- Korak 4: Sada za slučaj:
- Korak 5: Krajnji rezultat trebao bi izgledati otprilike ovako:
- Korak 6: Lemljenje
- Korak 7: Gotovi smo
Video: Interaktivno svjetlo bez dodira: 7 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
Pozdrav svima! Ovdje bih želio podijeliti projekt na kojem sam radio. Nadahnuo sam se da eksperimentiram s kapacitivnim osjetom dodira kroz projekt na svom sveučilištu. Saznao sam za ovu tehnologiju putem instrukcija i iskoristio stvari koje sam naučio ovdje i s drugih mjesta na internetu za izradu vlastitog kontrolera bez dodira, koji koristim za miješanje različitih RGB vrijednosti za stvaranje zanimljivih svijetlih boja.
Za početak, kad sam započeo ovaj projekt, nisam znao gotovo ništa o elektronici niti o kapacitivnom osjetljivom dodiru.
Neki problemi na koje sam naišao rano bili su uzrokovani nerazumijevanjem što se zapravo događa. Dakle, kratki uvod kako ja to razumijem:
Kapacitivni senzor koristi više komponenti, uglavnom:
Kondenzator (u ovom projektu koristimo aluminijsku foliju, ali moguće je koristiti i vodljive tekućine itd.), žice (naravno, njezina elektronika)
i otpornik, sve ispod 10 MOhm premali je otpor za više od izravnog dodira.
način na koji to radi je mjerenje vremenske razlike između točke A i točke B. Od početnog pina šalje signal do krajnje osovine, vrijeme koje se mjeri mjeri se mjeračem vremena. Smanjivanjem vrijednosti otpora (pomicanjem kondenzatora (u ovom slučaju vaše ruke) bliže kondenzatoru senzora (aluminijska folija) ovaj put se skraćuje, razlika u vremenu je ono što senzor vraća kao vrijednost.
Zbog utjecaja kapacitivnih površina na senzor, podaci mogu biti izrazito nestabilni zbog smetnji. To se može riješiti dobrim dijelom ispravnom izolacijom kondenzatora, a također i korištenjem mase (kasnije ću pokazati kako).
Dakle, to nije u mogućnosti da počnemo popisati sve što nam je potrebno:
Korak 1: Što nam treba?
Elektronika:
1. 2 x 22M Ohm + otpornici (što je veća vrijednost otpora, to vam senzor dalje reagira, osobno sam koristio 22M Ohma, minimum za dobivanje korisnih podataka koje sam doživio bio je 10M Ohm)
2. 3x otpornici od 330 Ohma
3. Žice
4. Oglasna ploča
5. Ploča (moja je imala kontinuirane bakrene trake)
6. Više zajedničkih katodnih RGB LED svjetiljki (koristio sam 8, ali možete imati više ili manje ovisno o tome koliko svjetla želite)
7. Aluminijska folija
8. Prianjajući omot
9. Arduino Uno
10. Traka
Slučaj:
1. Drvo Koristio sam MDF 50 x 50 x 1,8 CM (možete koristiti zaista sve. Ovisi o željenom učinku i alatu koji imate na raspolaganju)
2. Akrilni pleksiglas Koristio sam 50 x 50 x 0,3 CM (ili bilo koji drugi prozirni/prozirni materijal poput rižinog papira)
3. Brusni papir (fini brusni papir)
4. Ljepilo za drvo
5. furnir (izborno)
6. Akrilno ljepilo
Alati:
Skidač žice
Lemilica + lim
Stanley nož
bušilica
Pila (koristio sam stolnu pilu)
Korak 2: Izrada prototipa:
Sada imamo sve i možemo početi izrađivati prototip da vidimo kako to funkcionira:
Pripremni radovi:
Izrežite 4 pravokutnika iz aluminijske folije (moji su otprilike 10 x 5 cm), zamotajte ih u prozirnu foliju kako biste ih izolirali od izravnog dodira i zalijepite žicu na aluminijsku foliju. Samo sam zalijepio ogoljeni kraj folije (sve dok ostanu u kontaktu).
Kako bih bio siguran da je aluminij dobro izoliran, zamotao sam ga u prozirnu foliju i glačao između papira (samo nekoliko sekundi kako se ne bi potpuno rastopio).
Zatim postavite krug kako je prikazano na slici.
Pin 4 se koristi kao pin za slanje za oba senzora, dok su pinovi za prijem pin 2 i 5. Možete koristiti više pinova za slanje, ali to stvara probleme jer nisu savršeno sinkronizirani.
upotrijebite ovu postavku za uklanjanje pogrešaka prije nego što sve zalemite, kako biste bili sigurni da sve uistinu radi kako je predviđeno.
Korak 3: Kôd:
Sada imamo sve i možemo početi otklanjati pogreške na senzorima.
Da biste koristili moj kôd, preuzmite biblioteku kapacitivnog sensinga s Arduina i instalirajte je prema uputama datim na referentnoj stranici: Kliknite me
Kôd: (Nisam dobar u kodiranju, pa ako znate kako to bolje učiniti, učinite to)
#include // uvoz biblioteke kodova
CapacitiveSensor cs_4_2 = Kapacitivni senzor (4, 2); // Slanje pin = 4, primanje su 2 i 5 CapacitiveSensor cs_4_5 = CapacitiveSensor (4, 5); const int redPin = 11; const int greenPin = 10; const int bluePin = 9; const int numIndexR = 10; // veličina polja const int numIndexG = 10; int bojaR = 0; int bojaG = 0; float bojaB = 0; int indexR [numIndexR]; int posIndexR = 0; dugo ukupnoR = 0; // to mora biti dugo jer je ukupan broj mojih polja bio prevelik za cijeli broj. int prosjekR = 0; int indexG [numIndexG]; int posIndexG = 0; ukupno ukupnoG = 0; int prosjekG = 0; void setup () {pinMode (redPin, OUTPUT); pinMode (greenPin, OUTPUT); pinMode (bluePin, OUTPUT); for (int thisIndexR = 0; thisIndexR <numIndexR; thisIndexR ++) {// postavlja niz na 0 indexR [thisIndexR] = 0; } for (int thisIndexG = 0; thisIndexG = 4500) {// ograničava vrijednosti senzora na upotrebljivi maksimum, to nije isto za svaku vrijednost otpornika i također se može malo razlikovati od okoline do okoline koju ćete možda morati prilagoditi vlastite potrebe. ukupno1 = 4500; } if (ukupno2> = 4500) {ukupno2 = 4500; } totalR = totalR - indeksR [posIndexR]; // ovo ovdje stvara niz koji kontinuirano dodaje izlaz senzora i proizvodi prosjek. indexR [posIndexR] = ukupno1; totalR = totalR + indexR [posIndexR]; posIndexR = posIndexR + 1; if (posIndexR> = numIndexR) {posIndexR = 0; } prosjekR = totalR / brojIndexR; // koristimo prosjek umjesto sirovih podataka kako bismo izgladili izlaz, to malo usporava proces, ali i stvara jako lijep glatki tijek. totalG = totalG - indeksG [posIndexG]; indexG [posIndexG] = ukupno2; totalG = totalG + indexG [posIndexG]; posIndexG = posIndexG + 1; if (posIndexG> = numIndexG) {posIndexG = 0; } prosjekG = ukupnoG / brojIndexG; if (averageR> = 2000) {// ne želimo da LED diode konstantno mijenjaju vrijednost, osim ako nemate unos iz vaše ruke, pa se time osigurava da se ne uzmu u obzir sva niža očitavanja okoliša. colorR = karta (prosjekR, 1000, 4500, 255, 0); analogWrite (redPin, colorR); } else if (averageR = 1000) {colorG = map (averageG, 1000, 4500, 255, 0); analogWrite (greenPin, colorG); } else if (prosjekG <= 1000) {colorG = 255; analogWrite (greenPin, colorG); } if (colorR <= 125 && colorG <= 125) {// B radi malo drugačije jer sam koristio samo 2 senzora pa sam mapirao B na oba senzora colorB = map (colorR, 255, 125, 0, 127.5) + karta (bojaG, 255, 125, 0, 127.5); analogWrite (bluePin, colorB); } else {colorB = map (colorR, 255, 125, 127.5, 0) + map (colorG, 255, 125, 127.5, 0); if (bojaB> = 255) {bojaB = 255; } if (colorB <= 0) {colorB = 0; } analogWrite (bluePin, colorB); } Serial.print (millis () - početak); // ovo je za ispravljanje pogrešaka Serial.print ("\ t"); Serijski.ispis (colorR); Serial.print ("\ t"); Serijski.ispis (colorG); Serial.print ("\ t"); Serial.println (colorB); odgoda (1); }
Ono što ovaj kôd radi je izvlačenje sirovih podataka iz senzora (ti će podaci uvijek biti pomalo nestabilni zbog svih različitih čimbenika koji utječu na senzor) i neprestano stavlja neobrađene podatke u niz, kada polje dosegne maksimalnu vrijednost (u mom slučaju 10) briše zadnju vrijednost i dodaje novu. Svaki put kad se doda vrijednost izračunava prosječnu vrijednost i stavlja je u novu varijablu. Ova prosječna varijabla koristi se za mapiranje vrijednosti na vrijednost od 0 do 255, to je vrijednost koju upisujemo na RGB pinove kako bismo povećali svjetlinu svakog kanala (kanali su RG i B).
Sada, ako učitate svoj kôd na arduino i otvorite serijski monitor, trebali biste vidjeti RGB vrijednosti niže kada pređete rukom preko svakog senzora, također bi se trebala promijeniti i svjetlosna boja LED diode.
Korak 4: Sada za slučaj:
Slučaj: Učinio sam slučaj pomoću alata dostupnih na svom sveučilištu, tako da se ovaj tijek rada ne može primijeniti na sve. Međutim, tu nema ništa posebno, potrebna mu je rupa s jedne strane za prolaz kroz USB priključak, ali osim toga to je samo otvorena kutija s vrhom.
Dimenzije su sljedeće:
15 x 15 cm za prozirni vrh
i
15 x 8 cm za drvenu podlogu (debljina drva za mene je bila 1,8 cm).
Pomoću stolne pile izrezao sam ploču MDF -a u odgovarajuće dimenzije koje su mi potrebne (a to su 4 ploče 15 x 8 CM i 1 15 x 15 CM uzemljena ploča), nakon čega sam uglove izrezao pod kutom od 45 stupnjeva. Sve dijelove koje sam spojio ljepilom za drvo i stezaljkama (ostavite da se osuše najmanje 30 minuta), za pleksiglas sam koristio isti postupak, ali s posebnim listom pile.
1 drvena strana trebala bi imati rupu u sredini na visini arduino USB priključka kako bi se omogućilo priključivanje arduina.
Završio sam bazu furnirom. Rezao sam ga na komade malo veće od površine svake strane.
Ovo sam zalijepila na njega, a zatim ga pričvrstila 30 minuta za svaku stranu (bolje da to učinite pojedinačno kako biste bili sigurni da ne klizi, a nakon što se osuši, odrezala sam sve što je stršilo.
Poklopac sam zalijepio ljepilom specifičnim za Acryl pod nazivom Acryfix.
Imajte na umu da ako koristite akrilni pleksiglas, ljepilo malo otapa pleksiglas, stoga budite što precizniji i brži (suši se u roku od nekoliko minuta, ali je izložen zraku u roku od nekoliko sekundi).
Kako bih dovršio čep, kocku sam zaledila brusilicom za pjeskarenje, ali možete koristiti i fini brusni papir, samo je potrebno mnogo više vremena da izgleda ujednačeno. Pazite, ako koristite brusni papir, on mora biti sitnozrnat i također zalijepiti dijelove nakon postupka zamrzavanja (tako da ga nećete slučajno slomiti pritiskom na veliki pritisak)
Kako se kapica ne bi previše skliznula, zalijepila sam nekoliko malih drvenih šipki na rubove drvene kocke.
Korak 5: Krajnji rezultat trebao bi izgledati otprilike ovako:
Korak 6: Lemljenje
Ako imate ploču, možete početi lemiti sve dijelove zajedno koristeći iste postavke kao i vaša ploča.
Moja ploča ima kontinuirane bakrene trake za lakše korištenje.
Za svaki senzor odrežem mali kvadrat za lemljenje otpornika i žica.
Žice za slanje (žice koje idu od pina 4 do svakog senzora) lemljene su u nizu na zasebnom kvadratu, s 1 žicom koja ide u pin 4.
Držao sam dugački pravokutnik za izradu improvizirane LED trake (izmjerite je tako da stane unutar poklopca, ali na rubove baze). Možete samo lemiti LED diode jedan za drugim (imajte na umu da sam slučajno lemio LED diode i otpornike na pogrešnoj strani ploče, bakrene trake uvijek trebaju biti s donje strane).
Kada završite sa lemljenjem pojedinačnih dijelova, postavite ih u kućište. Pojedinačne žice nisam lemio zajedno pa ih prema potrebi mogu lako promijeniti.
Vrijeme je da sve uklopite u bazu: Ovo je prilično najjednostavniji korak, arduino mora biti na prvom mjestu s USB priključkom kroz otvor na stražnjoj strani kućišta. Sada dodajte senzore, pobrinite se da folija senzora pristane uz drvo s obje strane, s uzemljenom folijom ravno uz nju. Kad se sve dobro uklopi, umetnite RGB LED diode u desne igle (9, 10, 11) i pustite ih da se naslone na rubove baze.
Korak 7: Gotovi smo
Ako ste sve ovo ispratili, sada biste trebali imati radno svjetlo s kapacitivnim miješanjem boja na dodir. Zabavi se!
Preporučeni:
Pametni prekidač bez dodira: 8 koraka (sa slikama)
Pametni prekidač bez dodira: Potreba za socijalnim distanciranjem i sigurnim zdravstvenim postupcima, poput upotrebe sredstava za čišćenje nakon upotrebe javnih okruženja, poput slavina, prekidača itd., Vrlo je bitna za smanjenje širenja koronavirusa. Stoga postoji hitna potreba za inovacijom
Napravi sam zvono na vratima bez dodira bez Arduina!: 7 koraka
Napravite sami zvono na vratima bez dodira bez Arduina!: Prekidači za zvono jedna su od stvari koje stranci najviše dodiruju. S obzirom da je pandemija covida 19 postala ozbiljan problem, održavanje dobre higijene postalo je glavni prioritet ovih dana. Pa ću vam u ovom uputstvu pokazati jednostavan način
Interaktivno noćno svjetlo SpotLight: 4 koraka
Interaktivno noćno svjetlo SpotLight: SpotLight je interaktivno noćno svjetlo koje pokreće Arduino, poprimajući slatki faktor oblika zasnovan na mopsima. Svjetlo ima tri interaktivne značajke: 1) Umetnite novčić u stražnju stranu SpotLight -a da biste svjetla palili i gasili. 2) Pomazite SpotLight na
Interaktivno, otvoreno svjetlo raspoloženja: 9 koraka (sa slikama)
Interaktivno, otvoreno svjetlo raspoloženja: Ova instrukcija će proći kroz to kako napraviti interaktivno, višenamjensko svjetlo raspoloženja. Jezgra ovog projekta je BlinkM I2C RGB LED. Dok sam jednog dana pregledavao web, BlinkM mi je privukao pažnju i jednostavno sam pomislio da je to previše cool
Hladnjak / stalak za prijenosno računalo bez troškova (bez ljepila, bez bušenja, bez matica i vijaka, bez vijaka): 3 koraka
Hladnjak / postolje za prijenosno računalo nula troškova (bez ljepila, bez bušenja, bez matica i vijaka, bez vijaka): AŽURIRAJTE: MOLIM VAS LJUBAV GLAS ZA MOJE INSTRUKCIJE, HVALA ^ _ ^ MOŽETE SE I VI GLAVATI ULAZITE NA www.instructables.com/id/Zero-Cost-Aluminium-Furnace-No-Propane-No-Glue-/ ILI MOŽDA GLASATE ZA NAJBOLJEG PRIJATELJA