Talaan ng mga Nilalaman:
- Hakbang 1: Mga Skematika at Hardware
- Hakbang 2: Paggawa ng PCB Pag-host sa mga LED
- Hakbang 3: Paggawa ng Kahon
- Hakbang 4: Paghahanda ng Tie
- Hakbang 5: Pagdidikit sa Fiberoptics
- Hakbang 6: Paglalagay ng Fiberoptics Sa Pamamagitan ng Tie
- Hakbang 7: Pagdidikit ng Fiberoptics sa Tie
- Hakbang 8: Ang Code
- Hakbang 9: Pangwakas na Produkto
Video: Starry Sky Led Tie: 9 Mga Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Ilang sandali ang nakakaraan ay natagpuan ko ang isang laruan ng mga bata na may fiberoptic sa isang dolyar na tindahan, at nagsimulang mag-isip tungkol sa kung ano ang magagawa ko rito.
Ang isa sa mga nakatutuwang ideya na mayroon ako, ay ang paggawa ng isang kurbatang may epekto ng isang mabituing kalangitan.
Mayroon pa akong ilang mga arduino pro mini, adafruit board at baterya na nakalalagay na marahil ay magkasya sa proyektong ito.
Kaya't sa sandaling natagpuan ko ang isang magandang malawak na kurbatang sa isang pawnshop sa aking bayan at nakakita ng isang kahon na maaaring magkasya sa hardware, nagpasya akong pumunta para dito at subukan at itayo ito.
Ipinapakita sa iyo ng itinuturo na ito kung paano ko ito nagawa.
Ito ay tumatakbo sa isang arduino pro mini, adafruit powerboost 500 charger, emmerich icr 18650nh-sp at 5 white LED's. Ginagawa ng code ang random na pagbabago ng pagbabago ng LED. (Ang unang 40 segundo ng video ay 3x bilis)
Hakbang 1: Mga Skematika at Hardware
Ginagamit ko ang sumusunod na hardware:
- PCB na may Ice white LEDs at 220 Ohm resistors.
- Arduino pro mini (gumamit ako ng knockoff)
- Adafruit Powerboost 500 charger
- Emmerich Li-ion accu ICR-18650NH-SP
- Mga hibla ng optic (sa iba't ibang laki)
Hakbang 2: Paggawa ng PCB Pag-host sa mga LED
Pinutol ko ang isang strip off isang PCB upang hawakan ang mga LED at ginamit ang mga LED pin upang maghinang ito sa pangunahing PCB.
Nakakonekta ang lahat ng mga cathode (-) sa GND, at ginamit ang kalahati ng mga pin upang maghinang na natigil ito sa pangunahing PCB.
Nakakonekta ang lahat ng mga anode (+) sa mga resistor, at may mga kable sa arduino.
Ang mga LED ay dapat na konektado sa isa sa mga sumusunod na port ng PWM: 3, 5, 6, 9, 10, 11
Silly me nagawa ng maraming mga pagkakamali sa proyektong ito at nakalimutan upang suriin ang tamang mga port ng PWM, kaya't kailangan kong lumutas ng ilang paglaon. Nasubukan sa Mataas / Mababang kaya napansin ko lang ito mamaya.
Nagsimula ako sa 7 LED's, ngunit mayroon lamang 6 na port ng PWM at ang isa sa mga resolusyon na LED ay namatay. Iningatan ko lang ang 5 gumaganang LED's at hindi gumagamit ng ika-6.
Hakbang 3: Paggawa ng Kahon
Gumamit ako ng isang Bosch GRO (tulad ng isang Dremel) at isang drill upang gupitin ang hugis ng baterya, ang pindutan, ang micro-usb port, ang mga header mula sa Arduino at mga optic fibers. (gumamit ng dust mask!)
Nakadikit ang baterya sa kaso ng 2 banda.
Ginamit na mga tornilyo upang mai-mount ang Adafruit board at ang PCB.
Ang alitan mula sa pagbubukas at pagsara ay nasira ang ilang mga wire. Kailangan kong resolder ang mga ito at gumamit ng pandikit upang maiwasan itong mangyari muli.
Hakbang 4: Paghahanda ng Tie
Inalis ang pagtahi mula sa ilalim na bahagi ng kurbatang upang magkasya sa goma sheet.
Upang maitago ang hardware at ma-access pa rin ito kung kinakailangan nagpasya akong gumamit ng isang siper.
Hindi ako mahusay sa isang makina ng pananahi, kaya't ang aking matamis na ina ay naglagay ng isang siper sa likod ng kurbatang.
Matapos iyon ay tapos na, idinikit ko ang goma sa kurbatang. Natatakot akong gumamit ng sobrang pandikit na magbabad sa tela at makikita mula sa harap, kaya't sinubukan kong pantayin ito at hindi gaanong gumamit. Sa pangkalahatan maganda ang hitsura nito, ngunit sa ilang mga lugar napansin ko ang sobra o masyadong maliit na pandikit, sanhi na dumaan ito sa tela o hindi naidikit nang mabuti ang tela. Sa kabutihang palad ito ay halos nakikita lamang mula sa malayo na distansya sa maliwanag na ilaw.
Tapos na ang kahon at kurbatang. Oras upang kola ang fiberoptics!
Hakbang 5: Pagdidikit sa Fiberoptics
Ang laruan ay may isang malaking bundle fiber optic wires na madaling masira. Sinubukan kong idikit ang mga ito isa-isa sa una, ngunit sa lalong madaling panahon napansin na mas mahusay na gumawa ng maliliit na mga bundle at idikit ang mga iyon sa LED nang sabay-sabay. Gagawin nitong mas madali upang mapanatili itong matatag hanggang sa matuyo ang pandikit. Ginulo ang unang LED na iniisip ito.
Siguraduhing gumamit ng isang transparent na pandikit! Ang isa na ginamit ko ay pinatuyong napakabagal at ang mabilis na pagpapatayo ng pandikit na sinubukan ko sa unang LED na naging puti, na ginagawang ilang mga hibla mula sa unang LED na hindi gaanong maliwanag.
Nagdikit ako ng maliliit na itim na sheet ng goma upang maiwasan ang pagdulas ng ilaw sa itaas at upang paghiwalayin ang mga LED.
Pinigilan ng isa sa mga sheet ang kaso mula sa pagsara kaya nagdagdag ako ng isang goma upang mapanatiling nakasara ang takip.
Hakbang 6: Paglalagay ng Fiberoptics Sa Pamamagitan ng Tie
Simula sa ilalim, kinurot ko ang mga butas gamit ang isang karayom at isa-isang inilalagay ang mga hibla. Ang mga hibla ng bawat LED ay kumalat nang random sa kurbatang.
Inilagay ko ang isang itim na strip sa likuran na dapat na umakyat hanggang sa mas maliit na bahagi ng kurbatang upang mapanatili ang bigat ng kahon, ngunit pagkatapos kong mailagay ang lahat ng mga wire at naramdaman ang pag-igting ng mga wire ay nagpasya akong nakadikit lahat ng bagay sa kurbatang ay isang mas mahusay na ideya at putulin ang strip off.
Dahil ang mga wire ng fiber optic mula sa laruan ay masyadong maikli, mahirap na akma ang mga ito sa buong kurbatang. Limitado ako sa pagpoposisyon ng kahon at nahihirapan akong gawin ang lahat bilang flat hangga't gusto ko.
Hakbang 7: Pagdidikit ng Fiberoptics sa Tie
Idinikit ko ang lahat ng mga wire ng fiber optic sa goma upang maiwasan ang pagkuha ng mga wire mula sa goma at upang patagin ang kurbatang.
Upang matiyak na hindi ko kola ang clamp sa kurbatang kapag nilalagay ang presyon dito naglalagay ako ng ilang papel sa pagitan. Hindi ito ganoon kahusay ngunit gumagana nang maayos. At hindi mo ito nakikita kapag sarado ito.
Matapos matuyo ang pandikit pinutol ko ang mga wire sa harap at pinutol ng kaunti ang sheet ng goma sa itaas lamang ng pinakamataas na kawad, sanhi ng medyo mahaba ang kurbatang.
Ang mga larawan na may puting shirt ay ginawa bago ko putulin ang huling piraso ng goma.
Hakbang 8: Ang Code
Sa ibaba ng code na isinulat ko para sa kurbatang.
Ang lahat ng mga LED ay may isang itinakdang "average" (hindi talaga isang average ngunit isang gitnang ningning).
Sa sandaling maabot ang average na iyon, magpapasya ito na may pagkakataong 3/4 upang pumunta sa isang mas mababang ningning. Ito rin ay random na nagtatakda ng isang bagong minimum na ningning, maximum na ningning, oras ng paghihintay para sa minimum at maximum na ningning at ang bilis ng pagtaas o pagbawas sa bawat pag-ikot (1-255) mula sa 5 mga preset na halaga. Pagkatapos ito ay gagawa ng isang ikot hanggang sa maabot muli ang average. 2 LED's lamang ang maaaring nasa isang mataas na cycle nang sabay.
Ang bawat estado ay kinakatawan ng isang halaga ng integer (1-7) na tinutukoy kung ito ay magiging avg-low, low-avg, naghihintay ng mababa, nag-a-update, atbp.
Para sa impormasyon tungkol sa pag-upload ng code sa arduino, mangyaring tingnan ang www.arduino.cc
/ * Starry Sky Tie * * Ito ay isang script upang sapalarang mawala ang 5 LEDs mula sa isang average hanggang sa isang mas mababang * o mas mataas na ningning na may mga random na setting ng mas mababa, mas mataas at tiyempo * upang magmukhang isang bituin na kalangitan kapag ginamit sa fiberoptics. * Sa kasong ito ipapatupad ito sa isang kurbatang. * * Up / down na pagkakataon = 1/4 pataas, 3/4 pababa, na may maximum na 2 * aakyat sa max sa parehong oras. * * Ang average ay mananatiling pareho. * Minimum, maximum at mga pagpipilian sa tiyempo ay nagbago nang random * mula sa 5 mga pagpipilian sa tuwing umabot muli ang LED sa average. * * Nilikha ni Billy Jaspers, Mayo 2019. *
/ Ipahayag ang mga pin
int LED01 = 3; int LED02 = 5; int LED03 = 6; int LED04 = 9; int LED05 = 11;
// Mga variable ng oras
unsigned mahabang kasalukuyangTime; unsigned mahabang waitingTime [5]; unsigned long lastRound;
// LED Variable
int brightMin [5] = {10, 10, 10, 10, 10}; // Minimum brightness int brightAvg [5] = {200, 200, 200, 200, 200}; // Average brightness int brightMax [5] = {240, 240, 240, 240, 240}; // Maximum brightness int timeWaitLow [5] = {1000, 1000, 1000, 1000, 1000}; // Waiting time int timeWaitAvg [5] = {5000, 5000, 5000, 5000, 5000}; // Waiting time int timeWaitMax [5] = {4000, 3000, 3000, 3000, 3000}; // Waiting time int increment [5] = {2, 5, 4, 5, 2}; // Encrement in brightness int currentBright [5] = {200, 230, 210, 210, 235}; // Kasalukuyang ningning
// Mga Posibleng LED na Posibilidad
int brightMinPos [5] = {5, 20, 40, 5, 20}; // Minimum brightness posibilidad int brightMaxPos [5] = {240, 245, 230, 225, 245}; // Maximum brightness posibilidad int timeLowPos [5] = {3000, 5000, 4000, 2000, 1000}; // Waiting time on low brightness posibilidad int timeHighPos [5] = {3000, 1000, 500, 2000, 4000}; // Waiting time on high brightness posibilidad int timeAvgPos [5] = {3000, 5000, 4000, 7000, 8000}; // Naghihintay ng oras sa average na mga posibilidad ng ningning int incrementPos [5] = {2, 4, 5, 3, 1}; // pagtaas sa mga posibilidad ng ningning
// Mga variable
startup ng bool = totoo; // Kailangan bang simulan ang mga setting ng pagsisimula?
// Mga variable ng direksyon
/ * 0 = Naghihintay sa Karaniwan 1 = pagpunta sa Mababang 2 = naghihintay Mababang 3 = pagpunta Mababa sa Avg 4 = pagpunta sa Max 5 = naghihintay sa Max 6 = pagpunta Mataas sa Avg 7 = Pag-update ng mga variable * / int statusLED [5] = {0, 0, 0, 0, 0}; int halagaHighLED = 0; int refreshRate = 50; status ng boolWaiting [5] = {false, false, false, false, false}; // Naghihintay na ba ang Led?
// Random variable
mahabang randomNumber; // Long to store random number long randomNumberTwo; // Mahaba upang maiimbak ang pangalawang random na numero
// counter
int i = 0; // Counter para sa pangunahing loop
walang bisa ang pag-setup () {
Serial.begin (115200); // Start serial randomSeed (analogRead (A0)); // Itakda ang randomseed
// Ipahayag ang mga output
pinMode (LED01, OUTPUT); pinMode (LED02, OUTPUT); pinMode (LED03, OUTPUT); pinMode (LED04, OUTPUT); pinMode (LED05, OUTPUT); }
// Sumulat ng data sa mga LED
walang bisa ang magsulatToLED () {analogWrite (LED01, currentBright [0]); analogWrite (LED02, currentBright [1]); analogWrite (LED03, currentBright [2]); analogWrite (LED04, currentBright [3]); analogWrite (LED05, currentBright [4]); }
// Pangunahing loop
void loop () {if (startup) {// Startup setting lastRound = millis (); // Itakda ang hulingRound para sa boot writeToLED (); // Isulat ang data ng pagsisimula sa LED startup = false; // Patayin ang startup} kasalukuyangTime = millis (); // Itakda ang kasalukuyang oras
kung (currentTime - lastRound> = refreshRate) {
para sa (i = 0; i <5; i ++) {kung (statusLED == 7) {// -7- Pag-update sa Led randomNumber = random (5); brightMin = brightMinPos [randomNumber]; // Set random value for minimum brightness randomNumber = random (5); brightMax = brightMaxPos [randomNumber]; // Itakda ang random na halaga para sa maximum na liwanag randomNumber = random (5); timeWaitLow = timeLowPos [randomNumber]; // Itakda ang random na halaga para sa mababang oras ng paghihintay randomNumber = random (5); timeWaitMax = timeHighPos [randomNumber]; // Set random value for high waiting time randomNumber = random (5); timeWaitAvg = timeAvgPos [randomNumber]; // Itakda ang random na halaga para sa average na oras ng paghihintay na randomNumber = random (5); pagtaas = incrementPos [randomNumber]; // Itakda ang random na halaga para sa halaga ng pagtaas na randomNumber = random (2); // Itakda ang random na halaga para sa direksyon na randomNumberTwo = random (2); // Itakda ang random na halaga para sa direksyon kung (randomNumber == 1 && randomNumberTwo == 0 && amountHighLED = brightAvg ) {statusLED = 0; // Kung sa pinakamababang punto: Pumunta sa Waiting Avg} iba pa {currentBright = currentBright + increment ; // Else: Higher Brightness}} iba pa kung (statusLED == 2) {// -2- Waiting Low kung (! StatusWaiting ) {// Kung hindi naghihintay: waitingTime = millis (); // Itakda ang katayuan sa paghihintay ng oras Naghihintay = totoo; // Start waiting} iba kung (statusWaiting && currentTime-waitingTime > = timeWaitLow ) {// Kung naghihintay AT timeWaitAvg ay lumipas: statusWaiting = false; // Stop waiting statusLED = 3; // Itakda ang statusLed sa Naghihintay para sa pag-update}} kung iba pa (statusLED == 1) {// -1- Pupunta sa Avg sa Mababang kung (currentBright <= brightMin ) {statusLED = 2; // Kung sa pinakamababang punto: Pumunta sa Waiting Low} iba pa {currentBright = currentBright -increment ; // Else: Lower Brightness}} iba pa kung (statusLED == 6) {// -6- Going Max to Avg if (currentBright = timeWaitMax ) {// Kung naghihintay AT timeWaitAvg ay lumipas: statusWaiting = false; // Stop waiting statusLED = 6; // Itakda ang statusLed sa Naghihintay para sa pag-update}} kung iba pa (statusLED == 4) {// -4- Going Avg to Max if (currentBright > = brightMax ) {statusLED = 5; // Kung sa pinakamababang punto: Pumunta sa Waiting High} iba pa {currentBright = currentBright + increment ; // Else: Higher Brightness}} iba pa kung (statusLED == 0) {// -0- Naghihintay sa Average kung (! StatusWaiting ) {// Kung hindi naghihintay: waitingTime = millis (); // Itakda ang katayuan sa paghihintay ng oras Naghihintay = totoo; // Start waiting} iba kung (statusWaiting && currentTime-waitingTime > = timeWaitAvg ) {// Kung naghihintay AT timeWaitAvg ay lumipas: statusWaiting = false; // Stop waiting statusLED = 7; // Itakda ang statusLed sa Naghihintay para sa pag-update}}} i = 0; lastRound = millis (); // Itakda kapag natapos ang huling pag-ikot. isulatToLED (); // Isulat ang lahat ng data sa LED}}
Hakbang 9: Pangwakas na Produkto
Sa tingin ko ito ay umepekto nang maayos. Ang kurbatang ay hindi masyadong makapal, matigas, mahaba o mabibigat at kamangha-mangha ang epekto ng bituin.
Inirerekumendang:
Grid Tie Inverter: 10 Hakbang (na may Mga Larawan)
Grid Tie Inverter: Ito ay isang napakatabang proyekto kaya't i-buckle up! Pinapayagan ka ng mga inverter ng grid na itulak ang kapangyarihan sa isang mains socket na kung saan ay isang kahanga-hangang kakayahan. Nahanap ko ang mga electronics power and control system na kasangkot sa kanilang disenyo na kawili-wili kaya't itinayo ko ang sarili ko. Ang ulat na ito ay
Tagabantay ng Oras ng Tie: 6 na Hakbang (na may Mga Larawan)
Tagabantay ng Oras ng Tie: Mahalagang maikwento ang oras ngunit hindi lahat ay nais na magsuot ng relo at kukuha ng iyong smartphone upang suriin lamang ang oras na tila medyo hindi kinakailangan. Gusto kong panatilihin ang aking mga kamay na walang mga singsing, pulseras, at relo kapag nagpapatakbo sa isang propes
Sonic Bow Tie, ni David Boldevin Engen: 4 Mga Hakbang (na may Mga Larawan)
Sonic Bow Tie, ni David Boldevin Engen: Isang compact bow tie, na may kakayahang patuloy na pagpapakita ng nakapalibot na tunog sa apat na magkakaibang mga frequency sa dalawang naka-mirror na 4x5 LED arrays. Ang tutorial na ito ay dadaan sa kung paano gumawa ng bow bow na magpapasikat sa iyo sa anumang karamihan ng tao. Ano ang makikita mo
The Holi-Tie: 8 Hakbang (na may Mga Larawan)
Ang Holi-Tie: Ito ang Holi-Tie, isang maligaya na kurbatang idinisenyo upang magsuot sa panahon ng bakasyon. Malayang nakabatay sa Ampli-Tie ni Becky Stern na gumagamit ng isang Flora board, ang Holi-Tie ay gumagamit ng isang Circuit Python Express (CPX) microcontroller upang himukin ang mga animasyong NeoPixel isang
DIY Bow Tie --- Sa Mga Ilaw !!: 9 Mga Hakbang (na may Mga Larawan)
DIY Bow Tie --- With Lights !!: Ang mga ito ay mahusay para sa mga kasal, prom, espesyal na kaganapan, gabi, at anumang oras na nais mong maging ang pinaka-cool na tao sa silid! Bakit hindi mo nais ang isang light up bow tie ? Gayundin, huwag kang mahiyain na mga batang babae, maaari mo ring ganapin ang isang light up bow tie din:) Photo Cred