Isi kandungan:

Jam Randik Arduino Mudah, Praktikal: 4 Langkah
Jam Randik Arduino Mudah, Praktikal: 4 Langkah

Video: Jam Randik Arduino Mudah, Praktikal: 4 Langkah

Video: Jam Randik Arduino Mudah, Praktikal: 4 Langkah
Video: DIY Stopwatch made in 30 seconds using #arduino 2024, September
Anonim
Jam randik Arduino yang praktikal dan praktikal
Jam randik Arduino yang praktikal dan praktikal

Cari di web untuk jam randik Arduino. Anda mungkin baru melakukannya, jika anda berada di sini. Dari pengalaman peribadi, saya dapat memberitahu anda bahawa jam randik di internet terlalu rumit (dalam kod, untuk pemula), atau terlalu mudah, dan tidak praktikal, seperti yang hanya menghitung detik tanpa menetapkan semula.

Anda juga berfikir begitu, bukan? Baiklah teka apa. Saya melakukannya, dan lebih-lebih lagi, saya secara langsung mengambil input saya dari fungsi milis () - garis nombor yang tidak berkesudahan (sehingga 49 hari, atau apa sahaja). Bahagian terbaik? Ia hanya satu baris.

Menetapkan semula, adalah bahagian sulit sebenarnya dari jam randik. Untuk pengantara, pengaturcara, jika anda belum melakukannya, teruskan dan cuba lakukan ini sendiri, dengan detik, minit, dan jam bersama. Anda akan mendapat apa yang saya bicarakan.

Untuk pemula, baca terus, dan nikmati genius pemikiran saya.

Hanya bergurau, tetapi penyelesaian yang saya buat cukup kemas. Inilah maksudnya:

Langkah 1: Penyelesaiannya

Penyelesaian
Penyelesaian

Jadi masalahnya adalah menetapkan semula. Apa yang kita mahukan ialah kitaran nombor yang berterusan dan berulang, dari output nombor berurutan yang tidak berkesudahan (milisa () - pada dasarnya ia mengira milisaat, atau sebenarnya 1.024 milisaat, tetapi apa sahaja).

Perkara pertama yang terlintas di fikiran adalah menggunakan perbezaan, seperti time1 -time2 dan delay. Lupakan itu. Memerlukan sekurang-kurangnya enam baris kod, dan pernyataan if untuk boot.

Jadi inilah cara untuk melakukannya. Kami mempunyai had (59). Kami mahu semuanya dari 0 hingga 59 berulang berulang kali. Bagaimana?

Bagaimana jika… kita mengambil baki… fungsi milis dibahagi dengan 59…. Bingo!

Jadi, ia harus seperti:

(60 [sebagai nilai awal kerana hadnya adalah 59] + milisa () / 1000 [1000 milisaat adalah satu detik])% 60

Ok, biar jelaskan. (%) atau modulus, pada dasarnya adalah pengendali seperti (+) yang mencari selebihnya. Suka 9% 2 = 1.

Jadi:

  • baki (60 + 0)% 60 = 0
  • baki (60 + 1)% 60 = 1
  • bakinya (60 + 58)% 60 = 58
  • bakinya (60 + 59)% 60 = 59
  • bakinya (60 + 60)% 60 = 60
  • bakinya (60 + 61)% 60 = 1

Lihat!

Sekarang, untuk bahagian.

Langkah 2: Bahagian

Bahagian
Bahagian

Tidak banyak sama sekali

  1. Apa-apa arduino
  2. Setiap paparan (saya menggunakan OLED 0,96 ", tetapi Anda dapat menggunakan apa pun yang anda miliki, pastikan untuk memasukkan pemboleh ubah yang tepat ke dalam fungsi paparan paparan anda.)

Itu sahaja.

Langkah 3: Kodnya

Ini dia. Ia dikomentari dengan jelas, jadi tidak ada masalah. Perpustakaan dan init untuk 0.96 OLED ada dalam kod. Ganti dengan paparan anda sendiri jika ia berbeza.

// 0.96 Perpustakaan OLED

#sertakan

#sertakan

#sertakan

#sertakan

// 0.96 OLED Init

#tentukan OLED_RESET 4

Paparan Adafruit_SSD1306 (OLED_RESET);

sekejap int;

minit int;

jam int;

batal persediaan () {

// Sebilangan lagi OLED 0.96 Init

display.begin (SSD1306_SWITCHCAPVCC, 0x3C);

display.clearDisplay (); display.setTextSize (2); display.setTextColor (PUTIH); }

gelung kosong () {

saat = (60 + milis () / 1000)% 60;

minit = (60 + milis () / 60000)% 60; jam = (25 + milisa () / 3600000)% 25;

display.clearDisplay ();

display.setCursor (0, 22); // cetak bilangan jam sejak reset display.print (jam); display.print ("h:");

// cetak bilangan campuran sejak ditetapkan semula

paparan.cetak (minit);

display.print ("m:");

// cetak bilangan detik sejak reset display.print (saat); display.print ("s");

display.setCursor (0, 0);

display.print ("Jam randik"); display.drawLine (0, 18, 128, 18, PUTIH); paparan.display ();

}

Langkah 4: Penamat…

Penamat…
Penamat…

Jadi itu sahaja! Sekarang lakukan apa yang anda mahukan dengannya. Luangkan sebilangan telur, atau ambil alih kawasan kejiranan anda.

Sorak, Aarush

Disyorkan: