Obsah:
- Krok 1: Schémata a hardware
- Krok 2: Výroba DPS hostování LED diod
- Krok 3: Výroba krabice
- Krok 4: Příprava kravaty
- Krok 5: Lepení Fiberoptics
- Krok 6: Provlečení vláknové optiky kravatou
- Krok 7: Přilepení vláknitých vláken na kravatu
- Krok 8: Kód
- Krok 9: Konečný produkt
Video: Hvězdná obloha Led Tie: 9 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Před nějakou dobou jsem v obchodě za dolar našel dětskou hračku s vláknovou optikou a začal přemýšlet, co bych s tím mohl dělat.
Jeden z bláznivých nápadů, které jsem měl, bylo udělat kravatu s efektem hvězdné oblohy.
Pořád jsem měl nějaké arduino pro mini, desky adafruit a baterie, které by se pravděpodobně hodily k tomuto projektu.
Takže jakmile jsem v zastavárně ve svém městě našel pěknou širokou kravatu a našel jsem krabici, která by se hodila k hardwaru, rozhodl jsem se jít do toho a zkusit to postavit.
Tento návod ukazuje, jak jsem to udělal.
Běží na arduino pro mini, adafruit powerboost 500 nabíječce, emmerich icr 18650nh-sp a 5 bílých LED. Kód způsobí, že se jas LED změní náhodně. (Prvních 40 sekund videa je 3x rychlejší)
Krok 1: Schémata a hardware
Používám následující hardware:
- DPS s ledově bílými LED diodami a rezistory 220 Ohm.
-Arduino pro mini (použil jsem knockoff)
-Nabíječka Adafruit Powerboost 500
-Emmerich Li-ion akumulátor ICR-18650NH-SP
- Optická vlákna (v různých velikostech)
Krok 2: Výroba DPS hostování LED diod
Odřízl jsem pásek z desky plošných spojů, aby držel LED diody, a pomocí kolíků LED ji připájel k hlavní desce plošných spojů.
Připojte všechny katody (-) k GND a polovinu kolíků pájíte na hlavní desku plošných spojů.
Připojte všechny anody (+) k rezistorům a kabely k arduinu.
LED diody musí být připojeny k jednomu z následujících portů PWM: 3, 5, 6, 9, 10, 11
Hloupé, že jsem s tímto projektem udělal spoustu chyb a zapomněl jsem zkontrolovat správné porty PWM, takže jsem musel o několik později vyřešit. Testováno s High/Low, takže jsem si toho všiml až později.
Začal jsem se 7 LED, ale bylo tam jen 6 portů PWM a jeden z LED diod, které jsem překódoval, zemřel. Nechal jsem 5 fungujících LED a 6. nepoužívám.
Krok 3: Výroba krabice
Použil jsem Bosch GRO (jako Dremel) a vrtačku, abych vyřízl tvar baterie, tlačítka, portu micro-usb, záhlaví z Arduina a optických vláken. (použijte protiprachovou masku!)
Přilepila baterii k pouzdru pomocí 2 pásem.
Pomocí šroubů namontujte desku Adafruit a desku plošných spojů.
Tření při otevírání a zavírání poškodilo některé dráty. Musel jsem je přeložit a použít lepidlo, aby se to neopakovalo.
Krok 4: Příprava kravaty
Odstraněno prošití ze spodní části kravaty, aby odpovídalo gumovému listu.
Abych skryl hardware a měl k němu v případě potřeby přístup, rozhodl jsem se použít zip.
Se šicím strojem si moc nevím rady, a tak moje sladká máma dala na zadní část kravaty zip.
Poté, co to bylo hotové, jsem lepil gumovou fólii do kravaty. Bál jsem se použít příliš mnoho lepidla, které by nasytilo látku a bylo vidět zepředu, a tak jsem se to pokusil vyrovnat a nepoužívat příliš mnoho. Celkově to vypadá dobře, ale na několika místech jsem zaznamenal příliš mnoho nebo příliš málo lepidla, protože to prošlo skrz látku nebo látku nelepilo příliš dobře. Naštěstí je to při jasném světle jen stěží viditelné z blízké vzdálenosti.
Krabice a kravata jsou nyní hotové. Čas na lepení optických vláken!
Krok 5: Lepení Fiberoptics
Hračka měla jeden velký svazek vláken z optických vláken, které se snadno rozpadly. Zkoušel jsem je nejprve slepit jeden po druhém, ale brzy jsem si všiml, že bude lepší vyrobit malé svazky a přilepit je k LED diodám najednou. To by usnadnilo jeho udržení v rovnováze, dokud lepidlo nezaschne. Zkazil to první LED, který na to přišel.
Určitě použijte průhledné lepidlo! Ten, který jsem použil, schnul velmi pomalu a rychle schnoucí lepidlo, které jsem zkoušel na první LED, zbělelo, takže některá vlákna z první LED byla méně jasná.
Nalepil jsem malé černé gumové listy, abych zabránil úniku světla nahoře a oddělil LED diody.
Jeden z listů zabránil zavření pouzdra, takže jsem přidal gumičku, aby byl kryt zavřený.
Krok 6: Provlečení vláknové optiky kravatou
Začínaje na dně jsem jehlou sevřel otvory a provlékl vlákna jeden po druhém. Vlákna každé LED se náhodně šíří po kravatě.
Na zadní stranu jsem nalepil černý proužek, který měl jít až k menší části kravaty, aby udržel váhu krabice, ale poté, co jsem prostrčil všechny dráty a cítil napětí drátů, rozhodl jsem se přilepit všechno do kravaty byl lepší nápad a odřízl proužek.
Vzhledem k tomu, že dráty z optických vláken z hračky byly tak krátké, bylo těžké je nasadit po celé kravatě. Měl jsem omezené umístění boxu a těžko jsem dělal všechno tak ploché, jak jsem chtěl.
Krok 7: Přilepení vláknitých vláken na kravatu
Všechny gumové optické dráty jsem nalepil na gumovou fólii, aby se dráty nevytáhly z gumové fólie a aby se kravata rovnala.
Abych se ujistil, že jsem při zatlačení nepřilepil svorku na kravatu, vložil jsem mezi ně nějaký papír. Nevypadá to tak skvěle, ale funguje to dobře. A když je zavřený, nevidíte to.
Poté, co lepidlo zaschlo, jsem odřízl dráty na přední straně a kousek odřízl gumový list těsně nad nejvyšším drátem, protože kravata byla příliš dlouhá.
Fotografie s bílou košilí jsou vyrobeny předtím, než jsem odstřihl poslední kousek gumy.
Krok 8: Kód
Pod kódem, který jsem napsal pro kravatu.
Všechny LED diody mají nastavený „průměr“(ve skutečnosti ne průměr, ale střední jas).
Jakmile dosáhne tohoto průměru, rozhodne se s šancí 3/4 přejít na nižší jas. Náhodně také nastavuje nový minimální jas, maximální jas, čekací dobu na minimální a maximální jas a rychlost, kterou zvyšuje nebo snižuje každé kolo (1-255) z 5 přednastavených hodnot. Poté provede cyklus, dokud opět nedosáhne průměru. Ve vysokém cyklu mohou být současně pouze 2 LED diody.
Každý stav je reprezentován celočíselnou hodnotou (1-7) určující, zda se bude pohybovat průměrně nízko, nízko avg, čeká nízko, aktualizuje atd.
Informace o nahrávání kódu do arduina najdete na www.arduino.cc
/ * Hvězdná obloha Tie * * Toto je skript k náhodnému vyblednutí 5 diod LED z průměrného na nižší * nebo vyšší jas s náhodným nastavením nižšího, vyššího a načasování *, aby vypadal jako hvězdná obloha při použití s vláknovou optikou. * V tomto případě budou implementovány nerozhodně. * * Šance nahoru/dolů = 1/4 nahoru, 3/4 dolů, přičemž maximálně 2 * se současně zvýší na maximum. * * Průměr zůstává stejný. * Minimum, maximum a možnosti časování se náhodně mění * z 5 možností pokaždé, když LED dioda opět dosáhne průměru. * * Vytvořil Billy Jaspers, květen 2019. *
/ Deklarujte piny
int LED01 = 3; int LED02 = 5; int LED03 = 6; int LED04 = 9; int LED05 = 11;
// Časové proměnné
bez znaménka dlouhý aktuální čas; nepodepsané dlouhé čekáníTime [5]; bez znaménka dlouhý lastRound;
// Proměnné LED
int brightMin [5] = {10, 10, 10, 10, 10}; // Minimální jas int brightAvg [5] = {200, 200, 200, 200, 200}; // Průměrný jas int BrightMax [5] = {240, 240, 240, 240, 240}; // Maximální jas int timeWaitLow [5] = {1000, 1000, 1000, 1000, 1000}; // Čekací doba int timeWaitAvg [5] = {5000, 5000, 5000, 5000, 5000}; // čekací doba int timeWaitMax [5] = {4000, 3000, 3000, 3000, 3000}; // doba čekání int přírůstek [5] = {2, 5, 4, 5, 2}; // Přírůstek jasu int currentBright [5] = {200, 230, 210, 210, 235}; // Aktuální jas
// Možnosti proměnných LED
int brightMinPos [5] = {5, 20, 40, 5, 20}; // Minimální možnosti jasu int brightMaxPos [5] = {240, 245, 230, 225, 245}; // Maximální možnosti jasu int timeLowPos [5] = {3000, 5000, 4000, 2000, 1000}; // Čekací doba na možnostech nízkého jasu int timeHighPos [5] = {3000, 1000, 500, 2000, 4000}; // Doba čekání na možnosti vysokého jasu int timeAvgPos [5] = {3000, 5000, 4000, 7000, 8000}; // Čekací doba na možnosti průměrného jasu int incrementPos [5] = {2, 4, 5, 3, 1}; // přírůstek možností jasu
// Proměnné
bool startup = true; // Je nutné spustit nastavení spuštění?
// Směrové proměnné
/* 0 = průměrné čekání 1 = přechod průměrně na nejnižší 2 = čekání nízké 3 = přechod na nejnižší průměr 4 = přechod průměrného na maximální 5 = čekání na maximální 6 = přechod na vysoký průměr 7 = aktualizace proměnných*/ int statusLED [5] = {0, 0, 0, 0, 0}; int částkaHighLED = 0; int refreshRate = 50; bool statusWaiting [5] = {false, false, false, false, false}; // Led čeká?
// Náhodné proměnné
dlouhé randomNumber; // Dlouhé uložení náhodného čísla dlouhé randomNumberTwo; // Dlouhé pro uložení druhého náhodného čísla
// čítače
int i = 0; // Počitadlo pro hlavní smyčku
neplatné nastavení () {
Serial.begin (115200); // Spuštění sériového randomSeed (analogRead (A0)); // Nastavit randomseed
// Deklarace výstupů
pinMode (LED01, VÝSTUP); pinMode (LED02, VÝSTUP); pinMode (LED03, VÝSTUP); pinMode (LED04, VÝSTUP); pinMode (LED05, VÝSTUP); }
// Zapisujte data do LED
void writeToLED () {analogWrite (LED01, currentBright [0]); analogWrite (LED02, currentBright [1]); analogWrite (LED03, currentBright [2]); analogWrite (LED04, currentBright [3]); analogWrite (LED05, currentBright [4]); }
// Hlavní smyčka
void loop () {if (startup) {// Nastavení spuštění lastRound = millis (); // Nastavit lastRound pro boot writeToLED (); // Zapište startovací data do LED startup = false; // Vypnout spouštění} currentTime = millis (); // Nastavit aktuální čas
if (currentTime - lastRound> = refreshRate) {
pro (i = 0; i <5; i ++) {if (statusLED == 7) {// -7- Aktualizace Led randomNumber = random (5); brightMin = brightMinPos [randomNumber]; // Nastavit náhodnou hodnotu pro minimální jas randomNumber = random (5); brightMax = brightMaxPos [randomNumber]; // Nastavit náhodnou hodnotu pro maximální jas randomNumber = random (5); timeWaitLow = timeLowPos [randomNumber]; // Nastavit náhodnou hodnotu pro nízkou čekací dobu randomNumber = random (5); timeWaitMax = timeHighPos [randomNumber]; // Nastavit náhodnou hodnotu pro vysokou čekací dobu randomNumber = random (5); timeWaitAvg = timeAvgPos [randomNumber]; // Nastavit náhodnou hodnotu pro průměrnou čekací dobu randomNumber = random (5); increment = incrementPos [randomNumber]; // Nastavit náhodnou hodnotu pro přírůstkovou hodnotu randomNumber = random (2); // Nastavit náhodnou hodnotu pro směr randomNumberTwo = random (2); // Nastavte náhodnou hodnotu pro směr if (randomNumber == 1 && randomNumberTwo == 0 && amountHighLED = brightAvg ) {statusLED = 0; // Pokud je v nejnižším bodě: Přejít na Čekající průměr} else {currentBright = currentBright +přírůstek ; // Jinak: Vyšší jas}} else if (statusLED == 2) {// -2- Waiting Low if (! StatusWaiting ) {// If not expect: waitingTime = millis (); // Nastavit stav čekací dobyWaiting = true; // Začněte čekat} else if (statusWaiting && currentTime-waitingTime > = timeWaitLow ) {// Pokud čekání AND timeWaitAvg uplynulo: statusWaiting = false; // Zastavit čekání statusLED = 3; // Nastavit statusLed na Čekání na aktualizaci}} else if (statusLED == 1) {// -1- Goggg to Low if (currentBright <= brightMin ) {statusLED = 2; // Pokud je v nejnižším bodě: Přejít na Waiting Low} else {currentBright = currentBright -increment ; // Jinak: Nižší jas}} else if (statusLED == 6) {// -6- Maxing to Avg if (currentBright = timeWaitMax ) {// Pokud čeká AND timeWaitAvg: statusWaiting = false; // Zastavit čekáníLED = 6; // Nastavit statusLed na Čekání na aktualizaci}} else if (statusLED == 4) {// -4- Goggg to Max if (currentBright > = brightMax ) {statusLED = 5; // Pokud je v nejnižším bodě: Přejít na Čekající vysoká} else {currentBright = currentBright +přírůstek ; // Jinak: Vyšší jas}} else if (statusLED == 0) {// -0- průměrné čekání if (! StatusWaiting ) {// Pokud nečeká: waitTime = millis (); // Nastavit stav čekací dobyWaiting = true; // Začněte čekat} else if (statusWaiting && currentTime-waitingTime > = timeWaitAvg ) {// Pokud čekání AND timeWaitAvg uplynulo: statusWaiting = false; // Zastavit čekáníLED = 7; // Nastavit statusLed na Čekání na aktualizaci}}} i = 0; lastRound = millis (); // Nastaví se po dokončení posledního kola. writeToLED (); // Zapište všechna data do LED}}
Krok 9: Konečný produkt
Myslím, že to dobře dopadlo. Kravata není příliš tlustá, tuhá, dlouhá ani těžká a hvězdný efekt vypadá úžasně.
Doporučuje:
Grid Tie Inverter: 10 kroků (s obrázky)
Grid Tie Inverter: Jedná se o masový projekt, takže se připoutejte! Střídače s mřížkou vám umožňují zapojit napájení do elektrické zásuvky, což je úžasná schopnost. Považuji výkonovou elektroniku a řídicí systémy zapojené do jejich designu za zajímavé, proto jsem si postavil vlastní. Tato zpráva je
Interaktivní akrylová noční obloha: 6 kroků
Interaktivní akrylová noční obloha: Skvělá kresba noční scény může vylepšit design vašeho interiéru, ať už je to váš pokoj nebo obývací pokoj. Tento projekt vám nabízí možnost navrhnout si pokoj vlastními rukama. Shromážděte svůj umělecký talent a postupujte podle mých pokynů, abyste dokončili
Hvězdná brána pro vaši plochu - design DPS: 6 kroků (s obrázky)
Stargate for Your Desktop - PCB Design: Pokud se vám tento projekt líbí, zvažte prosím jeho hlasování v soutěži PCB (v dolní části stránky)! Stargate SG -1 je můj oblíbený televizní pořad všech dob - tečka. Během posledních několika měsíců jsem nutil svou přítelkyni sledovat, aby sledovala
Rádiem řízená hvězdná loď: 8 kroků
Rádiem řízená hvězdná loď: V hlavě jsem měl nápad, který prostě neodejde. Jsem fanouškem seriálu Star Trek. Hvězdná loď Enterprise je ikonou mé generace. Měl jsem nápad, který by to nechal létat RC. "Deflektor" lusk pod motory vypadal
Hvězdná válka DF.9 věžička: 4 kroky
Star Wars DF.9 Turret: Tak tento projekt z náhodného hledání Star Wars na Thingiverse jsem objevil věc: 3041805. To mě zaujalo, protože si to živě pamatuji z filmu 5. Hvězdné války Impérium vrací úder. Chvíli jsem chtěl udělat věž a tento pohled