Obsah:
- Krok 1: Schémy a hardvér
- Krok 2: Výroba dosky plošných spojov s LED diódami
- Krok 3: Výroba škatule
- Krok 4: Príprava kravaty
- Krok 5: Lepenie optických vlákien
- Krok 6: Prevlečenie Fiberoptics cez kravatu
- Krok 7: Prilepenie vláknovej optiky na kravatu
- Krok 8: Kód
- Krok 9: Konečný produkt
Video: Kravata s hviezdnou oblohou: 9 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Pred nejakým časom som v obchode za dolár našiel detskú hračku s optickými vláknami a začal som premýšľať, čo by som s tým mohol urobiť.
Jeden z bláznivých nápadov, ktorý som mal, bolo vyrobiť kravatu s efektom hviezdnej oblohy.
Stále som nechal položiť niekoľko arduino pro mini, dosky adafruit a batérie, ktoré by sa do tohto projektu pravdepodobne hodili.
Akonáhle som teda našiel v záložni v mojom meste peknú širokú kravatu a našiel som krabicu, ktorá by sa zmestila k hardvéru, rozhodol som sa ísť do toho a skúsiť to postaviť.
Tento návod vám ukáže, ako som to urobil.
Beží na arduino pro mini, adafruit powerboost 500 nabíjačke, emmerich icr 18650nh-sp a 5 bielych LED diódach. Kód spôsobuje, že jas LED diódy je náhodný. (Prvých 40 sekúnd videa je 3x rýchlejšie)
Krok 1: Schémy a hardvér
Používam nasledujúci hardvér:
- DPS s ľadovo bielymi LED diódami a odpormi 220 Ohm.
-Arduino pro mini (použil som knockoff)
-Nabíjačka Adafruit Powerboost 500
-Emmerich Li-ion akumulátor ICR-18650NH-SP
- Optické vlákna (v rôznych veľkostiach)
Krok 2: Výroba dosky plošných spojov s LED diódami
Odrezal som pásik z dosky plošných spojov, aby držal diódy LED, a pomocou kolíkov diódy LED som ju spájkoval s hlavnou doskou s plošnými spojmi.
Pripojil všetky katódy (-) k GND a pomocou polovice pinov ich spájkoval prilepených k hlavnej doske plošných spojov.
Pripojené všetky anódy (+) k rezistorom a káblami k arduinu.
LED diódy musia byť pripojené k jednému z nasledujúcich portov PWM: 3, 5, 6, 9, 10, 11
Hlúpe, že som s týmto projektom urobil veľa chýb a zabudol som skontrolovať správne porty PWM, takže som o niekoľko neskôr musel prekladať. Testované s High/Low, takže som si to všimol až neskôr.
Začal som so 7 diódami LED, ale bolo tam iba 6 portov PWM a jeden z rozlíšených LED diód zomrel. Ponechal som 5 funkčných LED a 6. nepoužívam.
Krok 3: Výroba škatule
Použil som Bosch GRO (ako Dremel) a vŕtačku na vyrezanie tvaru batérie, tlačidla, portu micro-usb, hlavičiek z Arduina a optických vlákien. (používajte protiprachovú masku!)
Prilepila batériu k puzdru pomocou 2 pásiem.
Pomocou skrutiek sa namontovala doska Adafruit a doska plošných spojov.
Trenie pri otváraní a zatváraní poškodilo niektoré drôty. Musel som ich preložiť a použiť lepidlo, aby sa to neopakovalo.
Krok 4: Príprava kravaty
Odstránené stehy zo spodnej časti kravaty, aby zodpovedali gumovému listu.
Aby som skryl hardvér a aby som k nemu mal v prípade potreby prístup, rozhodol som sa použiť zips.
Nie som dobrý v šijacom stroji, takže moja zlatá mama dala na zadnú stranu kravaty zips.
Potom, čo som to urobil, som lepil gumový list do kravaty. Bál som sa použiť príliš veľa lepidla, ktoré by nasýtilo látku a bolo viditeľné spredu, a tak som sa to pokúsil vyrovnať a nepoužívať príliš veľa. Celkovo to vyzerá dobre, ale na niekoľkých miestach som si všimol príliš veľa alebo málo lepidla, pretože to prešlo cez látku alebo látku nelepilo veľmi dobre. Našťastie je to pri jasnom svetle len málo viditeľné z blízkej vzdialenosti.
Krabica a kravata sú teraz hotové. Čas na lepenie optických vlákien!
Krok 5: Lepenie optických vlákien
Hračka mala jeden veľký zväzok optických drôtov, ktoré sa ľahko rozpadli. Najprv som sa ich pokúšal lepiť jeden po druhom, ale čoskoro som si všimol, že bude lepšie vytvoriť malé zväzky a prilepiť ich k dióde LED naraz. To by uľahčilo jeho udržanie v rovnováhe, kým lepidlo nebude suché. Pochopil prvú LED diódu, ktorá na to prišla.
Nezabudnite použiť transparentné lepidlo! Ten, ktorý som použil, sušil veľmi pomaly a rýchloschnúce lepidlo, ktoré som vyskúšal na prvej LED dióde, zbelielo, takže niektoré vlákna z prvej LED boli menej jasné.
Nalepil som malé čierne gumové pláty, aby som zabránil úniku svetla na vrch a oddelil LED diódy.
Jeden z listov zabránil zatvoreniu puzdra, takže som pridal gumičku, aby bol kryt zatvorený.
Krok 6: Prevlečenie Fiberoptics cez kravatu
Začínajúc od spodnej časti som ihlou zovrel otvory a prevliekol vlákna jeden po druhom. Vlákna každej LED sa náhodne šíria po kravate.
Na zadnú stranu som prilepil čierny pásik, ktorý mal ísť až po menšiu časť kravaty, aby držal hmotnosť krabice, ale potom, čo som prevliekol všetky drôty a cítil napätie drôtov, som sa rozhodol lepiť všetko do kravaty bol lepší nápad a prerezal prúžok.
Pretože drôty z optických vlákien z hračky boli také krátke, bolo ťažké ich pripevniť na celú kravatu. Bol som obmedzený v polohovaní boxu a ťažko som robil všetko tak ploché, ako som chcel.
Krok 7: Prilepenie vláknovej optiky na kravatu
Nalepil som všetky drôty z optických vlákien na gumovú fóliu, aby som zabránil vytiahnutiu drôtov z gumovej fólie a aby bola kravata rovná.
Aby som sa ubezpečil, že som pri tlačení na svorku nelepil svorku na kravatu, vložil som medzi ňu papier. Nevyzerá to tak dobre, ale funguje to dobre. A nevidíte to, keď je zatvorené.
Potom, čo lepidlo zaschlo, som odrezal drôty na prednej strane a trochu odrezal gumový plech tesne nad najvyšším drôtom, pretože viazačka bola trochu dlhá.
Fotografie s bielou košeľou sú urobené predtým, ako som odstrihol posledný kúsok gumy.
Krok 8: Kód
Pod kódom, ktorý som napísal pre kravatu.
Všetky diódy LED majú nastavený „priemer“(v skutočnosti nie je priemer, ale stredný jas).
Hneď ako dosiahne tento priemer, rozhodne sa s šancou 3/4, že prejde na nižší jas. Tiež náhodne nastaví nový minimálny jas, maximálny jas, dobu čakania na minimálny a maximálny jas a rýchlosť, ktorú každé kolo (1-255) zvyšuje alebo znižuje z 5 prednastavených hodnôt. Potom urobí cyklus, kým opäť nedosiahne priemer. Vo vysokom cykle môžu byť súčasne iba 2 LED diódy.
Každý stav je reprezentovaný celočíselnou hodnotou (1-7) určujúcou, či bude priemerný, nízky, stredný, čakajúci nízky, aktualizovaný atď.
Informácie o odoslaní kódu do arduina nájdete na stránke www.arduino.cc
/ * Hviezdna obloha Tie * * Toto je skript na náhodne vyblednutie 5 diód LED z priemerného na nižší * alebo vyšší s náhodným nastavením nižšieho, vyššieho a načasovania * tak, aby vyzeral ako hviezdna obloha pri použití optických vlákien. * V tomto prípade budú implementované nerozhodne. * * Šanca hore/dole = 1/4 hore, 3/4 dole, pričom maximálne 2 * stúpa súčasne na maximum. * * Priemer zostáva rovnaký. * Minimálne, maximálne a časové možnosti sa náhodne menia * z 5 možností zakaždým, keď LED dióda opäť dosiahne priemer. * * Vytvoril Billy Jaspers, máj 2019. *
/ Vyhláste špendlíky
int LED01 = 3; int LED02 = 5; int LED03 = 6; int LED04 = 9; int LED05 = 11;
// Časové premenné
nepodpísaný dlhý aktuálny čas; nepodpísaný dlhý čakací čas [5]; nepodpísaný dlhý poslednýKruh;
// LED premenné
int brightMin [5] = {10, 10, 10, 10, 10}; // Minimálny jas int brightAvg [5] = {200, 200, 200, 200, 200}; // Priemerný jas int BrightMax [5] = {240, 240, 240, 240, 240}; // Maximálny jas za časWaitLow [5] = {1000, 1000, 1000, 1000, 1000}; // čakacia doba int timeWaitAvg [5] = {5000, 5000, 5000, 5000, 5000}; // čakacia doba int timeWaitMax [5] = {4000, 3000, 3000, 3000, 3000}; // prírastok čakacieho času [5] = {2, 5, 4, 5, 2}; // Prírastok jasu int currentBright [5] = {200, 230, 210, 210, 235}; // Aktuálny jas
// Možnosti premenných LED
int brightMinPos [5] = {5, 20, 40, 5, 20}; // Minimálne možnosti jasu int brightMaxPos [5] = {240, 245, 230, 225, 245}; // Maximálne možnosti jasu za časLowPos [5] = {3000, 5000, 4000, 2000, 1000}; // Čas čakania na možnosti nízkeho jasu int timeHighPos [5] = {3000, 1000, 500, 2000, 4000}; // Čas čakania na možnosti vysokého jasu int timeAvgPos [5] = {3000, 5000, 4000, 7000, 8000}; // Čas čakania na možnosti priemerného jasu v prírastkochPos [5] = {2, 4, 5, 3, 1}; // prírastok v možnostiach jasu
// Premenné
bool startup = true; // Je potrebné spustiť nastavenia spustenia?
// Smerové premenné
/* 0 = priemerné čakanie 1 = prechod priem. Na nízky 2 = čakanie nízky 3 = prechod na nízky priemer 4 = prechod na priemer 5 = čakanie na max. 6 = prechod na vysoký priemer 7 = aktualizácia premenných*/ int statusLED [5] = {0, 0, 0, 0, 0}; int sumaHighLED = 0; int refreshRate = 50; bool statusWaiting [5] = {false, false, false, false, false}; // Čaká Led?
// Náhodné premenné
dlhé randomNumber; // Dlhé na uloženie náhodného čísla dlhé randomNumberTwo; // Dlhé na uloženie druhého náhodného čísla
// počítadlá
int i = 0; // Počítadlo pre hlavnú slučku
neplatné nastavenie () {
Serial.begin (115200); // Spustenie sériového randomSeed (analogRead (A0)); // Nastavte randomseed
// Deklarovanie výstupov
pinMode (LED01, VÝSTUP); pinMode (LED02, VÝSTUP); pinMode (LED03, VÝSTUP); pinMode (LED04, VÝSTUP); pinMode (LED05, VÝSTUP); }
// Zapisujte údaje do LED diód
void writeToLED () {analogWrite (LED01, currentBright [0]); analogWrite (LED02, currentBright [1]); analogWrite (LED03, currentBright [2]); analogWrite (LED04, currentBright [3]); analogWrite (LED05, currentBright [4]); }
// Hlavná slučka
void loop () {if (startup) {// Nastavenia pri spustení lastRound = millis (); // Nastavte lastRound pre boot writeToLED (); // Zapisovanie štartovacích dát do LED startup = false; // Vypnutie spustenia} currentTime = millis (); // Nastavenie aktuálneho času
if (currentTime - lastRound> = refreshRate) {
pre (i = 0; i <5; i ++) {if (statusLED == 7) {// -7- Aktualizácia Led randomNumber = random (5); brightMin = brightMinPos [randomNumber]; // Nastavenie náhodnej hodnoty pre minimálny jas randomNumber = random (5); brightMax = brightMaxPos [randomNumber]; // Nastavenie náhodnej hodnoty pre maximálny jas randomNumber = random (5); timeWaitLow = timeLowPos [randomNumber]; // Nastavenie náhodnej hodnoty pre nízky čas čakania randomNumber = random (5); timeWaitMax = timeHighPos [randomNumber]; // Nastavenie náhodnej hodnoty pre vysokú čakaciu dobu randomNumber = random (5); timeWaitAvg = timeAvgPos [randomNumber]; // Nastaviť náhodnú hodnotu priemerného času čakania randomNumber = random (5); increment = incrementPos [randomNumber]; // Nastaviť náhodnú hodnotu pre prírastkovú hodnotu randomNumber = random (2); // Nastavenie náhodnej hodnoty pre smer randomNumberTwo = random (2); // Nastavte náhodnú hodnotu pre smer if (randomNumber == 1 && randomNumberTwo == 0 && amountHighLED = brightAvg ) {statusLED = 0; // Ak je v najnižšom bode: Prejdite na Čakajúci priemer} else {currentBright = currentBright +prírastok ; // Iná: Vyšší jas}} else if (statusLED == 2) {// -2- Waiting Low if (! StatusWaiting ) {// If not waiting: waitingTime = millis (); // Nastaviť stav času čakaniaWaiting = true; // Začnite čakať} else if (statusWaiting && currentTime-waitingTime > = timeWaitLow ) {// Ak čakanie AND timeWaitAvg uplynulo: statusWaiting = false; // Stav zastavenia čakaniaLED = 3; // Nastav statusLed na Čaká na aktualizáciu}} else if (statusLED == 1) {// -1- Goggg to Low if (currentBright <= brightMin ) {statusLED = 2; // Ak je v najnižšom bode: Choďte na Waiting Low} else {currentBright = currentBright -increment ; // Iná: Nižší jas}} else if (statusLED == 6) {// -6- Maxing to Avg if (currentBright = timeWaitMax ) {// Ak čaká AND timeWaitAvg: statusWaiting = false; // Stav zastavenia čakaniaLED = 6; // Nastav statusLed na Čaká sa na aktualizáciu}} else if (statusLED == 4) {// -4- Goggg to Max if if (currentBright > = BrightMax ) {statusLED = 5; // Ak je v najnižšom bode: Choďte na Waiting High} else {currentBright = currentBright +prírastok ; // Iná: Vyšší jas}} else if (statusLED == 0) {// -0- priemerné čakanie, ak (! StatusWaiting ) {// Ak nečaká: waitTime = millis (); // Nastaviť stav času čakaniaWaiting = true; // Začnite čakať} else if (statusWaiting && currentTime-waitingTime > = timeWaitAvg ) {// Ak čakanie AND timeWaitAvg uplynulo: statusWaiting = false; // Stav zastavenia čakaniaLED = 7; // Nastav statusLed na Čakanie na aktualizáciu}}} i = 0; lastRound = millis (); // Nastaví sa, keď sa skončí posledné kolo. writeToLED (); // Zapisujte všetky údaje do diód LED}}
Krok 9: Konečný produkt
Myslím, že to dopadlo dobre. Kravata nie je príliš hrubá, tuhá, dlhá ani ťažká a efekt hviezdy vyzerá úžasne.
Odporúča:
Ako: Inštalácia Raspberry PI 4 bezhlavého (VNC) s obrazovým procesorom Rpi a obrázkami: 7 krokov (s obrázkami)
Ako na to: Inštalácia Raspberry PI 4 bez hlavy (VNC) s obrázkom Rpi a obrázkami: Plánujem použiť tento nástroj Rapsberry PI v mnohých zábavných projektoch späť na mojom blogu. Neváhajte sa na to pozrieť. Chcel som sa vrátiť k používaniu svojho Raspberry PI, ale na novom mieste som nemal klávesnicu ani myš. Chvíľu to bolo, odkedy som nastavil Raspberry
Počítadlo krokov - mikro: bit: 12 krokov (s obrázkami)
Počítadlo krokov - mikro: bit: Tento projekt bude počítadlom krokov. Na meranie našich krokov použijeme senzor akcelerometra, ktorý je vstavaný v Micro: Bit. Zakaždým, keď sa Micro: Bit zatrasie, pridáme k počtu 2 a zobrazíme ho na obrazovke
Pracovná klavírna kravata: 6 krokov
Pracovná klavírna kravata: Osemdesiate roky priniesli mnoho veľkých úspechov v oblasti módy a hudby. K dispozícii bola syntetická hudba, zábavný keytar, legíny a klasická pánska kravata. Tieto kravaty nosili ironicky (a neironicky) mnohí módni (a nemoderní)
Bolt - Nočné hodiny pre bezdrôtové nabíjanie DIY (6 krokov): 6 krokov (s obrázkami)
Bolt - Nočné hodiny bezdrôtového nabíjania DIY (6 krokov): Indukčné nabíjanie (tiež známe ako bezdrôtové nabíjanie alebo bezdrôtové nabíjanie) je typ bezdrôtového prenosu energie. Na prenos elektriny do prenosných zariadení používa elektromagnetickú indukciu. Najbežnejšou aplikáciou je bezdrôtové nabíjanie Qi
Ako rozobrať počítač pomocou jednoduchých krokov a fotografií: 13 krokov (s obrázkami)
Ako rozobrať počítač jednoduchými krokmi a obrázkami: Toto je návod, ako rozobrať počítač. Väčšina základných komponentov je modulárna a dá sa ľahko odstrániť. Je však dôležité, aby ste o tom boli organizovaní. Pomôže to zabrániť strate súčiastok a tiež pri opätovnej montáži