Orodha ya maudhui:
- Hatua ya 1: Mdhibiti
- Hatua ya 2: Kufunga Mti
- Hatua ya 3: Usisahau Nyota iliyo Juu
- Hatua ya 4: Kuijaribu
Video: LED Spiral Tree: 4 Hatua (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:49
Ninapenda kila aina ya vipande vya LED. Nilitengeneza taa nzuri ya upinde wa mvua pamoja nao. Hata zile ambazo haziwezi kushughulikiwa zinafaa. Nimetengeneza mwavuli mkali wa soko nje kwa kuambatisha kwenye mbavu za unbrella kwa hivyo wakati mti wangu wa ond ulipovuma niliamua kufunika urefu wa mkanda ulioongozwa kuzunguka.
Hatua ya 1: Mdhibiti
Niliamua kutumia viongozo vya RGB visivyo na anwani. Hii inamaanisha kuwa ninaweza kuwa na athari iliyowekwa lakini vichwa vyote hubadilisha rangi wakati huo huo. Hii inamaanisha pia kwamba mtawala atahitajika. Ningekuwa nimetumia arduino uno na kufanya kufanya majaribio ya awali kwa kutumia ngao ya RGB lakini nikaishia kutumia bodi moja ya kitamaduni na tupu ya Atmega328. Ilibidi tu ubadilishe programu iliyolengwa na upange chip moja kwa moja.
Nilikuwa na bodi nyingi zilizoachwa kutoka kwa miradi mingine ya taa. Jisikie huru kutumia kidhibiti cha chini kilichopangwa tayari kama vile nilivyofanya kwenye mwavuli wangu badala yake.
Niliishia kutumia onyesho la pole pole kama msingi wa mti.
/ ** Nambari ya kuvinjika kwa LED 3, nyekundu, kijani na samawati (RGB) * Ili kuunda kufifia, unahitaji kufanya vitu viwili: * 1. Eleza rangi unazotaka kuonyeshwa * 2. Orodhesha agizo unalotaka wao kufifia katika * * KUELEZA RANGI: * Rangi ni safu tu ya asilimia tatu, 0-100, * kudhibiti LED nyekundu, kijani na bluu * * Nyekundu ni LED nyekundu kamili, bluu na kijani mbali * int nyekundu = {100, 0, 0} * Nyeupe hafifu ni LED zote tatu kwa 30% * int dimWhite = {30, 30, 30} * nk. * * Rangi zingine za kawaida hutolewa hapa chini, au tengeneza yako mwenyewe * Agizo: * Katika sehemu kuu ya programu, unahitaji kuorodhesha mpangilio * unayotaka rangi zionekane, kwa mfano. * CrossFade (nyekundu); * CrossFade (kijani); * CrossFade (bluu); * * Rangi hizo zitaonekana kwa mpangilio huo, zikififia kutoka kwa * rangi moja na kuingia kwenye inayofuata * * Kwa kuongezea, kuna mipangilio 5 ya hiari ambayo unaweza kurekebisha: * 1. Rangi ya asili imewekwa nyeusi (kwa hivyo rangi ya kwanza inafifia in), lakini * unaweza kuweka rangi ya asili kuwa rangi nyingine yoyote * 2. Kitanzi cha ndani kinaendesha maingiliano 1020; ubadilishaji wa 'subiri' unaweka muda wa takriban msalaba mmoja. Kwa nadharia, * 'subiri' ya 10 ms inapaswa kufanya msalaba wa sekunde ~ 10. Katika mazoezi, kazi zingine nambari inafanya polepole hii hadi sekunde ~ 11 kwenye ubao wangu. YMMV. * 3. Ikiwa 'kurudia' imewekwa kwa 0, programu hiyo itazunguka kwa muda usiojulikana. * ikiwa imewekwa kwa nambari, itazunguka idadi hiyo ya nyakati, * kisha simama kwenye rangi ya mwisho katika mlolongo. (Weka 'kurudi' kwa 1, * na ufanye rangi ya mwisho kuwa nyeusi ikiwa unataka ififie mwisho.) * 4. Kuna chaguo-tofauti la 'kushikilia', ambalo linasukuma mpango wa * "kushikilia" millisecond wakati rangi imekamilika, * lakini kabla ya rangi inayofuata kuanza. * 5. Weka bendera ya DEBUG kuwa 1 ikiwa unataka utatuzi wa utatuzi utumwe * upelekwe kwa mfuatiliaji wa serial. Wafanyakazi wa programu sio ngumu, lakini wao ni fussy kidogo - utendaji wa ndani umeelezewa * chini ya kitanzi kuu. * * Aprili 2007, Clay Shirky *
/ Pato
int grnPin = 9; // LED ya Kijani, iliyounganishwa na pini ya dijiti 10 int redPin = 10; // LED Nyekundu, iliyounganishwa na pini ya dijiti 9 int bluPin = 11; // LED ya Bluu, iliyounganishwa na pini ya dijiti 11
// Upangaji wa rangi
int nyeusi [3] = {0, 0, 0}; nyeupe nyeupe [3] = {100, 100, 100}; nyekundu nyekundu [3] = {100, 0, 0}; kijani kibichi [3] = {0, 100, 0}; rangi ya bluu [3] = {0, 0, 100}; manjano int [3] = {40, 95, 0}; int dimWhite [3] = {30, 30, 30}; // na kadhalika.
// Weka rangi ya asili
int redVal = nyeusi [0]; int grnVal = nyeusi [1]; int bluVal = nyeusi [2];
subiri = 3; // 10ms kuchelewa kwa msalaba wa ndani; ongezeko la kufifia polepole
kushikilia = 0; // Shikilia hiari wakati rangi imekamilika, kabla ya msalaba unaofuata Fade int DEBUG = 0; // kaunta ya DEBUG; ikiwa imewekwa 1, itaandika maadili kupitia serial int loopCount = 60; // Ripoti ya DEBUG inapaswa mara ngapi? kurudia int = 0; // Tunapaswa kitanzi mara ngapi kabla ya kuacha? (0 bila kusimama) int j = 0; // Kitengo cha kitanzi cha kurudia
// Anzisha vigeu vya rangi
int prevR = nyekunduVal; int prevG = grnVal; int prevB = bluVal;
// Weka matokeo ya LED
kuanzisha batili () {pinMode (redPin, OUTPUT); // huweka pini kama pinMode ya pato (grnPin, OUTPUT); pinMode (bluPin, OUTPUT);
ikiwa (DEBUG) {// Ikiwa tunataka kuona maadili ya utatuzi …
Kuanzia Serial (9600); //… sanidi ouput ya serial}}
// Programu kuu: orodhesha mpangilio wa msalaba
kitanzi batili () {crossFade (nyekundu); crossFade (kijani); crossFade (bluu); crossFade (njano);
ikiwa (kurudia) {// Je! tunapiga idadi kadhaa ya nyakati?
j + = 1; ikiwa (j> = kurudia) {// Je! tuko bado? toka (j); // Ikiwa ni hivyo, simama. }}}
/ * HAPA CHINI MSTARI HUU NDIO MATH - HUFANIKIWI KUBADILI HII KWA MISINGI
* * Programu hiyo inafanya kazi kama hii: * Fikiria msalaba unaoharibu taa nyekundu kutoka 0-10, * kijani kibichi kutoka 0-5, na hudhurungi kutoka 10 hadi 7, kwa hatua * kumi. * Tunataka kuhesabu hatua 10 na kuongeza au * kupunguza maadili ya rangi katika nyongeza zilizopigwa sawasawa. * Fikiria a + inaonyesha kuongeza thamani kwa 1, na a - * sawa na kuipunguza. Hatua yetu 10 ya kufifia ingeonekana kama: * 1 2 3 4 5 6 7 8 9 10 * R + + + + + + + + + + G + + + + + B - - - * * Nyekundu inatoka kutoka 0 hadi 10 kwa hatua kumi, kijani kutoka * 0-5 kwa hatua 5, na hudhurungi huanguka kutoka 10 hadi 7 kwa hatua tatu. * Katika mpango halisi, asilimia ya rangi hubadilishwa kuwa maadili ya 0-255, na kuna hatua 1020 (255 * 4). * * Kugundua hatua kubwa inapaswa kuwa kati ya moja juu- au * chini ya alama ya moja ya maadili ya LED, tunaita calculateStep (), * ambayo inahesabu pengo kabisa kati ya maadili ya mwanzo na mwisho, * na kisha hugawanya pengo hilo kufikia 1020 ili kujua saizi ya hatua * kati ya marekebisho ya thamani. * /
int calculateStep (int prevValue, int endValue) {
hatua ya mwisho = Thamani ya mwisho - Thamani ya awali; // Je! Pengo la jumla ni lipi? ikiwa (hatua) {// Ikiwa sio sifuri, hatua = 1020 / hatua; // kugawanywa na 1020} hatua ya kurudi; }
/ * Kazi inayofuata ni hesabuVal. Wakati thamani ya kitanzi, i, * hufikia saizi ya hatua inayofaa kwa moja ya rangi, inaongeza au hupunguza thamani ya rangi hiyo kwa 1. * (R, G, na B kila mmoja amehesabiwa kando.) * /
int calculateVal (hatua ya int, int val, int i) {
ikiwa ((hatua) && i% step == 0) {// Ikiwa hatua sio sifuri na wakati wake wa kubadilisha thamani, ikiwa (hatua> 0) {// kuongeza thamani ikiwa hatua ni nzuri… val + = 1; } mwingine ikiwa (hatua 255) {val = 255; } mwingine ikiwa (val <0) {val = 0; } kurudi val; }
/ * crossFade () hubadilisha rangi ya asilimia kuwa
* 0-255 masafa, kisha vitanzi mara 1020, ukiangalia ikiwa * thamani inahitaji kusasishwa kila wakati, kisha uandike * maadili ya rangi kwenye pini sahihi. * /
utupu wa msalaba (rangi ya ndani [3]) {
// Badilisha kwa 0-255 int R = (rangi [0] * 255) / 100; int G = (rangi [1] * 255) / 100; int B = (rangi [2] * 255) / 100;
hatua yaR = hesabuHatua (prevR, R);
hatua stepG = hesabuStep (prevG, G); hatua stepB = hesabuStep (prevB, B);
kwa (int i = 0; i <= 1020; i ++) {redVal = calculateVal (stepR, redVal, i); grnVal = hesabuVal (stepG, grnVal, i); bluVal = mahesabuVal (stepB, bluVal, i);
AnalogWrite (nyekunduPin, nyekunduVal); // Andika maadili ya sasa kwa pini za LED
AnalogWrite (grnPin, grnVal); AnalogWrite (BluPin, bluVal);
kuchelewesha (subiri); // Pumzika kwa 'subiri' millisecond kabla ya kuanza tena kitanzi
ikiwa (DEBUG) {// Ikiwa tunataka pato la serial, chapisha kwenye
ikiwa (i == 0 au i% loopCount == 0) {// mwanzo, na kila mara loopCount Serial.print ("Loop / RGB: #"); Printa ya serial (i); Printa ya serial ("|"); Printa ya serial (RedVal); Serial.print ("/"); Serial.print (grnVal); Serial.print ("/"); Serial.println (bluVal); } DEBUG + = 1; }} // Sasisha maadili ya sasa ya kitanzi kinachofuata prevR = redVal; prevG = grnVal; prevB = bluuVal; kuchelewesha (kushikilia); // Pumzika kwa sekunde chache za 'subiri' kabla ya kuanza tena kitanzi}
Hatua ya 2: Kufunga Mti
Nilitumia vipande visivyo na maji kwani hizi zitakuwa nje. Walijifunga peke yao lakini nilifuatilia haraka vifungo vya waya kuhakikisha wanakaa. Rahisi na rahisi hack. Uwezo wa nguvu ya kulisha wa ukanda ulifanya iwe rahisi kulisha usambazaji wa umeme chini na kupata nguvu kutoka juu kwenda kwa nyota.
Hatua ya 3: Usisahau Nyota iliyo Juu
Kwa nyota nilitumia jozi ya chips 10W kupata umakini. Niliwauza kwa karatasi ya shaba kama heatsink. Ningeweza kutumia ukanda zaidi kwani kulikuwa na kushoto kidogo.
Hatua ya 4: Kuijaribu
Jaribu la kwanza lilikuwa na njia ya kasi haraka sana….
Mara baada ya kuituliza ilionekana nzuri sana.
Ilipendekeza:
RGB-LED Wire Tree: Hatua 9 (na Picha)
RGB-LED Wire Tree: Ninataka kushiriki nawe mti wangu wa waya wa RGB-LED. Jioni moja nilikumbuka kujenga miti ya waya nikiwa mtoto. Siku hizi ninafurahiya sana kujenga miradi midogo ya elektroniki na wadhibiti wadudu wadogo sawa na arduino, haswa na LED. Kwa hivyo nilijifikiria mwenyewe
Machafuko Spiral (Hypnosis Spiral): Hatua 5 (na Picha)
Chaos Spiral (Hypnosis Spiral): Unaweza 3D kuchapisha kitu hiki pia lakini hakikisha usichapishe sumaku na fani :) itahitaji ile ya asili iliyochapishwa 3D haitafanya kazi. Hapa kuna vitu vya kukusanya kabla ya kuanza
Mzunguko wa Hewa ya Uingizaji wa DIY na Coil Flat Spiral (Coil ya pancake): 3 Hatua
Mzunguko wa Hewa ya Uingizaji wa DIY na Coil ya Flat Spiral (Coil ya pancake): Kupokanzwa kwa induction ni mchakato wa kupokanzwa kitu kinachofanya umeme (kawaida chuma) na kuingizwa kwa umeme, kupitia joto linalotokana na kitu na mikondo ya eddy. Katika video hii, nitakuonyesha jinsi ya kutengeneza nguvu katika
RGB LED Maker Tree: Hatua 15 (na Picha)
RGB LED Maker Tree: Makerspace yetu ya ndani ilidhamini mti kuonyeshwa kwenye Mtaa kuu kwa mwezi wa Desemba (2018). Wakati wa kikao chetu cha kujadiliana, tulipata wazo la kuweka kiwango cha ujinga cha taa za LED kwenye mti badala ya mapambo ya jadi
Mti wa Krismasi ulioongozwa na Spiral: Hatua 4 (na Picha)
Spiral Led Christmas Tree: Halo marafiki Katika hii isiyoweza kusomeka tutafanya mti wa Krismasi ulioongozwa