Kazalo:

Interaktivno ogledalo neskončnosti: 9 korakov (s slikami)
Interaktivno ogledalo neskončnosti: 9 korakov (s slikami)

Video: Interaktivno ogledalo neskončnosti: 9 korakov (s slikami)

Video: Interaktivno ogledalo neskončnosti: 9 korakov (s slikami)
Video: CS50 2015 - Week 6 2024, November
Anonim
Image
Image
Zberite vse, kar potrebujete (ali želite)
Zberite vse, kar potrebujete (ali želite)

Naloga za ta razred je bila preprosta, a zapletena: naredite nekaj interaktivnega z Arduinom. Moral je biti dobro oblikovan, dovolj tehnično zahteven in izviren, kolikor se dandanes pojavljajo izvirne ideje na spletnih mestih, kot je Instructables. Že od začetka so me zanimale LED diode. Moj projekt bi moral vključevati nekaj z LED -diodami, zato sem najprej pomislil na te LED -vizualizatorje, ki na primer uporabljajo glasbo za prikaz glasnosti na frekvenco. Hitro sem spoznal, da je čas, ki smo ga potrebovali za dokončanje tega projekta, precej kratek in želel sem narediti vizualizator, s katerim bi se vsak vodja individualno odzval na glasbo. To bi trajalo predolgo, zato sem se odločil narediti nekaj drugega. Namesto da bi imeli nekaj funkcionalnega, mi je bila všeč ideja o nečem estetsko prijetnem. Nekaj z LED diodami, v katere bi lahko gledali več let … Neskončno ogledalo. Neskončno ogledalo je bilo vedno udarno in da bi LED v notranjosti naredili nekaj, ko pritisnete določen gumb, bi zagotovo spadalo v obseg tega projekta. Namesto standardnega sem naredil nekoliko drugačno zasnovo (kar je bilo seveda že prej), ki ima na sredini ogledala kvadrat, okrog katerega je LED trak, zato je videti, kot da se dviga ogromen neskončen stolp gor iz nič.

Navdihnjen s steklom in elegantnim videzom neskončnega ogledala sem želel imeti vnos, ki je bil tako zadovoljen kot ostali. Tam sem prišel do kapacitivnih gumbov, ki jih ni treba pritisniti (in brez dejanskega stika, če spremenite občutljivost senzorja) in jih tako ustvarite še bolj čarobno.

Dovolj govora, začnimo graditi!

ps. ta projekt lahko naredite poljubne velikosti, ne pozabite, več LED diod, ki jih uporabljate, več energije potrebuje;)

1. korak: Zberite vse stvari, ki jih potrebujete (ali si jih želite)

Ogledala Wooinity niso poceni, še posebej, če jih želite uporabljati s posamično naslovljivimi LED. Tudi če še nikoli niste storili česa podobnega, boste verjetno morali svojemu arzenalu dodati nekaj orodij, na primer spajkalnik ali rezalnik stekla. Najprej bom navedel dele, ki jih boste potrebovali (ne pozabite, da za projekt druge velikosti preprosto morate vse zmanjšati ali povečati glede na vaše razmerje) za zasnovo, drugi seznam pa bodo orodja, ki sem jih uporabil za to.

Deli: 8x6 mm debeline 60x60 cm MDF plošče 1x 3 mm debele 50x50 cm plošče iz pleksi stekla 1x 3m ws2812 5050smd LED trak s 60 LED na meter ali okoli 160 LED (poskrbite, da ima 5V tirnico namesto 12V) 1x 5 mm debelo steklo 50x50 cm (steklo) ogledala dajejo najboljši učinek! Lahko bi uporabili drugo vrsto ogledala, vendar preprosto ne bo videti tako dobro!) 1x Arduino Uno (Manjši ali večji Arduino bo zadostoval, če ga napaja 5 V in ima vsaj 7 digitalnih I /O pins1x 5V 7A dc adapter (To se bo razlikovalo, če imate manjši ali večji projekt, zato ne pozabite izračunati, koliko toka bo vaš projekt črpal!) 1x Perfboard 15x15cm5x različne barve 24 AWG fleksibilna žica (veliko, samo kupite sveženj, ki bi moral biti dovolj) 1x folija za zatemnitev oken za zasebnost 50x50 cm, preverite, ali imate odsevno vrsto, da dosežete najboljše rezultate. Prav tako je dobra praksa, da dobite malo več, da jo lahko pokvarite prvič, ker je precej trd 1x CAP1188 (at24qt1070) 5Key kapacitive sens ali preboj 1x majhen košček bakrenega ali aluminijastega traku (če želite biti prepričani, dobite 1 meter) 1x poceni prozoren lak

Orodja: Laserski rezalnik (mora biti zmožen rezanja pleksi stekla in MDF plošč debeline 6 mm do 60 x 60 cm) Osnovno orodje (majhne žage, lesne pilice, brusni papir zrnatosti, vrtalnik itd.) Spajkalnik Rezalniki za kable Pištola za vroče lepilo Veliko spajkanjaDrveno lepiloNekaj okvirnih sponk Rezalnik stekla

2. korak: Rezanje vsega

Rezanje vsega
Rezanje vsega
Rezanje vsega
Rezanje vsega

Čas je za rezanje lesa! In steklo! In pleksi steklo! Uporabite datoteke, ki sem jih priložil, da izrežete vsak okvir lesa posebej kot en sloj v laserskem rezalniku. Zadnjo plast lahko uporabite kot predlogo za kvadrat, ki ga je treba izrezati na točno sredini kosa pleksi stekla. Za ogledalo ga morate najprej očistiti, tako da na površini ni nič več, potem pa skrbno izmerite, da bo vaše ogledalo pri rezanju natančno 50x50 cm. Nato z enim gladkim, trdim gibom rezite steklo s karbidnim kolesom rezalnika stekla. Ne bo se popolnoma zlomil, vendar bi morala ostati praska, če ne, poskusite znova. Nato zelo previdno poskusite upogniti in odlomiti stekleni kos. Končali ste z rezanjem!

3. korak: Lepljenje

Lepljenje
Lepljenje
Lepljenje
Lepljenje
Lepljenje
Lepljenje

Kose lesa najprej zlepimo skupaj, priporočam, da na spodnja 2 sloja zlepimo skupaj. Nato 3. do 6. plast skupaj (ne pritrdite na prvi 2 plasti). In tudi lepljenje 7. in 8. plasti skupaj. Priporočam, da vse skupaj zlepite kot zadnji korak, saj po lepljenju ne boste mogli priti do nekaterih delov zgradbe. Votli kvadrat na sredini je mogoče tudi zlepiti skupaj, pri čemer ni zgornjega pokrova. Pustite, da se posuši vsaj 2 uri na suhem mestu pri sobni temperaturi. Za kos pleksi stekla bomo uporabili odsevno folijo, priporočljivo je, da dobite nekoga, ki vam bo pomagal, saj je to zelo težak postopek in lahko tolikokrat zamotite, preden ima folija trajne razpoke (in to $ hlT drago!). Po kraljevsko namažite eno stran pleksi stekla in odstranite zaščitni sloj s folije, da razkrijete zlepljeno stran. poskušajte ga lepo in gladko uporabiti, s kreditno kartico ali s čim ravnim odrinite vse zračne žepe, ki so nastali. (priporočljivo je, da kvadrat, ki ste ga izrezali prej, postavite nazaj, da bo površina bolj ravna). Odvečno folijo odrežite in pustite, da se posuši vsaj eno uro. (po možnosti čez noč)

4. korak: LED diode naredijo nekaj trakov

LED naredi nekaj trakov!
LED naredi nekaj trakov!
LED naredi nekaj trakov!
LED naredi nekaj trakov!
LED naredi nekaj trakov!
LED naredi nekaj trakov!
LED naredi nekaj trakov!
LED naredi nekaj trakov!

Na 4 majhne lesene letvice bomo prilepili led trakove. Uporabite lahko 3 -milimetrski trak na hrbtni strani večine teh trakov. Če ne vroče lepilo ali kaj drugega, bo dovolj, da se lepi. Odrežite led trak po velikosti in ga lepite na vse 4 strani. (ne pozabite na srednji kvadrat!) na srednjem kvadratu in eni leseni letvi je nekaj lukenj, pustite nekaj prostora okoli tega, saj bomo skozi njih napeljali kable. Ko nalepite LED trakove, jih lahko spajkate. To bi moral biti en velik LED trak, zato je treba vse zaporedno spajkati! Tudi srednji kvadrat.

5. korak: Ampak! Tone … Pustimo jih povezati

Ampak! Tone… Omogočimo jim žico
Ampak! Tone… Omogočimo jim žico
Ampak! Tone… Omogočimo jim žico
Ampak! Tone… Omogočimo jim žico
Ampak! Tone… Omogočimo jim žico
Ampak! Tone… Omogočimo jim žico

Za kapacitivne gumbe sledite diagramu, ki sem ga dal. Končani konci bodo šli na Arduino na eni strani in na vaše dejanske gumbe na drugi strani. Ne pozabite uporabiti nekaj aluminijastega ali bakrenega traku na površini (večji ko naredite kos traku, bolj občutljiv postane vaš gumb!). Gumbi naj bodo na zgornjem pokrovu srednjega kvadrata.

6. korak: Ali to počnemo?

Ali to počnemo?
Ali to počnemo?
Ali to počnemo?
Ali to počnemo?
Ali to počnemo?
Ali to počnemo?

Preostane le še napajanje, samo odrežite konec vtičnice enosmernega toka adapterja in spajkajte 1000uF kondenzator med ozemljitvijo in 5 -voltno žico. Nato to povežite z vašo nastavitvijo, kot je prikazano na prejšnjem diagramu. Na Arduino lahko priključite tudi žice iz LED traku (mora biti samo 3).

7. korak: HACKERTIME

HAKERTIME
HAKERTIME

Koda, ki sem jo navedel, bi morala delovati brezhibno (morda bi se radi igrali z postavitvijo gumba za vnos, če ste svoje žice priključili drugače) Zato samo kopirajte, prilepite in naložite!

// Koda Jaela van Rossuma | Študent št. 3032611 // Projekt ITTT: Pametno ogledalo neskončnosti

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include

// Ustvarjanje prostora v pomnilniku za nastavitev LED_Strip #define NUM_LEDS 151 #define DATA_PIN 6

// Razglasitev spremenljivk in ustvarjanje naslovljivih LED_Strip LED diod CRGB [NUM_LEDS]; int LED_Hue = 0; int LED_Saturation = 255; int LED_Brightness = 255; int LED_Brightness_Right = LED_Brightness; int LED_Brightness_Top = LED_Brightness; int LED_Brightness_Left = LED_Brightness; int LED_Brightness_Bottom = LED_Brightness; int LED_Color = CRGB (255, 0, 0); CHSV hsv_Val (LED_Hue, LED_Saturation, LED_Brightness);

void setup () {Serial.begin (9600);

// razglasimo pinModes, ki ne razglasijo LED_pin, kot je bilo storjeno zgoraj z opredelitvijo DATA_PIN kot 6 pinMode (7, INPUT); pinMode (8, VHOD); pinMode (9, VHOD); pinMode (10, INPUT); pinMode (11, INPUT); pinMode (12, VHOD); // Ustvarjanje naslovljivih LED_Strip FastLED.addLeds (LED, NUM_LEDS); CHSV LED_Color = CHSV (LED_Hue, LED_Saturation, LED_Brightness); fill_solid (svetleče diode, NUM_LEDS, LED_Color); FastLED.show (); }

void loop () {int Button_Bottom = digitalRead (8); int Button_Middle = digitalno branje (9); int Button_Left = digitalno branje (10); int Button_Top = digitalno branje (11); int Button_Right = digitalno branje (12); if (Button_Middle == HIGH) {LED_Hue = LED_Hue +1; CHSV LED_Color = CHSV (LED_Hue, LED_Saturation, LED_Brightness); fill_solid (svetleče diode, NUM_LEDS, LED_Color); FastLED.show (); } če (Button_Right == HIGH) {if (LED_Brightness_Right> 0) {LED_Brightness_Right = LED_Brightness_Right - 1; CHSV LED_Color_Right = CHSV (LED_Hue, LED_Saturation, LED_Brightness_Right); fill_solid (LED, 28, LED_Color_Right); fill_solid (LED+116, 10, LED_Color_Right); FastLED.show (); } else {LED_Brightness_Right = 255; }}

if (Button_Top == HIGH) {if (LED_Brightness_Top> 0) {LED_Brightness_Top = LED_Brightness_Top -1; CHSV LED_Color_Top = CHSV (LED_Hue, LED_Saturation, LED_Brightness_Top); fill_solid (LED+28, 28, LED_Color_Top); fill_solid (LED+126, 10, LED_Color_Top); FastLED.show (); } else {LED_Brightness_Top = 255; }}

if (Button_Left == HIGH) {if (LED_Brightness_Left> 0) {LED_Brightness_Left = LED_Brightness_Left-1; CHSV LED_Color_Left = CHSV (LED_Hue, LED_Saturation, LED_Brightness_Left); fill_solid (LED+56, 28, LED_Color_Left); fill_solid (LED+136, 10, LED_Color_Left); FastLED.show (); } else {LED_Brightness_Left = 255; }}

if (Button_Bottom == HIGH) {if (LED_Brightness_Bottom> 0) {LED_Brightness_Bottom = LED_Brightness_Bottom-1; CHSV LED_Color_Bottom = CHSV (LED_Hue, LED_Saturation, LED_Brightness_Bottom); fill_solid (LED+84, 27, LED_Color_Bottom); fill_solid (LED+111, 5, LED_Color_Bottom); fill_solid (LED+146, 5, LED_Color_Bottom); FastLED.show (); } else {LED_Brightness_Bottom = 255; }}}

8. korak: Finale

Finale
Finale
Finale
Finale

Vse, kar je še treba storiti, je, da vse skupaj sestavite (ne pozabite ga preizkusiti, preden ga sestavite). Lepite vse kose lesa, ki niso bili zlepljeni (tudi Arduino v srednjem kvadratu) in upajte Murphy se ni pojavil v najslabšem (ali najboljšem) času. Vaš Arduino bi moral delovati, ko priključite napajalni kabel v steno, ogledalo pa mora delovati, kot je prikazano v videoposnetkih.

9. korak: Končali ste

Dobro opravljeno! Dokončali ste navodila! Pridobite si piškotek, lahko ste ponosni nase, saj ste prvič opravili pouk, ki ga je prvič napisal študent brucoša! Lepo se imejte in ne pozabite objaviti, kar ste naredili!

Priporočena: