Სარჩევი:
- ნაბიჯი 1: ნაწილების შეგროვება და ხეზე მუშაობა
- ნაბიჯი 2: აკრილის წრეები
- ნაბიჯი 3: შედუღება
- ნაბიჯი 4: კოდი
- ნაბიჯი 5: დანიური ზეთი
ვიდეო: Ish საათი: 5 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
მე ხშირად ვხვდები, რომ ვყიდულობ ნივთებს, რომელთა წარმოდგენაც არ მაქვს რას ვაპირებ. ეს პროექტი არის ბეჭდის შეძენის შედეგი, რომელსაც აქვს 12x WS2812b LED- ები. მე არ მქონდა ამის გეგმა, მაგრამ ინტერნეტში მაგრად გამოიყურებოდა, ასე რომ, ერთი ჩავდექი ჩემს კალათაში, ვითამაშე ცოტა ხნით, როდესაც ჩამოვიდა და შემდეგ დამავიწყდა ყველაფერი.
ცოტა ხნის შემდეგ მე ვფიქრობდი საათის დამზადებაზე და გამახსენდა რომ ის იჯდა და არაფერს აკეთებდა. მე ვფიქრობდი მეორე ბეჭდის ყიდვაზე 60 LED- ით, რომ შემექმნა წუთები, მაგრამ შემდეგ დავიწყე ფიქრი იმაზე, თუ როგორ ვუყურებთ ჩვენ / მე და ვამრგვალებ მას უახლოეს 5 წუთამდე.
ამ ჩემთან ერთად მე დავიწყე ჩემი 12 LED ბეჭედი, რათა გამეკეთებინა საათი. ის აჩვენებს ერთ დროს 1 LED 1 წამს, რომ მიუთითოს საათი (ლურჯი LED) და შემდეგ წუთები (წითელი LED) დამრგვალებულია ქვემოთ
ნაბიჯი 1: ნაწილების შეგროვება და ხეზე მუშაობა
ძალიან გამიმართლა, რომ ერთ დღეს სამსახურში მივედი და პალეტი დავინახე. ეს პალეტი ჩემთვის მოჩანდა, რადგან ის არ ჰგავდა თქვენს სტანდარტულ, წისქვილის პალეტას. ეს იყო სუფთა, სითბოს დამუშავებული და უჩვეულოდ მყარი მუხა.
ეს პროექტი დამზადებულია ამ პალეტის ერთ -ერთი ნაწილისგან. (მე ვკითხე უფროსს, სანამ სახლში წავიყვანდი)
ასევე გამოიყენება:
- 12 პიქსელიანი ws2812b LED ბეჭედი
- რეალური დროის საათი (RTC) მოდული (მე ვიყენებ DS3231– ს I2C– ით)
- Arduino Nano v3.0 თავსებადია
- აკრილის ფურცელი (5 მმ)
- ფერადი მავთული
ინსტრუმენტები
- Საბურღი ძალა
- როუტერი
- რეგულირებადი ბრტყელი ხის ბიტი
- დენის გამანადგურებელი
- Ხელის ხერხი
- გასაყიდი რკინა
- ცხელი წებოს იარაღი
- ქვიშის ქაღალდი
- დანიური ზეთი
მოსახვეწი
დავიწყე დენის საფქვავის გამოყენებით ხის ბლოკის გასწორება და გაწმენდა, სანამ ყველა მხარე სუფთა და გლუვი არ იქნება. დავტოვე ზოგიერთი არასრულყოფილება თვალსაჩინო და ის არ არის სრულყოფილად სწორი ან კვადრატული, რადგან მე მომწონს, რომ შევძლებ ტყეში ისტორიის დანახვას.
მარკირება და ჭრის ხვრელები
ქვიშის შემდეგ მე ავირჩიე ის გვერდი, რომელიც მინდოდა საათის სახე და თითოეული კუთხიდან ხაზების დახატვით აღვნიშნავდი ცენტრს. მე დავაყენე რეგულირებადი ხე ოდნავ უფრო დიდი ვიდრე led ბეჭედი, ასე რომ იქნება თარო აკრილის დასაჯდომად და დასაჭრელად დაახლოებით 5 მმ სიღრმეზე და შემდგომი რეგულირებადი საჭრელი ოდნავ უფრო დიდი ზომის LED რგოლის და შემცირება კიდევ 5 მმ დაახლოებით რა
მარშრუტი და საკაბელო ხვრელები
ჩემი როუტერის გამოყენებით 12 მმ -იანი ბიტით, მე გამოვიყვანე შესასვლელი ბლოკის ბოლოში, რათა დამალულიყო RTC და Arduino. მისი სიღრმე დაახლოებით 15 მმ -ია და ნებისმიერი კიდედან არანაკლებ 5 მმ. ცენტრიდან (ქვედა) აღვნიშნე ქვემოდან და გავაფურთხე 10 მმ -იანი ბილიკით, ნახევარი გზის გასწვრივ, რათა დავუშვათ LED მავთულები. შემდეგ 5 მმ -იანი ბიტის გამოყენებით გავხვრიტე LED ჩაღრმავების ცენტრიდან ქვემოდან 10 მმ -იანი ხვრელის დასაკმაყოფილებლად.
უკანა კიდევ 4 მმ -იანი ხვრელი დენის მოსასვლელად და მცირე როუტერის ბიტის გამოყენებით არხის გასაკეთებლად LED რგოლის უკანა მხარეს და ხის სამუშაოები დასრულებულია.
ნაბიჯი 2: აკრილის წრეები
საათის წინ აკრილის გასაკეთებლად მე განვაცხადე კვადრატული ნაწილის მოჭრა, რომელიც უფრო დიდი იყო ვიდრე ხვრელი, რომელიც უნდა შეევსო. შემდეგ დენის გამანადგურებლის გამოყენებით დავიწყე კუთხეების ამოღება, სანამ არ იქნებოდა სწორი ფორმა და ზომა. შემდეგ გადავედი ხელის ქვიშაზე, ასე რომ არ გადამეღო სროლა და თავიდან უნდა დამეწყო.
ეს იყო ცდისა და შეცდომის ნელი და დამღლელი პროცესი მანამ, სანამ არ მოერგებოდა ზუსტად, მაგრამ მე ვფიქრობ, რომ საბოლოო შედეგი ღირდა. მე დავამთავრე ძალიან თხელი ქაღალდის გამოყენებით, რათა აკრილის წინა მხარე გამყინვარებული ყოფილიყო.
ნაბიჯი 3: შედუღება
მე მომწონს ფერადი სისტემის გამოყენება ჩემი ხაზებისთვის, ამ შემთხვევაში მე ვირჩევ:
- წითელი სიმძლავრისთვის (5 ვ)
- თეთრი გრუნტისთვის
- ყვითელი მონაცემებისთვის
- მწვანე საათისათვის
მე დავიწყე 3 აუცილებელი მავთულის შედუღება LED რგოლზე ზემოთ სისტემის გამოყენებით და მავთულის გადატანა ხვრელში. ვინაიდან ის არ უნდა ექვემდებარებოდეს რაიმე ნამდვილ იძულებულს, მე გამოვიყენე ცხელი წებო, რათა ბეჭედი ადგილზე მეჭირა. (შეიძლება ოდესმე მისი შეცვლა დამჭირდეს) და აკრილის დაყენება მხოლოდ ოდნავ ცხელი წებოთი ზღვარზე.
შემდეგ მე გავამაგრე 4 მავთული RTC– ზე ზემოთ სისტემის გამოყენებით. იმისთვის, რომ ყველაფერი ცოტათი სუფთა იყოს, გადავწყვიტე Rdu– სთვის ძალა გამომეყვანა Arduino– დან. შემდეგ შეაერთეთ ყველაფერი არდუინოსთან და 1 მავთული შეაერთეთ დენისთვის და მეორე მიწაზე არდუინოს.
RTC
- SCL (საათი) ანალოგურ პინზე 5
- SDA (მონაცემები) ანალოგურ პინზე 4
- VCC 5V– მდე
- GND ნებისმიერი GND არდუინოზე
LED ბეჭედი
Din ციფრულ პინზე 6
მე მქონდა ძველი USB კაბელი, ასე რომ გადავწყვიტე გამომეყენებინა საათის დასატენად. მე გავწყვიტე ბოლო, რომელიც ჩვეულებრივ რაღაცას უკავშირდებოდა და უკანა ხვრელში გავუშვი. შემდეგ გაშიშვლდა და დაამთავრა ბოლოები, სანამ VCC არდუინოს შეაერთებ და LED ბეჭედი დადებით მხარეზე და მიწა არდუინოდან და LED გრუნტიდან. მე ოდნავ შევამცირე მოგვიანებით და ის კარგად გამოიყურებოდა, ცხელი წებოს იარაღი უკან გამოვიდა, რომ ყველაფერი დაეჭირა. მე გადავწყვიტე Arduino– ს დატოვება იმდენი თამაშით, რომ მომავალში შევძლებ წვდომას USB პორტზე, რათა დავპროგრამო ის, მაგრამ არა იმდენად, რამდენადაც მე შეიძლება ამოვარდე.
ნაბიჯი 4: კოდი
თქვენ ახლა უნდა შეგეძლოთ ამ კოდის ატვირთვა არდუინოში.
თუ RTC არ მუშაობს, ეს კოდი დაადგენს დროს კოდის შედგენის საფუძველზე, ასე რომ დარწმუნდით, რომ უბრალოდ დააჭირეთ ატვირთვის ღილაკს და არ გადაამოწმეთ.
მონაცვლეობით ეს ასევე ძალიან კარგად მუშაობს დროის დასადგენად.
www.instructables.com/id/Setting-the-DS130…
ამ კოდის დიდი ნაწილი ნასესხები მაქვს ადაფრუტ ნეოპიქსელის ბიბლიოთეკიდან, ზოგი კი RTC ბიბლიოთეკიდან ვიპოვე, ზოგი კი დამოუკიდებლად შევადგინე.
// შეიტანეთ ბიბლიოთეკის კოდი: #მოიცავს
#ჩართეთ
#ჩართეთ
// ქინძისთავების განსაზღვრა
#განსაზღვრეთ PIN 6
#განსაზღვრეთ სიკაშკაშე 20 // დააყენეთ მაქსიმალური სიკაშკაშე
#განსაზღვრეთ r 5
#განსაზღვრეთ გ 5
#განსაზღვრეთ ბ 5
RTC_DS3231 rtc; // საათის ობიექტის დადგენა
Adafruit_NeoPixel ზოლები = Adafruit_NeoPixel (12, PIN, NEO_GRB + NEO_KHZ800); // ზოლის ობიექტი
void setup () {
Wire.begin (); // დასაწყისი I2C
rtc.begin (); // საათის დაწყება
სერიული.დაწყება (9600);
// დააყენეთ pinmodes
pinMode (PIN, OUTPUT);
თუ (rtc.lostPower ()) {
Serial.println ("RTC დაკარგა ენერგია, მოდით დავადგინოთ დრო!");
// შემდეგი ხაზი ადგენს RTC– ს ამ ესკიზის შედგენის თარიღსა და დროს
rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)));
// ეს ხაზი ადგენს RTC– ს მკაფიო თარიღითა და დროს, მაგალითად, დასაყენებლად
// 2014 წლის 21 იანვარი დილის 3 საათზე დარეკავთ:
// rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0));
}
ზოლები. დაწყება ();
ზოლები. ჩვენება (); // ყველა პიქსელის ინიციალიზაცია "გამორთვის"
DateTime theTime = rtc.now (); // ითვალისწინებს DST
მეორე ბაიტი = theTime.second (); // მიიღეთ წამი
ბაიტი minuteval = theTime.minute (); // მიიღეთ წუთი
int hourval = theTime.hour ();
წერტილი (ზოლები. ფერი (0, გ, 0), 50);
}
ბათილი მარყუჟი () {
// მიიღეთ დრო
DateTime theTime = rtc.now (); // ითვალისწინებს DST
int წუთიანი = theTime.minute (); // მიიღეთ წუთი
int hourval = theTime.hour (); // მიიღეთ საათები
int secondval = theTime.second ();
თუ (წუთი წუთი 0) {
strip.setPixelColor (0, r, 0, 0);
strip.show ();}
სხვა შემთხვევაში თუ (წუთიანი წუთი <= 9) {
strip.setPixelColor (1, r, 0, 0);
strip.show ();}
სხვა შემთხვევაში თუ (წუთი <<14) {
strip.setPixelColor (2, r, 0, 0);
strip.show ();}
სხვა შემთხვევაში თუ (წუთი <<19) {
strip.setPixelColor (3, r, 0, 0);
strip.show ();}
სხვა შემთხვევაში თუ (წუთიანი წუთი <= 24) {
strip.setPixelColor (4, r, 0, 0);
strip.show ();}
სხვა შემთხვევაში თუ (წუთი <<29) {
strip.setPixelColor (5, r, 0, 0);
strip.show ();}
სხვა შემთხვევაში თუ (წუთიანი წუთი <= 34) {
strip.setPixelColor (6, r, 0, 0);
strip.show ();}
სხვა შემთხვევაში თუ (წუთიანი წუთი <= 39) {
strip.setPixelColor (7, r, 0, 0);
strip.show ();}
სხვა შემთხვევაში თუ (წუთიანი წუთი <= 44) {
strip.setPixelColor (8, r, 0, 0);
strip.show ();}
სხვა შემთხვევაში თუ (წუთი <= 49) {
strip.setPixelColor (9, r, 0, 0);
strip.show ();}
სხვა შემთხვევაში თუ (წუთიანი წუთი <= 54) {
strip.setPixelColor (10, r, 0, 0);
strip.show ();}
სხვა შემთხვევაში თუ (წუთიანი წუთი <= 59) {
strip.setPixelColor (11, r, 0, 0);
strip.show ();}
დაგვიანება (1000);
for (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
ზოლები. ჩვენება ();
}
თუ (საათის ინტერვალი == 0) {
strip.setPixelColor (0, 0, 0, ბ);
strip.show ();}
სხვაგვარად თუ (საათის ინტერვალი == 1) {
strip.setPixelColor (1, 0, 0, ბ);
strip.show ();}
სხვაგვარად თუ (საათის შუალედი == 2) {
strip.setPixelColor (2, 0, 0, ბ);
strip.show ();}
სხვაგვარად თუ (საათის შუალედი == 3) {
strip.setPixelColor (3, 0, 0, ბ);
strip.show ();}
სხვა შემთხვევაში თუ (საათის შუალედი == 4) {
strip.setPixelColor (4, 0, 0, ბ);
strip.show ();}
სხვაგვარად თუ (საათის ინტერვალი == 5) {
strip.setPixelColor (5, 0, 0, ბ);
strip.show ();}
სხვაგვარად თუ (საათის შუალედი == 6) {
strip.setPixelColor (6, 0, 0, ბ);
strip.show ();}
სხვაგვარად, თუ (საათის ინტერვალი == 7) {
strip.setPixelColor (7, 0, 0, ბ);
strip.show ();}
სხვაგვარად თუ (საათის ინტერვალი == 8) {
strip.setPixelColor (8, 0, 0, ბ);
strip.show ();}
სხვაგვარად თუ (საათის ინტერვალი == 9) {
strip.setPixelColor (9, 0, 0, ბ);
strip.show ();}
სხვა შემთხვევაში თუ (საათის ინტერვალი == 10) {
strip.setPixelColor (10, 0, 0, ბ);
strip.show ();}
სხვაგვარად თუ (საათის ინტერვალი == 11) {
strip.setPixelColor (11, 0, 0, ბ);
strip.show ();}
სხვა შემთხვევაში თუ (საათის ინტერვალი == 12) {
strip.setPixelColor (0, 0, 0, ბ);
strip.show ();}
სხვაგვარად თუ (საათის ინტერვალი == 13) {
strip.setPixelColor (1, 0, 0, ბ);
strip.show ();}
სხვაგვარად თუ (საათის ინტერვალი == 14) {
strip.setPixelColor (2, 0, 0, ბ);
strip.show ();}
სხვაგვარად თუ (საათის ინტერვალი == 15) {
strip.setPixelColor (3, 0, 0, ბ);
strip.show ();}
სხვაგვარად თუ (საათის ინტერვალი == 16) {
strip.setPixelColor (4, 0, 0, ბ);
strip.show ();}
სხვაგვარად თუ (საათის ინტერვალი == 17) {
strip.setPixelColor (5, 0, 0, ბ);
strip.show ();}
სხვაგვარად თუ (საათის ინტერვალი == 18) {
strip.setPixelColor (6, 0, 0, ბ);
strip.show ();}
სხვაგვარად თუ (საათის ინტერვალი == 19) {
strip.setPixelColor (7, 0, 0, ბ);
strip.show ();}
სხვაგვარად თუ (საათის ინტერვალი == 20) {
strip.setPixelColor (8, 0, 0, ბ);
strip.show ();}
სხვაგვარად თუ (საათის ინტერვალი == 21) {
strip.setPixelColor (9, 0, 0, ბ);
strip.show ();}
სხვაგვარად თუ (საათის ინტერვალი == 22) {
strip.setPixelColor (10, 0, 0, ბ);
strip.show ();}
სხვაგვარად თუ (საათის ინტერვალი == 23) {
strip.setPixelColor (11, 0, 0, ბ);
strip.show ();}
დაგვიანება (1000);
for (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
ზოლები. ჩვენება ();
}
// სერიული გამართვისთვის
Serial.print (hourval, DEC);
Serial.print (':');
Serial.print (წუთი, DEC);
Serial.print (':');
Serial.println (მეორე ხარისხი, DEC);
}
ბათილი წერტილი (uint32_t c, uint8_t ლოდინი) {
for (int j = 0; j <3; j ++) {
for (int i = 0; i <12; i ++) {
strip.setPixelColor (i, c);
ზოლები. ჩვენება ();
დაგვიანება (ლოდინი);
for (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
strip.show ();}
}
}
}
ნაბიჯი 5: დანიური ზეთი
საბოლოო და არჩევითი ნაბიჯი არის დანიის ზეთის გამოყენება ხეზე. მე ნამდვილად მომწონს როგორ გამოაქვს მარცვლეული პლუს ის გთავაზობთ გარკვეულ დაცვას ლაქებისა და ტენიანობისგან. ამიტომ ძალიან გირჩევთ.
თქვენ შეგიძლიათ მისი დავარცხნა ან მე მხოლოდ ძველი ქსოვილი გამოვიწმინდო.
ყველაფერი რაც ახლა დარჩა არის მისი ჩართვა და სიამოვნება.
გირჩევთ:
როგორ გააკეთოთ ანალოგური საათი და ციფრული საათი Led Strip– ით Arduino– ს გამოყენებით: 3 ნაბიჯი
როგორ გავაკეთოთ ანალოგური საათი და ციფრული საათი Led Strip– ით Arduino– ს გამოყენებით: დღეს ჩვენ გავაკეთებთ ანალოგიურ საათს & ციფრული საათი Led Strip– ით და MAX7219 Dot მოდულით Arduino– ით. ის შეასწორებს დროს ადგილობრივ დროის ზონაში. ანალოგურ საათს შეუძლია გამოიყენოს უფრო გრძელი LED ზოლები, ასე რომ ის შეიძლება კედელზე ჩამოკიდდეს და გახდეს ხელოვნება
საპენსიო საათი / დათვლა / Dn საათი: 4 ნაბიჯი (სურათებით)
საპენსიო საათი / დათვლა / Dn საათი: უჯრაში მქონდა რამოდენიმე ამ 8x8 LED dot-matrix ჩვენება და ვფიქრობდი რა გამეკეთებინა მათთან. სხვა ინსტრუქციებით შთაგონებული, მე მივიღე იდეა ავაშენო დათვლის/ზევით ჩვენება მომავალ თარიღამდე/დროზე დასათვლელად და თუ მიზნობრივი დროა
ESP8266 ქსელის საათი ყოველგვარი RTC - Nodemcu NTP საათი არა RTC - პროექტი ინტერნეტ საათზე: 4 ნაბიჯი
ESP8266 ქსელის საათი ყოველგვარი RTC | Nodemcu NTP საათი არ არის RTC | ინტერნეტის საათის პროექტი: პროექტში იქნება საათის პროექტი RTC– ის გარეშე, ის მიიღებს დროს ინტერნეტიდან wifi– ს გამოყენებით და ის გამოჩნდება st7735 ეკრანზე
C51 4 ბიტიანი ელექტრონული საათი - ხის საათი: 15 ნაბიჯი (სურათებით)
C51 4 ბიტიანი ელექტრონული საათი - ხის საათი: ამ შაბათ -კვირას მქონდა თავისუფალი დრო, ასე რომ წინ წავიდა და ავაწყვე 2.40 აშშ დოლარი, 4 ბიტიანი DIY ელექტრონული ციფრული საათი, რომელიც ვიყიდე AliExpress– ისგან ცოტა ხნის წინ
ააშენეთ თქვენი კომპიუტერისთვის ნამდვილი ზარიანი საათი და ცეცხლსაქრობიანი საათი: 3 ნაბიჯი (სურათებით)
ააშენეთ ნამდვილი ზარის მომგვრელი საათი თქვენი კომპიუტერისთვის და ცეცხლის ჩაქრობის მანქანა-საათი: სპილენძის ზარი, პატარა სარელეო კიდევ რამდენიმე რამ და ნამდვილ ზარს შეუძლია საათების დარტყმა თქვენს სამუშაო მაგიდაზე. თუმცა ეს პროექტი მუშაობს Windows და Mac- ზე OS X ასევე, მე გადავწყვიტე დავაყენო Ubuntu Linux კომპიუტერზე, რომელიც აღმოვაჩინე ნაგავში და ვმუშაობ ამაზე: მე არასოდეს