Mündəricat:
Video: Sadə, Praktiki Arduino Saniyəölçən: 4 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Arduino saniyəölçənini İnternetdə axtarın. Burda olsanız, yəqin ki, bunu etmisiniz. Şəxsi təcrübəmdən deyə bilərəm ki, İnternetdəki hər hansı bir saniyəölçən ya sıfırlamadan saniyələri saymağa davam edənlər kimi ya çox mürəkkəbdir (kodda, yeni başlayanlar üçün), ya da çox sadələşdirilmiş və praktik deyil.
Siz də belə düşünürsünüz, hə? Yaxşı, nə olduğunu təxmin et. Mən bunu etdim və bundan əlavə, daxil olduğumu millis () funksiyasından alıram- sonsuz bir sıra xətti (49 günə qədər və ya hər hansı bir şeyə qədər). Ən yaxşı hissəsi? Yalnız bir sətirdir.
Sıfırlama, saniyəölçənin əsl çətin hissəsidir. Orta səviyyəli proqramçılar üçün, hələ etməmisinizsə, davam edin və bunu saniyələr, dəqiqə və saatlarla birlikdə özünüz etməyə çalışın. Nə dediyimi anlayacaqsınız.
Yeni başlayanlar üçün oxuyun və zehnimin dahiyindən zövq alın.
Yalnız zarafat edirəm, amma gəldiyim həll olduqca səliqəlidir. İşdə budur:
Addım 1: Həll
Beləliklə, problem sıfırlanır. İstədiyimiz, ardıcıl ədədlərin sonsuz bir çıxışından (millis () - əsasən milisaniyələri və ya əslində 1.024 millisaniyəni sayır, amma hər nə olursa olsun) davamlı, təkrarlanan ədəd dövrüdür.
Ağla gələn ilk şey zaman1 -zaman2 və gecikmə kimi fərqdən istifadə etməkdir. Bunu unut. Yükləmək üçün ən azı altı sətir kod və if ifadəsi lazımdır.
Budur, bunu necə edəcəyiniz. Bir məhdudiyyətimiz var (59). 0 -dan 59 -a qədər hər şeyin təkrarlanmasını istəyirik. Necə?
Bəs… millis funksiyasının qalan hissəsini 59 -a bölsək… Bingo!
Beləliklə, belə olmalıdır:
(60 [limit 59 olduğu üçün ilkin dəyər kimi] + millis () / 1000 [1000 milisaniyə saniyədir]) % 60
Tamam, izah edim. (%) və ya modul, əsasən qalanını tapan (+) kimi bir operatordur. Eynilə 9 % 2 = 1.
Belə ki:
- qalıq (60 + 0) % 60 = 0
- qalıq (60 + 1) % 60 = 1
- qalıq (60 + 58) % 60 = 58
- qalıq (60 + 59) % 60 = 59
- qalıq (60 + 60) % 60 = 60
- qalıq (60 + 61) % 60 = 1
Görmək!
İndi hissələr üçün.
Addım 2: Parçalar
Çox deyil, ümumiyyətlə
- İstənilən arduino
-
Hər hansı bir ekran (0.96 OLED istifadə etdim, amma nə varsa istifadə edə bilərsiniz, sadəcə ekranınızın ekran funksiyalarına doğru dəyişənləri qoyduğunuzdan əmin olun.)
Bu belədir.
Addım 3: Kod
Buyurun. Çox açıq şəkildə şərh edilmişdir, buna görə heç bir problem olmamalıdır. 0.96 OLED üçün kitabxanalar və init koddadır. Fərqlidirsə onu öz ekranınızla əvəz edin.
// 0.96 OLED kitabxanaları
#daxil edin
#daxil edin
#daxil edin
#daxil edin
// 0.96 OLED Giriş
#OLED_RESETini təyin edin 4
Adafruit_SSD1306 ekranı (OLED_RESET);
int saniyə;
int dəqiqə;
int saat;
boş quraşdırma () {
// Biraz daha 0.96 OLED Init
display.begin (SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay (); display.setTextSize (2); display.setTextColor (BEYAZ); }
boşluq döngəsi () {
saniyə = (60 + millis () / 1000) % 60;
dəqiqə = (60 + millis () / 60000) % 60; saat = (25 + millis () / 3600000) % 25;
display.clearDisplay ();
display.setCursor (0, 22); // ekranı sıfırladıqdan sonra saat sayını çap edin. çap (saat); display.print ("h:");
// sıfırlandıqdan sonra dəqiqə sayını çap edin
ekran. çap (dəqiqə);
display.print ("m:");
// ekran sıfırlanandan bəri saniyə sayını yazdırın. çap (saniyə); display.print ("s");
display.setCursor (0, 0);
display.print ("Saniyəölçən"); display.drawLine (0, 18, 128, 18, BEYAZ); display.display ();
}
Addım 4: Sonu bitirin…
Deməli budur! İndi gedin onunla istədiyinizi edin. Bir az yumurta hazırlayın və ya məhəllənizi ələ keçirin.
Sağol Aarush
Tövsiyə:
Sadə CloudX M633 Rəqəmsal Saniyəölçən: 4 Addım
Sadə CloudX M633 Rəqəmsal Saniyəölçən: Bu layihədə, cib telefonunuzdakı saniyəölçən kimi, saat, dəqiqə və saniyə rekordunu saxlaya biləcək rəqəmsal saatın bir versiyasını hazırlayacağıq! Zamanı göstərmək üçün bir LCD istifadə edəcəyik
Praktiki Arduino ESP32 Simsiz Divar Çıxışlı LED Strip Controller: 6 Addım
Praktiki Arduino ESP32 Kabelsiz Divar Çıxışlı LED Strip Controller: Bu, aşağı qiymətli LED şeritləri üçün çox praktik bir DIY Simsiz Wall Çıxış nəzarətçisidir. EBay -də satılan ucuz wifi nəzarətçilərini əvəz edir. RGB Led şeritləri ilə yaxşı işləyirlər. EBay Wifi nəzarətçisi yaxşı qurulmayıb və asanlıqla pozulur. Als
1602 LCD Keypad Shield W/ Arduino [+Praktiki Layihələr] istifadə edərək: 7 addım
1602 LCD Keypad Shield W/ Arduino [+Praktiki Layihələr] istifadə edərək: Bu və digər möhtəşəm dərsləri ElectroPeak -in rəsmi internet saytında oxuya bilərsiniz.Baxış Bu dərsdə Arduino LCD klaviatura qalxanının 3 praktik layihə ilə necə istifadə ediləcəyini öyrənəcəksiniz. Qalxanı necə qurmaq və düymələri təyin etmək olar
Torpaq Nəm Sensorunun İstifadəsinə dair Tam Təlimat/ Praktiki Nümunə: 7 addım
Torpaq Nəm Sensorunun İstifadəsinə dair Tam Təlimat/ Praktiki Nümunə: Bu və digər möhtəşəm dərsləri ElectroPeak -in rəsmi internet saytında oxuya bilərsinizBaxış Bu dərsdə, torpaq nəm sensörünün necə istifadə ediləcəyini öyrənəcəksiniz. Kodun mənimsənilməsinə kömək etmək üçün praktiki nümunələr də verilmişdir. Nə öyrənəcəksiniz: necə torpaq
Sadə Arduino Saatı / Saniyəölçən: 6 Addım (Şəkillərlə birlikdə)
Sadə Arduino Saatı / Saniyəölçən: Bu " təlimat " bir neçə sadə addımda saniyəölçən kimi işləyən sadə bir Arduino Uno saatının necə hazırlanacağını sizə göstərəcək və öyrədəcək