Სარჩევი:

საპენსიო საათი / დათვლა / Dn საათი: 4 ნაბიჯი (სურათებით)
საპენსიო საათი / დათვლა / Dn საათი: 4 ნაბიჯი (სურათებით)

ვიდეო: საპენსიო საათი / დათვლა / Dn საათი: 4 ნაბიჯი (სურათებით)

ვიდეო: საპენსიო საათი / დათვლა / Dn საათი: 4 ნაბიჯი (სურათებით)
ვიდეო: #1წუთიექსელთან - როგორ დავთვალოთ ანაზღაურება საათის მიხედვით 2024, ივნისი
Anonim
საპენსიო საათი / დათვლა / Dn საათი
საპენსიო საათი / დათვლა / Dn საათი

უჯრაში მქონდა რამოდენიმე ამ 8x8 LED წერტილოვანი მატრიცა და ვფიქრობდი რა გამეკეთებინა მათთან. სხვა ინსტრუქციებით შთაგონებული, მე მივიღე იდეა ავაშენო დათვლის/გაზრდის ჩვენება მომავალ თარიღამდე/დროზე დასათვლელად და თუ სამიზნე დრო გავიდა, ითვლი მისგან. ეს გავაკეთე ახლა ჩემი საპენსიო საათი, რომელიც თაროზე იჯდა.

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

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

მარაგები

1. არდუინო ნანო

2. RTC (მე გამოვიყენე საერთო DS3231 რომელსაც ასევე აქვს EEPROM)

3. 12x 8x8 წერტილოვანი მატრიცის მოდული. (მე მქონდა ოთხ მოდული, რომლის დალაგება უფრო ადვილია)

4. LDR ეკრანის სიკაშკაშის შესაცვლელად

5. რეზისტორი 10 kOhm

6. კონდენსატორი 5x100 uF ეკრანზე ჩამხშობი spikes

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

ნაბიჯი 1: შეაერთეთ კომპონენტები

შეაერთეთ კომპონენტები
შეაერთეთ კომპონენტები
შეაერთეთ კომპონენტები
შეაერთეთ კომპონენტები

ეკრანის ასაწყობად გამოვიყენე სამი ოთხკუთხედი ეკრანი. ნაჩვენები თარიღის დახრილობებით და დრო მსხვილი ნაწლავით, ჩვენ გვჭირდება სივრცე 8 სიმბოლოსთვის. ტიპიური 5x7 შრიფტის გამოყენებით, ჩვენ გვჭირდება ექვსი 8x8 ბლოკი თითო რიგში. მე ოთხკუთხედი ბლოკი გავანახევრე და ეს ორი მწკრივი ექვსი ბლოკით დავდე, როგორც ეს ნაჩვენებია პურის დაფის სქემატურ სქემაში.

ნაბიჯი 2: 3D ნაბეჭდი ნაწილები

3D ნაბეჭდი ნაწილები
3D ნაბეჭდი ნაწილები
3D ნაბეჭდი ნაწილები
3D ნაბეჭდი ნაწილები
3D ნაბეჭდი ნაწილები
3D ნაბეჭდი ნაწილები

ეკრანის ორი რიგის ჩასატარებლად და ბოთლში დასაყენებლად დავბეჭდე მრგვალი მანძილის რგოლები ჩვენების ჩარჩოსთვის. მე დავამატე ქვემოთ გამოყენებული ფაილები. იმისათვის, რომ შეძლოთ მათი დაბეჭდვა მხარდაჭერის გარეშე, ისინი იყოფა ნაწილებად. ეკრანის სურათზე ნაჩვენებია ეკრანის ჩარჩოზე მიბმული ორი რგოლი. ბოთლის კისრის საფარში არის სამი ღილაკი, რომ გადაერთოთ ჩვენების რეჟიმებს შორის და განსაზღვროთ მიმდინარე დრო და სამიზნე დრო. ბოთლის კისრის საფარი, რომელიც მე დავბეჭდე TPU– ში, რომლის საშუალებითაც შესაძლებელია USB კაბელის გადატანა საფარში კონექტორების გაწყვეტის გარეშე და მიბმა მავთულის რამდენიმე გრაგნილით. დამავიწყდა აღვნიშნო, რომ გამოვიყენე 1.5 ლიტრიანი ღვინის ბოთლი, რომელიც ბოლოში დავჭრა. დასაბეჭდად ყველა ნაწილი მოთავსებულია 20x20 სმ (8x8 ინ) პრინტერის საწოლზე.

ნაბიჯი 3: კოდი

Arduino კოდი იყენებს რამდენიმე ჩვეულებრივ ბიბლიოთეკას.

MD_MAX72xx

SPI

მავთული

RTClib

Დროის სარტყელი

TimeLib

INO ფაილში არის რამდენიმე სტრიქონი, რომელიც შეიძლება შეიცვალოს:

ხაზი 38: #განსაზღვრეთ HARDWARE_TYPE MD_MAX72XX:: FC16_HW <- დამოკიდებულია 8x8 მოდულზე და მის ორიენტაციაზე

FC16_HW- ის ნაცვლად მას შეეძლო ერთ -ერთი:

- MD_MAX72XX:: PAROLA_HW

- MD_MAX72XX:: GENERIC_HW

- MD_MAX72XX:: ICSTATION_HW

- MD_MAX72XX:: FC16_HW

კოდი იყენებს ამერიკის შეერთებული შტატების ცენტრალური დროის პარამეტრებს და საჭიროებს სხვა დროის ზონების მორგებას:

ხაზი 53/54:

TimeChangeRule myDST = {"CDT", მეორე, მზე, მარ, 2, -300}; // დღისით UTC -5TimeChangeRule mySTD = {"CST", პირველი, მზე, ნოემბერი, 2, -360}; // სტანდარტული დრო UTC -6

ეს არის ადვილი მორგება. სახელი CST/CDT არის მხოლოდ მითითება. მე არ ვაჩვენებ სამ ასო-აბრევიატურას, ასე რომ არ აქვს მნიშვნელობა. შემდეგი პარამეტრები ეხება თვის რომელ დღეს ხდება გადართვა. კორექტირება ხდება წუთებში, ამიტომ ადგილები +/- 30 წუთის კორექტირების გამოყენებით ასევე იმუშავებს.

RTC მუშაობს შიდა რეჟიმში UTC-Time– ზე, რაც საშუალებას აძლევს დროის ზონის ბიბლიოთეკას იმუშაოს ისე, როგორც განზრახული აქვს. თქვენ შეიძლება გაგიკვირდეთ, რატომ აღნიშნავს კოდი ძველ DS1307 ჩიპს საათის ჩიპის საწინააღმდეგოდ, რომელსაც მე ვიყენებდი, მაგრამ ამას მნიშვნელობა არ აქვს. ბიბლიოთეკა კარგად მუშაობს ორივე ჩიპით. DS1307– ს აქვს უფრო მეტად დაშორების ტენდენცია ვიდრე DS3132. DS3132 არის სასურველი საათი. მათთვის, ვისაც სურს ინტერნეტის დროის დამატება, ESP8266 საქმეს საკმაოდ ადვილად შეასრულებს. ამან შეიძლება RTC მოძველებული გახადოს. თუ თქვენ აკეთებთ ამ ცვლილებებს, გამოიყენეთ Arduino EEPROM სამიზნე დროის შესანახად, მე ამისთვის გამოვიყენე RTC EEPROM.

ნაბიჯი 4: ოპერაცია და პარამეტრები

ოპერაცია და პარამეტრები
ოპერაცია და პარამეტრები
ოპერაცია და პარამეტრები
ოპერაცია და პარამეტრები
ოპერაცია და პარამეტრები
ოპერაცია და პარამეტრები

არის სამი ღილაკი

1. მენიუ / პარამეტრები

2. ზემოთ

3. ქვემოთ

მენიუს ღილაკი იძლევა ველოსიპედის გადაადგილებას სამი ეკრანის ტიპი: მიმდინარე დრო, სამიზნე დრო, დელტა დრო. დელტა დრო გვიჩვენებს დღეების რაოდენობას, HH/MM/SS მიმდინარე დროსა და მიზნობრივ დროს შორის. ის აჩვენებს t- და დათვლას თუ სამიზნე არის მომავალში ან t+ და ითვლის თუ სამიზნე წარსულშია.

მიმდინარე ან სამიზნე დროის შესაცვლელად, შეარჩიეთ მიმდინარე დრო ან სამიზნე დროის ჩვენება. დროის შესაცვლელად, დააჭირეთ მენიუს ღილაკს 2 წამი და გაათავისუფლეთ, რომელიც გადაგიყვანთ პარამეტრების რეჟიმში. მეზობელი "/" ან ":" გადაიქცევა "" - ში, რომ მიუთითოს რომელ ციფრს აწესრიგებთ. გამოიყენეთ ზემოთ/ქვემოთ ღილაკები ინდივიდუალური hh/mm/ss და mm/dd/yy რეგულირებისთვის. მე არ დავამატე პარამეტრი mm/dd/yy და dd/mm/yy შორის, ეს მოითხოვს კოდის შეცვლას ან იქნებ ვინმეს აქვს სურვილი დაამატოს ეს ფუნქცია.

თქვენ შეამჩნევთ, რომ თუ თქვენ გადააბიჯებთ წუთებს 59 – ზე ან 00 – ზე ქვემოთ, საათის ჩვენებაც შეიცვლება. იგივე შეიძლება ითქვას წამებში, საათებსა და დღეებში, როდესაც იცვლება მომდევნო უმაღლესი მნიშვნელობა, თუ გადააჭარბებთ 0 -ზე ქვემოთ ან მაქსიმუმს ამ ციფრზე. მე ეს გავაკეთე იმისთვის, რომ არ დამეპროგრამებინა ცალკეული თვეების სხვადასხვა შეზღუდვები და თუ თებერვალს დასჭირდება ნახტომი წლის 29 დღე. დროის რეგულირება რეალურად ხდება ეპოქალურ დროში, წამები 1 იანვრიდან 1-1970 წლამდე.

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

იმედი მაქვს მოგეწონათ ეს სასწავლო.

პატრიკ გეშვინდნერი

გირჩევთ: