Իրական ժամանակի միջավայր ՝ 4 քայլ
Իրական ժամանակի միջավայր ՝ 4 քայլ
Anonim
Իրական ժամանակի միջավայրի ժամացույց
Իրական ժամանակի միջավայրի ժամացույց

Նպատակ

Ես պատրաստել եմ այս ockամացույցը, որովհետև ես ունեմ հասցեավորվող LED ժապավեն, որը ցանկանում եմ օգտագործել այն: Հետո տեսա, որ իմ սենյակում չկա մի լավ ockամացույց, որը համընկնում է իր պատերին: Այսպիսով, ես որոշեցի պատրաստել Clամացույց, որը կարող է փոխել իր գույները ՝ ըստ օգտագործողների տրամադրության կամ պատի գույնի:

Քայլ 1: YouTube տեսանյութ

Image
Image

Դիտեք այս youtube տեսանյութը ՝ ամբողջական հրահանգների համար

Քայլ 2: Ընթացակարգ

Ես նախ վերցրեցի 24 x 15 դյույմանոց նրբատախտակի տախտակ:

Կտրեք LED շերտը կտորների և կպցրեք դրանք տախտակի վրա, այնուհետև դրանք կպցնելուց հետո ամբողջը ծածկում եմ սև գծապատկերով, այնուհետև դրա վրայով կպցրեք ջերմաթուխի թերթիկ և կտրեք ջերմաօջախը կտրիչ դանակով ՝ 4 յոթ հատվածի էկրանների տեսքով: երկու անցք կենտրոնում: Այնուհետև պատրաստեցի միացումս ՝ օգտագործելով ստորև տրված սխեմաների դիագրամը

և այս ամենը կպցրեց տախտակի հետևում: Ես նաև պատվիրեցի անհատական PCB նույնի համար https://jlcpcb.com- ից: Նրանք ապահովում են լավագույն pcb նախատիպերը ամենացածր գնով Չինաստանից և առաքում են ամբողջ աշխարհում արագ և ապահով: Իմ տախտակի վրա իմ բոլոր բաղադրիչները միացնելուց հետո ես հանեցի տախտակը և ամեն ինչ ամրացրեցի տախտակի հետևում և ծածկեցի առջևի հատվածը `օգտագործելով բարակ կիսաթափանցիկ հետք թուղթ: Theամացույցը հիանալի տեսք ունի և մեծացնում է պատի գեղեցկությունը: հարմարեցված գույները այն կատարյալ են դարձնում ցանկացած պատի համար:

Եթե Ձեզ դուր է գալիս այս նախագիծը, խնդրում ենք բաժանորդագրվել youtube- ին կամ այցելել մեր կայքը ՝ https://robocircuits.com: Շնորհակալություն ընթերցման համար:

Քայլ 3: Կոդ

/* Կոդը նախագծված է RoboCircuits- ի կողմից

* Այցելեք մեր կայքը https://robocircuits.com այս կոդի վերաբերյալ օգնության համար * Այս կոդը օգտագործում է DS3231.h Գրադարանը ներբեռնեք այն https://robocircuits.com- ից * Ամբողջական ձեռնարկի համար դիտեք տեսանյութը մեր YouTube ալիքում https:// youtube: com/robocircuits */

#ներառել #ներառել

int i = 0, j = 0, k = 150;

// Սկսեք DS3231- ը ՝ օգտագործելով DS3231 rtc ապարատային ինտերֆեյսը (SDA, SCL);

#ifdef _AVR_ #ներառել #endif

// Arduino- ի ո՞ր քորոցը միացված է NeoPixels- ին: // Կտրուկի կամ Gemma- ի վրա մենք առաջարկում ենք սա փոխել 1 #սահմանել PIN 6

// Քանի՞ NeoPixel է կցված Arduino- ին: #սահմանել NUMPIXELS 45

// Երբ մենք կարգավորում ենք NeoPixel գրադարանը, մենք նրան ասում ենք, թե քանի պիքսել, և որ քորոցն օգտագործել ազդանշաններ ուղարկելու համար: // Նկատի ունեցեք, որ ավելի հին NeoPixel շերտերի համար կարող է անհրաժեշտ լինել փոխել երրորդ պարամետրը `տե՛ս strandtest // օրինակը հնարավոր արժեքների մասին լրացուցիչ տեղեկությունների համար: Adafruit_NeoPixel պիքսել = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

int հետաձգում = 500; // կես վայրկյան հետաձգում

void setup () {// Սա Trinket 5V 16MHz- ի համար է, կարող եք հեռացնել այս երեք տողերը, եթե չեք օգտագործում Trinket #if սահմանված (_AVR_ATtiny85_) եթե (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // մանրուքների վերջի հատուկ ծածկագիր

pixels.begin (); // Սա նախաստորագրում է NeoPixel գրադարանը: // Կարգավորում Սերիական կապ Serial.begin (115200); // Նախաստորագրել rtc օբյեկտը rtc.begin (); // Հետևյալ տողերը կարող են չմեկնաբանվել ՝ ամսաթիվը և ժամը սահմանելու համար //rtc.setDOW(WEDNESDAY); // Շաբաթվա օրը սահմանել ԿԻՐԱԿԻ //rtc.setTime(12, 0, 0); // Setամանակը սահմանեք 12:00:00 (24 ժամ ձևաչափ) //rtc.setDate(1, 1, 2014); // Ամսաթիվը սահմանել 2014 թվականի հունվարի 1 -ը}

void loop () {if (digitalRead (2) == HIGH) {int a = analogRead (A0); int b = analogRead (A1); int c = analogRead (A2); i = քարտեզ (a, 0, 1025, 0, 150); // Կանաչ գույն j = քարտեզ (b, 0, 1025, 0, 150); // Կապույտ գույն k = քարտեզ (c, 0, 1025, 0, 150); // Կարմիր գույն} ուրիշ {i = 0; j = 0; k = 150; }

// Հետ լուսավորության ծածկագիր (int x = 29; x <= 45; x ++) {pixels.setPixelColor (x, pixels. Color (i, j, k)); pixels.show (); }

// Իրական ժամանակի դուրսբերում rtc տողից x = rtc.getTimeStr (); // Ուղարկելու ժամանակը Serial.println (rtc.getTimeStr ()); int ժամ 1 = x.charAt (0); int ժամ 2 = x.charAt (1); int min1 = x.charAt (3); int min2 = x.charAt (4); ժամ 1 = ժամ 1-48; ժամ 2 = ժամ 2-48; min1 = min1-48; min2 = min2-48;

// timeուցադրման ժամանակը Clամացույցի անջատիչի վրա (ժամ 1) {// գործ 0: զրո (0); //ընդմիջում; գործ 1: մեկ (0); ընդմիջում; գործ 2: երկու (0); ընդմիջում; կանխադրված ՝ nulll (0); ընդմիջում; } անջատիչ (ժամ 2) {դեպք 0: զրո (7); ընդմիջում; գործ 1: մեկ (7); ընդմիջում; գործ 2: երկու (7); ընդմիջում; գործ 3: երեք (7); ընդմիջում; գործ 4: չորս (7); ընդմիջում; գործ 5: հինգ (7); ընդմիջում; գործ 6: վեց (7); ընդմիջում; գործ 7: յոթ (7); ընդմիջում; գործ 8: ութ (7); ընդմիջում; գործ 9: ինը (7); ընդմիջում; կանխադրված ՝ nulll (7); ընդմիջում; } անջատիչ (min1) {դեպք 0: զրո (15); ընդմիջում; գործ 1: մեկ (15); ընդմիջում; գործ 2: երկու (15); ընդմիջում; գործ 3: երեք (15); ընդմիջում; գործ 4: չորս (15); ընդմիջում; գործ 5: հինգ (15); ընդմիջում; կանխադրված ՝ nulll (15); ընդմիջում; } անջատիչ (min2) {դեպք 0: զրո (22); ընդմիջում; գործ 1: մեկ (22); ընդմիջում; գործ 2: երկու (22); ընդմիջում; գործ 3: երեք (22); ընդմիջում; գործ 4: չորս (22); ընդմիջում; գործ 5: հինգ (22); ընդմիջում; գործ 6: վեց (22); ընդմիջում; գործ 7: յոթ (22); ընդմիջում; գործ 8: ութ (22); ընդմիջում; գործ 9: ինը (22); ընդմիջում; կանխադրված ՝ nulll (22); ընդմիջում; } pixels.setPixelColor (14, պիքսել. Color (i, j, k)); pixels.show (); ուշացում (250); pixels.setPixelColor (14, պիքսել. Գույն (0, 0, 0)); pixels.show (); ուշացում (250); }

դատարկ զրո (int a) {pixels.setPixelColor (a+0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+1, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, պիքսել. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+4, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+5, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, պիքսել. Color (i, j, k)); pixels.show (); } void one (int a) {pixels.setPixelColor (a+0, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+1, պիքսել. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+2, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, պիքսել. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+4, պիքսել. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, պիքսել. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+6, պիքսել. Color (i, j, k)); pixels.show (); } void two (int a) {pixels.setPixelColor (a+0, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+1, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+5, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, պիքսել. Color (0, 0, 0)); pixels.show (); } void three (int a) {pixels.setPixelColor (a+0, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+1, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, պիքսել. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, պիքսել. Color (i, j, k)); pixels.show (); } անվավեր չորս (int a) {pixels.setPixelColor (a+0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+1, պիքսել. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+2, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, պիքսել. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, պիքսել. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+6, պիքսել. Color (i, j, k)); pixels.show (); } անվավեր հինգ (int a) {pixels.setPixelColor (a+0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+1, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, պիքսել. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+3, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, պիքսել. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, պիքսել. Color (i, j, k)); pixels.show (); } void six (int a) {pixels.setPixelColor (a+0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+1, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, պիքսել. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+3, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+5, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, պիքսել. Color (i, j, k)); pixels.show (); } դատարկ յոթ (int a) {pixels.setPixelColor (a+0, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+1, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, պիքսել. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+4, պիքսել. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, պիքսել. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+6, պիքսել. Color (i, j, k)); pixels.show (); } void ութ (int a) {pixels.setPixelColor (a+0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+1, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+5, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, պիքսել. Color (i, j, k)); pixels.show (); } void nine (int a) {pixels.setPixelColor (a+0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+1, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, պիքսել. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, պիքսել. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, պիքսել. Color (i, j, k)); pixels.show (); } void nulll (int a) {pixels.setPixelColor (a+0, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+1, պիքսել. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+2, պիքսել. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+3, պիքսել. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+4, պիքսել. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, պիքսել. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+6, պիքսել. Color (0, 0, 0)); pixels.show (); }

Քայլ 4: Շնորհակալություն

այցելեք

Խորհուրդ ենք տալիս: