Სარჩევი:

გარემოს რეალურ დროში საათი: 4 ნაბიჯი
გარემოს რეალურ დროში საათი: 4 ნაბიჯი

ვიდეო: გარემოს რეალურ დროში საათი: 4 ნაბიჯი

ვიდეო: გარემოს რეალურ დროში საათი: 4 ნაბიჯი
ვიდეო: ვიქტორ ჰიუგო - "საბრალონი" - ნაწილი პირველი - წიგნი 1-4 2024, ნოემბერი
Anonim
გარემოს რეალური დროის საათი
გარემოს რეალური დროის საათი

მიზანი

მე გავაკეთე ეს საათი, რადგან მე მაქვს მოსახსნელი LED ზოლები და მინდა გამოვიყენო. შემდეგ დავინახე, რომ ჩემს ოთახს არ აქვს კარგი საათი, რომელიც შეესაბამება მის კედლებს. ასე რომ, მე გადავწყვიტე გავაკეთო საათი, რომელსაც შეუძლია შეცვალოს მისი ფერები მომხმარებლის განწყობისა და კედლის ფერის მიხედვით.

ნაბიჯი 1: YouTube ვიდეო

Image
Image

უყურეთ ამ youtube ვიდეოს სრული ინსტრუქციისთვის

ნაბიჯი 2: პროცედურა

მე პირველად ავიღე 24 x 15 ინჩიანი პლაივუდის დაფა.

გაჭერით LED ზოლები ნაწილებად და ჩასვით დაფაზე, შემდეგ შედუღებისთანავე დავფარავ მთელს შავი დიაგრამის ქაღალდით, შემდეგ დავამატებ თერმოქუცმაცვის ფურცელს და ვჭრი თერმობურცხვილს ბასრი საჭრელით, 4 შვიდ სეგმენტიანი დისპლეით. ორი ხვრელი ცენტრში. შემდეგ გავამზადე ჩემი წრე სქემების ქვემოთ მოცემული სქემის გამოყენებით

და ჩასვით ეს ყველაფერი დაფის უკან. მე ასევე შევუკვეთე საბაჟო pcb იგივე https://jlcpcb.com– დან, ისინი უზრუნველყოფენ საუკეთესო pcb პროტოტიპებს ჩინეთიდან ყველაზე დაბალ ფასად და გზავნიან მსოფლიოში სწრაფად და უსაფრთხოდ. მას შემდეგ, რაც შევაერთე ყველა კომპონენტი ჩემს დაფაზე, მე ამოვიღე პურის დაფა და დავაფიქსირე ყველაფერი დაფის მიღმა და დაფარული წინა ნაწილი თხელი გამჭვირვალე კვალი ქაღალდის გამოყენებით. საათი მშვენივრად გამოიყურება და გაზრდის კედლის სილამაზეს. მორგებული ფერები მას სრულყოფილად აქცევს ნებისმიერ კედელზე.

თუ მოგწონთ ეს პროექტი გთხოვთ გამოიწეროთ 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_ #მოიცავს #ენდიფს

// არდუინოს რომელი პინია დაკავშირებული ნეოპიქსელებთან? // წვრილმანზე ან გემაზე ჩვენ გირჩევთ შეცვალოთ ეს 1 #განსაზღვრეთ PIN 6 -ით

// რამდენი ნეოპიქსელი ერთვის არდუინოს? #განსაზღვრეთ NUMPIXELS 45

// როდესაც ჩვენ ვაყენებთ NeoPixel ბიბლიოთეკას, ჩვენ ვეუბნებით მას რამდენი პიქსელი და რომელი პინი უნდა გამოვიყენოთ სიგნალების გასაგზავნად. // გაითვალისწინეთ, რომ ძველი NeoPixel ზოლებისთვის შეიძლება დაგჭირდეთ მესამე პარამეტრის შეცვლა-იხილეთ strandtest // მაგალითი შესაძლო მნიშვნელობების შესახებ დამატებითი ინფორმაციისათვის. Adafruit_NeoPixel პიქსელი = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

int დაგვიანებით = 500; // გადადება ნახევარი წამი

void setup () {// ეს არის Trinket 5V 16MHz– ისთვის, შეგიძლიათ წაშალოთ ეს სამი ხაზი, თუ არ იყენებთ Trinket #fifined (_AVR_ATtiny85_) თუ (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // წვრილმანი სპეციალური კოდის დასასრული

pixels.begin (); // ეს ინიციალებს NeoPixel ბიბლიოთეკას. // სერიული კავშირის დაყენება Serial.begin (115200); // rtc ობიექტის ინიციალიზაცია rtc.begin (); // თარიღისა და დროის //rtc.setDOW(WEDNESDAY) დასაყენებლად შესაძლებელია შემდეგი სტრიქონების არაკომენტირება; // კვირის დღეების დაყენება SUNDAY //rtc.setTime(12, 0, 0); // დააყენეთ დრო 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;

// საათის ჩვენება საათის გადამრთველზე (საათი 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); შესვენება; } switch (min1) {case 0: zero (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, პიქსელი. ფერი (i, j, k)); pixels.show (); დაგვიანება (250); pixels.setPixelColor (14, პიქსელი. ფერი (0, 0, 0)); pixels.show (); დაგვიანება (250); }

void zero (int a) {pixels.setPixelColor (a+0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, pixels. 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, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+6, pixels. 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, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, pixels. 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, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (i, j, k)); pixels.show (); } void four (int a) {pixels.setPixelColor (a+0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (i, j, k)); pixels.show (); } void five (int a) {pixels.setPixelColor (a+0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, pixels. 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, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (i, j, k)); pixels.show (); } void შვიდი (int a) {pixels.setPixelColor (a+0, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (i, j, k)); pixels.show (); } ბათილი რვა (int a) {pixels.setPixelColor (a+0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, pixels. 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, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, pixels. 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, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (0, 0, 0)); pixels.show (); }

ნაბიჯი 4: გმადლობთ

ეწვიეთ

გირჩევთ: