Სარჩევი:

Arduino Matrix საათი: 6 ნაბიჯი
Arduino Matrix საათი: 6 ნაბიჯი

ვიდეო: Arduino Matrix საათი: 6 ნაბიჯი

ვიდეო: Arduino Matrix საათი: 6 ნაბიჯი
ვიდეო: My DIY LEDs clock. #arduino #ws2812 2024, ივლისი
Anonim
Arduino Matrix საათი
Arduino Matrix საათი

აღწერა:

შექმენით თქვენი საათი Arduino– ს, მატრიცის ჩვენების და რეალური დროის საათის (RTC) მოდულის გამოყენებით. ეს არის სახალისო და მარტივი პროექტი, რომელიც, ჩემი აზრით, შესანიშნავია დამწყებთათვის. საათი იყენებს RTC მოდულს, რომ ზუსტად აკონტროლოს დრო, დღე, თვე და წელი. გარდა ამისა, მოდულს აქვს ჩაშენებული ტემპერატურის სენსორი. თქვენ შეგიძლიათ გაიგოთ მეტი DS3231 მოდულის შესახებ აქ, ასევე I2C საკომუნიკაციო ავტობუსის შესახებ, რომელიც აქ გამოიყენება. დაბოლოს, ჩვენ გამოვიყენებთ წერტილოვან მატრიცულ ეკრანს, რა თქმა უნდა, ჩვენების დრო, კვირა დღე, თვე. და ა.შ. ქვემოთ შეგიძლიათ იხილოთ ჩვენების შესახებ და MAX7219 IC დრაივერის შესახებ.

თქვენ ასევე შეგიძლიათ ჩამოტვირთოთ ამ პროექტის pdf ვერსია აქ. ეს პრაქტიკულად იგივეა, რაც ეს სასწავლო.

[განახლება: 2/22/19] არ გამოიყენოთ pdf სახელმძღვანელო, მე განვაახლე ეს სასწავლო ინსტრუქცია, მაგრამ ეს ცვლილებები ჯერ არ არის ასახული pdf– ზე.

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

კომპონენტები, რომლებიც დაგჭირდებათ ამ პროექტისათვის:

  • Max7219 წერტილოვანი მატრიცის ჩვენება [იყიდეთ აქ] [მონაცემთა ცხრილი]
  • RTC DS3231 [ყიდვა აქ] [მონაცემთა ცხრილი]
  • 3V CR3032 ბატარეა (DS3231– ისთვის)

გარდა ამისა, თქვენ დაგჭირდებათ ნებისმიერი სახის არდუინო (სასურველია ნანო პროექტის ზომის შესამცირებლად), პურის დაფა, ჯუმბერის მავთულები, ასევე თქვენს კომპიუტერზე დაყენებული Arduino IDE.

ნაბიჯი 2: ბიბლიოთეკები

ბიბლიოთეკები
ბიბლიოთეკები

ჩამოტვირთეთ შემდეგი ბიბლიოთეკები და დააინსტალირეთ.zip ფაილი Arduino IDE– ში ესკიზის> ბიბლიოთეკის ჩათვლით>. Zip ბიბლიოთეკის დამატებით.

შენიშვნა: ვერსიებს მნიშვნელობა აქვს !

* გადმოტვირთვამდე დარწმუნდით, რომ გაქვთ სწორი ვერსიები. მე გირჩევთ გადმოწეროთ თითოეული ბიბლიოთეკა Arduino IDE– ში, რომ იყოს უსაფრთხო მხარეს.

MD_Parola 3.0.1:

MD_MAX72XX 3.0.2:

DS3231 1.0.2: https://github.com/N NorthernWidget/DS3231

Ალტერნატიულად, Arduino IDE– ში გადადით ჩანახატზე> ბიბლიოთეკის ჩართვა> ბიბლიოთეკების მართვა და საძიებო ზოლში ჩაწერეთ: „MAX72XX“და თქვენ უნდა ნახოთ შემდეგი (იხილეთ სურათი):

დააინსტალირეთ მხოლოდ MD_MAX72XX და MD_Parola. MD_MAXPanel არ არის საჭირო.

ნაბიჯი 3: შეამოწმეთ თქვენი კომპონენტები

ბიბლიოთეკების დაყენების შემდეგ, შეამოწმეთ თქვენი კომპონენტები ინდივიდუალურად, რათა დარწმუნდეთ, რომ ისინი მუშაობენ ისე, როგორც უნდა. გთხოვთ, მიჰყევით ამ ნაბიჯებს, სანამ ყველაფერს გააერთიანებთ

DS3231 RTC მოდულის შესამოწმებლად, შეაერთეთ DS3231 არდუინოსთან (იხ. გაყვანილობა ქვემოთ). შემდეგ Arduino IDE– ში გადადით ფაილზე> მაგალითები> DS3231> DS3231_Test და ატვირთეთ ესკიზი. გახსენით სერიული მონიტორი და შეამოწმეთ, რომ თქვენ იღებთ სწორ თარიღს, დროს, დღეს და სხვა.

მატრიცის ჩვენების შესამოწმებლად, ჯერ დააკავშირეთ იგი Arduino– სთან (იხ. გაყვანილობა ქვემოთ). შემდეგ, Arduino IDE– ში, გადადით ფაილზე> მაგალითები> MD_Parola> Parola_HelloWorld და ატვირთეთ ესკიზი. თქვენ უნდა ნახოთ ეკრანზე დაბეჭდილი HELLO და ის შეიძლება დაბეჭდილი იყოს უკან ან უკან. თუ ტექსტი უკან არის, თქვენ უნდა შეცვალოთ შემდეგი ხაზი:

#განსაზღვრეთ HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW

დან

#განსაზღვრეთ HARDWARE_TYPE MD_MAX72XX:: FC16_HW

კვლავ ატვირთეთ ესკიზი და პრობლემა უნდა მოგვარდეს.

ახლა, როდესაც ჩვენ შევამოწმეთ ჩვენი კომპონენტები, ჩვენ მზად ვართ ყველაფერი ერთად გავაერთიანოთ!

ნაბიჯი 4: გაყვანილობა

გაყვანილობა
გაყვანილობა
გაყვანილობა
გაყვანილობა
გაყვანილობა
გაყვანილობა

იხილეთ დიაგრამა ან სქემატური ან ცხრილი

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

მიიღეთ კოდი აქ

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

საათის მახასიათებლები:

საათი ავტომატურად არის მითითებული, რომ თქვას დრო 24 სთ ფორმატში, მაგრამ ის ადვილად შეიძლება შეიცვალოს 12 სთ. საათი ასევე აჩვენებს ტემპერატურას (როგორც ცელსიუსში, ასევე ფარენჰეიტში). მე ასევე შევიტანე ფუნქცია სახელწოდებით "ძილის რეჟიმი", რომელიც დაყენებულია "OFF" - ზე (დეტალებისთვის იხილეთ ძილის რეჟიმი ქვემოთ).

12 სთ ფორმატი: საათის 12 საათის ფორმატში დროის დასადგენად, თქვენ უნდა გააკეთოთ კომენტარი 88 ხაზზე

საათი = საათი. საათი (h12, PM); // 24 სთ ფორმატი

და გაუკეთე კომენტარი ხაზებს 93 -დან 100 -მდე

თუ (Clock.getHour (h12, PM)> = 13 || Clock.getHour (h12, PM) == 0)

{h = Clock.getHour (12, PM) - 12; } else {h = Clock.getHour (h12, PM); }

Ძილის რეჟიმი:

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

თუ (h == 12 || სთ <8) // დროის ინტერვალი (ამ შემთხვევაში, დილის 12 საათიდან დილის 8 საათამდე) {P.setIntensity (0); // ეკრანის სიკაშკაშის დაყენება ყველაზე დაბალ პარამეტრზე} else {P.setIntensity (6); // დააყენეთ ეკრანის სიკაშკაშე 6 -ზე (15 ყველაზე კაშკაშაა)}

შენიშვნა: მე წავაწყდი საკითხს ძილის რეჟიმის გამოყენებისას, როცა საათი 12 საათიან რეჟიმშია დაყენებული. თქვენ შეამჩნევთ, რომ ის დღეში ორჯერ იმუშავებს დილის 8 -დან და საღამოს 8 -დან ორივე განიმარტება როგორც 8. ასე რომ, თუ თქვენ დააყენებთ ძილის რეჟიმს აქტიური საღამოს 9 საათიდან დილის 7 საათამდე, მაშინ ის ასევე აქტიური იქნება დილის 9 საათიდან საღამოს 7 საათამდე. თუმცა, ეს საკითხი არ წარმოიქმნება, თუ საათი დაყენებულია 24 საათის რეჟიმში.

ნაბიჯი 6: დასკვნა

Გილოცავ!!! სამუშაო საათი გაქვს. ასე აღმოჩნდა ჩემი [საათის გალერეა]. ვიმედოვნებ, რომ თქვენ არა მხოლოდ ცოტა მეტი ისწავლეთ კომპონენტებისა და კოდირების შესახებ, არამედ ისიამოვნეთ იქით მიმავალი მოგზაურობით. გთხოვთ გამიზიაროთ თქვენი აზრი ამ სახელმძღვანელოს შესახებ [email protected]. ეს, ფაქტობრივად, ჩემი პირველი პროექტის სახელმძღვანელოა და ვიმედოვნებ, რომ ის კარგად მოგემსახურება. ვიმედოვნებ, რომ შევქმნი კიდევ ბევრ გზამკვლევს. გარდა ამისა, თუ თქვენ გაქვთ რაიმე შეკითხვა, წინადადება და/ან გაუმჯობესება პროექტზე, მოგერიდებათ მომწეროთ.

გირჩევთ: