Բովանդակություն:
![Իրական ժամանակի միջավայր ՝ 4 քայլ Իրական ժամանակի միջավայր ՝ 4 քայլ](https://i.howwhatproduce.com/images/005/image-12268-6-j.webp)
Video: Իրական ժամանակի միջավայր ՝ 4 քայլ
![Video: Իրական ժամանակի միջավայր ՝ 4 քայլ Video: Իրական ժամանակի միջավայր ՝ 4 քայլ](https://i.ytimg.com/vi/TQIax3BGmDk/hqdefault.jpg)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
![Իրական ժամանակի միջավայրի ժամացույց Իրական ժամանակի միջավայրի ժամացույց](https://i.howwhatproduce.com/images/005/image-12268-7-j.webp)
Նպատակ
Ես պատրաստել եմ այս ockամացույցը, որովհետև ես ունեմ հասցեավորվող LED ժապավեն, որը ցանկանում եմ օգտագործել այն: Հետո տեսա, որ իմ սենյակում չկա մի լավ ockամացույց, որը համընկնում է իր պատերին: Այսպիսով, ես որոշեցի պատրաստել Clամացույց, որը կարող է փոխել իր գույները ՝ ըստ օգտագործողների տրամադրության կամ պատի գույնի:
Քայլ 1: YouTube տեսանյութ
![Image Image](https://i.howwhatproduce.com/images/005/image-12268-9-j.webp)
![](https://i.ytimg.com/vi/BOfylZIl_ws/hqdefault.jpg)
Դիտեք այս 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: Շնորհակալություն
այցելեք
Խորհուրդ ենք տալիս:
Ինչպես օգտագործել իրական ժամանակի ժամացույցի մոդուլ (DS3231) ՝ 5 քայլ
![Ինչպես օգտագործել իրական ժամանակի ժամացույցի մոդուլ (DS3231) ՝ 5 քայլ Ինչպես օգտագործել իրական ժամանակի ժամացույցի մոդուլ (DS3231) ՝ 5 քայլ](https://i.howwhatproduce.com/images/001/image-2516-j.webp)
Ինչպես օգտագործել իրական ժամանակի ժամացույցի մոդուլ (DS3231). DS3231- ը էժան, չափազանց ճշգրիտ I2C իրական ժամանակի (RTC) ժամացույց է (RTC) `ինտեգրված ջերմաստիճանի փոխհատուցվող բյուրեղային տատանումով (TCXO) և բյուրեղով: Սարքը ներառում է մարտկոցի մուտք և պահպանում է ժամանակի ճշգրիտ հաշվարկում, երբ հիմնական էներգիան
Իրական ժամանակի ջրհորի մակարդակի հաշվիչ `6 քայլ (նկարներով)
![Իրական ժամանակի ջրհորի մակարդակի հաշվիչ `6 քայլ (նկարներով) Իրական ժամանակի ջրհորի մակարդակի հաշվիչ `6 քայլ (նկարներով)](https://i.howwhatproduce.com/images/001/image-1588-28-j.webp)
Իրական ժամանակի ջրհորի ջրի մակարդակի հաշվիչ. Այս հրահանգները նկարագրում են, թե ինչպես կարելի է կառուցել ցածրարժեք, իրական ժամանակի ջրի մակարդակի հաշվիչ `փորված հորերում օգտագործելու համար: Levelրի մակարդակի հաշվիչը նախատեսված է փորված ջրհորի ներսում կախված լինելու համար, ջրի մակարդակը չափելու համար օրական մեկ անգամ և տվյալները ուղարկելու WiFi- ով կամ բջջային կապով
Ինչպես կատարել խոնավության և ջերմաստիճանի իրական ժամանակի տվյալների գրանցիչ Arduino UNO- ի և SD- քարտի միջոցով: - DHT11 Տվյալների գրանցման մոդելավորում Proteus- ում. 5 քայլ
![Ինչպես կատարել խոնավության և ջերմաստիճանի իրական ժամանակի տվյալների գրանցիչ Arduino UNO- ի և SD- քարտի միջոցով: - DHT11 Տվյալների գրանցման մոդելավորում Proteus- ում. 5 քայլ Ինչպես կատարել խոնավության և ջերմաստիճանի իրական ժամանակի տվյալների գրանցիչ Arduino UNO- ի և SD- քարտի միջոցով: - DHT11 Տվյալների գրանցման մոդելավորում Proteus- ում. 5 քայլ](https://i.howwhatproduce.com/images/002/image-3231-3-j.webp)
Ինչպես կատարել խոնավության և ջերմաստիճանի իրական ժամանակի տվյալների գրանցիչ Arduino UNO- ի և SD- քարտի միջոցով DHT11 Տվյալների գրանցման մոդելավորում Proteus- ում. Ներածություն. Բարև, սա Liono Maker- ն է, ահա YouTube- ի հղումը: Մենք ստեղծում ենք ստեղծագործական նախագիծ Arduino- ի հետ և աշխատում ներկառուցված համակարգերի վրա: Data-Logger: Տվյալների գրանցիչ (նաև տվյալների գրանցիչ կամ տվյալների գրանցիչ) էլեկտրոնային սարք է, որը ժամանակի ընթացքում գրանցում է տվյալները
Postshirt: Իրական ժամանակի կրելի կեցվածքի հայտնաբերում `9 քայլ
![Postshirt: Իրական ժամանակի կրելի կեցվածքի հայտնաբերում `9 քայլ Postshirt: Իրական ժամանակի կրելի կեցվածքի հայտնաբերում `9 քայլ](https://i.howwhatproduce.com/images/005/image-13529-j.webp)
Postshirt: Իրական ժամանակի կրելի կեցվածքի հայտնաբերում. Postshirt- ը իրական ժամանակի անլար կեցվածքի հայտնաբերման համակարգ է, որը փոխանցում և դասակարգում է արագացուցիչի տվյալները Adafruit փետուրից դեպի Android հավելված ՝ Bluetooth- ի միջոցով: Ամբողջական համակարգը կարող է իրական ժամանակում հայտնաբերել, եթե օգտվողն ունի վատ կեցվածք և
Անջատիչ, ավտոմատ ելք իրական ժամանակի ընթացիկ չափումներով `6 քայլ
![Անջատիչ, ավտոմատ ելք իրական ժամանակի ընթացիկ չափումներով `6 քայլ Անջատիչ, ավտոմատ ելք իրական ժամանակի ընթացիկ չափումներով `6 քայլ](https://i.howwhatproduce.com/images/006/image-17377-j.webp)
Փոխարկիչ, ավտոմատ ելք իրական ժամանակի չափումներով. Ինձ իսկապես դուր է գալիս ավտոմատացումը, երբ ինչ-որ բան պետք է տեղի ունենա: Սա այն է, ինչն ինձ դրդեց այս գաղափարը `ինքնաշեն, ավտոմատ վարդակից: Այն կարող է օգտագործվել պլանավորման համար, երբ լույսերը պետք է միացնել, երբ հեռախոսները պետք է լիցքավորվեն կամ