Taula de continguts:
- Pas 1: esquemes i maquinari
- Pas 2: Feu que els PCB allotgin els LED
- Pas 3: fer la caixa
- Pas 4: Preparació de la corbata
- Pas 5: enganxar el Fiberoptics
- Pas 6: posar fibra òptica a través de la corbata
- Pas 7: Enganxar fibra òptica a la corbata
- Pas 8: el codi
- Pas 9: producte final
Vídeo: Corbata de cel estrellat: 9 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Fa un temps vaig trobar una joguina infantil amb fibra òptica a una botiga de dòlars i vaig començar a pensar què hi podia fer.
Una de les idees esbojarrades que tenia, era fer una corbata amb l’efecte d’un cel estrellat.
Encara tenia algunes arduino pro mini, taules adafruit i bateries que probablement s’adaptarien a aquest projecte.
Així que, tan bon punt vaig trobar una bona corbata ampla en una casa d’empenyorament de la meva ciutat i vaig trobar una caixa que s’adaptava al maquinari, vaig decidir anar-hi i intentar construir-lo.
Aquest instructiu us mostra com ho he fet.
Funciona amb un arduino pro mini, carregador adafruit powerboost 500, emmerich icr 18650nh-sp i 5 LED blancs. El codi fa que la brillantor del canvi del LED sigui aleatòria. (Els primers 40 segons del vídeo tenen una velocitat de 3 vegades)
Pas 1: esquemes i maquinari
Estic fent servir el maquinari següent:
- PCB amb LEDs blancs de gel i resistències de 220 Ohm.
- Arduino pro mini (he utilitzat un knockoff)
Carregador Adafruit Powerboost 500
- Emmerich Li-ion accu ICR-18650NH-SP
- Fibres òptiques (de diferents mides)
Pas 2: Feu que els PCB allotgin els LED
Vaig tallar una tira d’un PCB per subjectar els LED i vaig utilitzar els pins LED per soldar-lo al PCB principal.
Es va connectar tots els càtodes (-) a GND i es va utilitzar la meitat dels pins per soldar-lo enganxat al PCB principal.
Connectat tots els ànodes (+) a resistències i amb cables a l’arduino.
Els LED s'han de connectar cadascun a un dels ports PWM següents: 3, 5, 6, 9, 10, 11
Silly me va cometre molts errors amb aquest projecte i em vaig oblidar de comprovar els ports PWM correctes, així que vaig haver de tornar a vendre uns quants més tard. Provat amb Alt / Baix, així que només ho vaig notar més tard.
Vaig començar amb 7 LED, però només hi havia 6 ports PWM i un dels LED que heu tornat a soldar va morir. Acabo de mantenir els 5 LEDs que funcionen i no estic utilitzant el sisè.
Pas 3: fer la caixa
Vaig utilitzar un Bosch GRO (com un Dremel) i un trepant per retallar la forma de la bateria, el botó, el port micro-usb, les capçaleres de l’Arduino i les fibres òptiques. (feu servir una màscara antipols).
Enganxem la bateria a la caixa amb 2 bandes.
Cargols usats per muntar la placa Adafruit i el PCB.
La fricció oberta i tancada va danyar alguns cables. Vaig haver de tornar a vendre-les i fer servir cola per evitar que tornés a passar.
Pas 4: Preparació de la corbata
S'ha eliminat la costura de la part inferior de la corbata per adaptar-la a la làmina de goma.
Per amagar el maquinari i poder accedir-hi si calia, vaig decidir utilitzar una cremallera.
No estic bé amb una màquina de cosir, així que la meva dolça mare va posar una cremallera a la part posterior de la corbata.
Després d'això, vaig enganxar la làmina de goma a la corbata. Tenia por d’utilitzar massa cola que saturés la tela i fos visible des de la part frontal, així que vaig intentar uniformitzar-la i no fer-ne servir massa. En general, es veu bé, però en alguns llocs vaig notar massa o massa pega, perquè entrava a través de la tela o no enganxava la tela molt bé. Afortunadament, això només és visible a poca distància amb llum intensa.
El quadre i l’empat ja estan acabats. És hora d’enganxar la fibra òptica!
Pas 5: enganxar el Fiberoptics
La joguina tenia un gran paquet de cables de fibra òptica que es trencaven fàcilment. Vaig intentar enganxar-los un a un al principi, però aviat em vaig adonar que seria millor fer feixos petits i enganxar-los al LED alhora. Això farà que sigui més fàcil mantenir-lo constant fins que la cola estigui seca. Va desordenar el primer LED descobrint això.
Assegureu-vos d’utilitzar una cola transparent. El que vaig utilitzar es va assecar molt lentament i la cola d’assecat ràpid que vaig provar el primer LED es va tornar blanca, fent que algunes fibres del primer LED fossin menys brillants.
Vaig enganxar petites làmines de cautxú negre per evitar fuites de llum a la part superior i per separar els LED.
Una de les fulles va evitar que el cas es tanqués, de manera que vaig afegir una goma per mantenir la tapa tancada.
Pas 6: posar fibra òptica a través de la corbata
Començant per la part inferior, vaig pessigar forats amb una agulla i vaig posar les fibres una a una. Les fibres de cada LED s’estenen aleatòriament per la corbata.
Vaig enganxar una tira negra a la part posterior que se suposava que anava fins a la part més petita de la corbata per mantenir el pes de la caixa, però després de passar tots els cables i sentir la tensió dels cables, vaig decidir enganxar tot a la corbata va ser una millor idea i va tallar la tira.
Com que els cables de fibra òptica de la joguina eren tan curts, era difícil encaixar-los a tota la corbata. Em limitava a col·locar la caixa i em costava fer-ho tot tan pla com volia.
Pas 7: Enganxar fibra òptica a la corbata
Vaig enganxar tots els cables de fibra òptica a la làmina de goma per evitar que els cables s’extirpessin de la làmina de goma i per fer que la corbata fos plana.
Per assegurar-me que no vaig enganxar la pinça a la corbata en pressionar-la, vaig posar una mica de paper pel mig. No es veu tan bé, però funciona bé. I no ho veieu quan està tancat.
Després d'assecar-se la cola, vaig tallar els cables de la part frontal i vaig tallar una mica la làmina de goma just per sobre del fil més alt, perquè la corbata era una mica massa llarga.
Les fotos amb la camisa blanca es fan abans de tallar aquest darrer tros de goma.
Pas 8: el codi
A sota del codi que vaig escriure per a l’empat.
Tots els LED tenen una "mitjana" establerta (en realitat no una mitjana, sinó una brillantor mitjana).
Tan bon punt assoleixi aquesta mitjana, decidirà amb una possibilitat de 3/4 d'anar a una brillantor inferior. També estableix a l’atzar una nova brillantor mínima, màxima brillantor, temps d’espera per obtenir una brillantor mínima i màxima i la velocitat que augmenta o disminueix cada ronda (1-255) a partir de 5 valors predeterminats. Després farà un cicle fins que torni a assolir la mitjana. Només 2 LED poden estar en un cicle alt al mateix temps.
Tots els estats es representen mitjançant un valor enter (1-7) que determina si va a fer una mitjana-baixa, baixa-mitjana, espera baixa, actualització, etc.
Per obtenir informació sobre com penjar codi a l’arduino, consulteu www.arduino.cc
/ * Corbata de cel estrellat * * Aquest és un guió per esvair de manera aleatòria 5 LEDs de brillantor mitjana a menor * o superior amb configuracions aleatòries més baixes, més altes i de temps * per semblar un cel estrellat quan s’utilitza amb fibra òptica. * En aquest cas, s’implementaran en empat. * * Possibilitat de pujar / baixar = 1/4 amunt, 3/4 avall, amb un màxim de 2 * pujant al màxim al mateix temps. * * La mitjana es manté igual. * Les opcions mínimes, màximes i de temps canvien aleatòriament * a partir de 5 opcions cada vegada que un LED torna a assolir la mitjana. * * Creat per Billy Jaspers, maig de 2019. *
/ Declareu els pins
int LED01 = 3; int LED02 = 5; int LED03 = 6; int LED04 = 9; int LED05 = 11;
// Variables de temps
llarga hora sense signar; Temps d’espera llarg sense signar [5]; unsigned long lastRound;
// Variables LED
int brightMin [5] = {10, 10, 10, 10, 10}; // Brillantor mínima int brightAvg [5] = {200, 200, 200, 200, 200}; // Brillantor mitjana int brightMax [5] = {240, 240, 240, 240, 240}; // Llum màxima int timeWaitLow [5] = {1000, 1000, 1000, 1000, 1000}; // Temps d’espera int timeWaitAvg [5] = {5000, 5000, 5000, 5000, 5000}; // Temps d’espera int timeWaitMax [5] = {4000, 3000, 3000, 3000, 3000}; // Increment del temps d'espera [5] = {2, 5, 4, 5, 2}; // Increment de la brillantor int currentBright [5] = {200, 230, 210, 210, 235}; // Brillantor actual
// Possibilitats de variables LED
int brightMinPos [5] = {5, 20, 40, 5, 20}; // Possibilitats de brillantor mínimes int brightMaxPos [5] = {240, 245, 230, 225, 245}; // Possibilitats de brillantor màximes int timeLowPos [5] = {3000, 5000, 4000, 2000, 1000}; // Temps d’espera amb possibilitats de poca brillantor int timeHighPos [5] = {3000, 1000, 500, 2000, 4000}; // Temps d’espera amb possibilitats d’alta brillantor int timeAvgPos [5] = {3000, 5000, 4000, 7000, 8000}; // Temps d’espera amb possibilitats mitjanes de brillantor int incrementPos [5] = {2, 4, 5, 3, 1}; // augment de les possibilitats de brillantor
// Les variables
bool startup = cert; // Cal iniciar la configuració d'inici?
// Variables direccionals
/ * 0 = Esperar a la mitjana 1 = passar a la mitjana 2 = esperar a la baixa 3 = anar a la mitjana de 4 = anar a la mitjana de 5 = esperar a la màxima 6 = anar a la mitjana de 7 = Actualitzar les variables * / int statusLED [5] = {0, 0, 0, 0, 0}; int amountHighLED = 0; int refreshRate = 50; bool statusWaiting [5] = {fals, fals, fals, fals, fals}; // El Led està esperant?
// Variables aleatòries
nombre aleatori llarg; // Llarg per emmagatzemar nombre aleatori llarg randomNumberTwo; // Llarg per emmagatzemar el segon número aleatori
// comptadors
int i = 0; // Comptador per a bucle principal
configuració nul·la () {
Serial.begin (115200); // Iniciar serial randomSeed (analogRead (A0)); // Defineix randomseed
// Declarar les sortides
pinMode (LED01, OUTPUT); pinMode (LED02, OUTPUT); pinMode (LED03, OUTPUT); pinMode (LED04, OUTPUT); pinMode (LED05, OUTPUT); }
// Escriviu dades als LED
void writeToLED () {analogWrite (LED01, currentBright [0]); analogWrite (LED02, currentBright [1]); analogWrite (LED03, currentBright [2]); analogWrite (LED04, currentBright [3]); analogWrite (LED05, currentBright [4]); }
// Bucle principal
void loop () {if (startup) {// Configuració d'inici lastRound = millis (); // Estableix lastRound per a l'arrencada writeToLED (); // Escriviu dades d’inici a l’inici del LED = false; // Desactiva l’inici} currentTime = millis (); // Estableix l’hora actual
if (currentTime - lastRound> = refreshRate) {
for (i = 0; i <5; i ++) {if (statusLED == 7) {// -7- Actualització del Led randomNumber = random (5); brightMin = BrightMinPos [randomNumber]; // Estableix el valor aleatori per a una brillantor mínima randomNumber = random (5); brightMax = brightMaxPos [randomNumber]; // Estableix el valor aleatori per a una brillantor màxima randomNumber = random (5); timeWaitLow = timeLowPos [Número aleatori]; // Estableix el valor aleatori per a un temps d’espera baix Nombre aleatori = aleatori (5); timeWaitMax = timeHighPos [Número aleatori]; // Estableix el valor aleatori per a un temps d'espera elevat randomNumber = random (5); timeWaitAvg = timeAvgPos [randomNumber]; // Estableix el valor aleatori per al temps d’espera mitjà randomNumber = random (5); increment = incrementPos [Número aleatori]; // Estableix el valor aleatori per al valor d’increment randomNumber = random (2); // Estableix un valor aleatori per a la direcció randomNumberTwo = random (2); // Estableix el valor aleatori per a la direcció si (randomNumber == 1 && randomNumberTwo == 0 && amountHighLED = brightAvg ) {statusLED = 0; // Si es troba al punt més baix: aneu a Avg esperant} else {currentBright = currentBright + increment ; // Una altra cosa: major brillantor}} else if (statusLED == 2) {// -2- Waiting Low if (! StatusWaiting ) {// If not waiting: waitingTime = millis (); // Estableix l'estat del temps d'espera Esperant = cert; // Comenceu a esperar} else if (statusWaiting && currentTime-waitingTime > = timeWaitLow ) {// Si heu esperat AND timeWaitAvg: statusWaiting = false; // Stop status statusLED = 3; // Estableix statusLed a esperant l’actualització}} else if (statusLED == 1) {// -1- Avg a Low if (currentBright <= brightMin ) {statusLED = 2; // Si es troba al punt més baix: aneu a Waiting Low} else {currentBright = currentBright -increment ; // Una altra cosa: menor brillantor}} else if (statusLED == 6) {// -6- Passant a la mitjana màx si (currentBright = timeWaitMax ) {// Si heu esperat AND timeWaitAvg: statusWaiting = false; // Stop status statusLED = 6; // Estableix statusLed a Esperant actualització}} else if (statusLED == 4) {// -4- Avging Max a Max if (currentBright > = brightMax ) {statusLED = 5; // Si es troba al punt més baix: aneu a Waiting High} else {currentBright = currentBright + increment ; // Una altra cosa: major brillantor}} else if (statusLED == 0) {// -0- Waiting at Average if (! StatusWaiting ) {// If not waiting: waitingTime = millis (); // Estableix l'estat del temps d'espera Esperant = cert; // Comença a esperar} else if (statusWaiting && currentTime-waitingTime > = timeWaitAvg ) {// Si espera AND timeWaitAvg ha passat: statusWaiting = false; // Stop status statusLED = 7; // Estableix l'estatLed a esperant l'actualització}}} i = 0; lastRound = millis (); // Estableix quan s’acaba l’última ronda. writeToLED (); // Escriviu totes les dades als LED}}
Pas 9: producte final
Crec que va funcionar bé. La corbata no és massa gruixuda, rígida, llarga ni pesada i l’efecte estrella sembla increïble.
Recomanat:
Bàscula de bany Arduino amb cèl·lules de càrrega de 50 kg i amplificador HX711: 5 passos (amb imatges)
Bàscula de bany Arduino amb cèl·lules de càrrega de 50 kg i amplificador HX711: aquest manual descriu com fer una bàscula amb les peces de prestatge disponibles fàcilment. també) HX711 en boa d'escapament
Escala Arduino amb cèl·lula de càrrega de 5 kg i amplificador HX711: 4 passos (amb imatges)
Balança Arduino amb cèl·lula de càrrega de 5 kg i amplificador HX711: aquest manual descriu com fer una bàscula petita fent servir fàcilment les peces de prestatge. Material necessari: 1. Arduino: aquest disseny utilitza un Arduino Uno estàndard, altres versions o clons d’Arduino també haurien de funcionar2. HX711 en trencament
Funcionament de bateries de 9 volts de grans dimensions fabricades amb antigues cèl·lules de plom àcid: 11 passos (amb imatges)
Funcionament de la bateria de 9 volts de grans dimensions fabricada amb antigues cèl·lules de plom àcid: Us va passar alguna vegada menjant alguns aperitius i de sobte us vau adonar que els consumíeu molt, molt més del que permet la vostra dieta diària o que anàveu a comprar al supermercat i perquè d'alguns errors de càlcul, heu superat la quantitat d'alguns prod
Corbata de piano de treball: 6 passos
Working Piano Necktie: Els anys vuitanta van produir molts grans èxits en moda i música. Hi havia música synth, el funky keytar, les polaines i el clàssic corbata per a home. Aquests llaços van ser usats irònicament (i irònicament) per molts de moda (i de moda)
B102-6 Corbata: 8 passos
B102-6 Corbata: crea un dispositiu pel teu compte per ajudar-te a lligar els cabells amb una sola mà