Jam Cuaca Arduino Real-Time: Tampilan OLED untuk Waktu, Tanggal & Suhu
Komponen dan Perlengkapan
Arduino UNO
×
1
Adafruit DS3231 RTC
×
1
Digilent Pmod OLED
×
1
Texas Instruments LM35 Temperature Sensor
×
1
Jumper wires (generic)
×
1
Breadboard (generic)
×
1
Tentang Proyek Ini
Kami akan membuat jam cuaca Arduino yang akan memberitahu kita waktu, tanggal dan suhu. Sensor LM35 akan memberikan suhu, DS3231 akan memberi tahu kita tanggal dan waktu, dan kita akan menggunakan OLED untuk menampilkan suhu, tanggal dan waktu.
Komponen yang Diperlukan
Komponen yang diperlukan untuk proyek ini adalah sebagai berikut
Arduino
DS3231 (Modul jam waktu nyata)
Tampilan OLED (SSD1306 digunakan di sini)
SSD1306.pdf
Lm35
Kabel penghubung
Breadboard
lm35.pdf
Diagram Rangkaian
Pertama-tama, hubungkan OLED dengan Arduino. OLED bekerja dengan Arduino melalui SPI serta komunikasi I2C tetapi kami menghubungkannya menggunakan komunikasi SPI. Pin SPI pada Arduino adalah pin 8, 9, 10, 11, dan 13. Koneksi OLED dengan Arduino adalah sebagai berikut:
Hubungkan CS OLED ke pin 10 Arduino.
Hubungkan DC OLED ke pin 9 Arduino.
Hubungkan RES OLED ke pin 8 Arduino.
Hubungkan D1 OLED ke pin 11 Arduino.
Hubungkan D0 OLED ke pin 13 Arduino.
Hubungkan VCC OLED ke pin 5V Arduino.
Hubungkan GND OLED ke pin GND Arduino.
Setelah itu, hubungkan modul DS3231 dengan Arduino. Modul DS3231 bekerja dengan Arduino melalui komunikasi I2C. Pin untuk komunikasi I2C pada Arduino adalah SDA dan SCL. Hubungkan modul DS3231 ke Arduino sebagai berikut:
Hubungkan GND DS3231 ke pin GND Arduino.
Hubungkan VCC DS3231 ke pin 5V Arduino.
Hubungkan SDA OLED ke A4 pada Arduino.
Hubungkan SCL pada OLED ke pin A5 pada Arduino.
Pada akhirnya, hubungkan sensor LM35 dengan Arduino. Hubungkan pin kiri LM35 ke 5V pada Arduino, pin tengah ke A0 pada Arduino dan pin kiri ke ground pada Arduino.
Anda dapat menemukan skematik ukuran penuh di sini
Penjelasan Kode
Pertama-tama, kami menambahkan library untuk modul DS3231 dan OLED. Library Adafruit untuk OLED memiliki lebih banyak fungsi dibandingkan library lain yang digunakan untuk OLED.
#include #include
Selanjutnya, kami menentukan pin tempat kami telah menghubungkan modul DS3231 dan OLED. Modul DS3231 bekerja dengan Arduino melalui komunikasi I2C jadi kami menggunakan pin SDA dan SCL Arduino. OLED bekerja dengan Arduino melalui komunikasi SPI. Oleh karena itu kami menginisialisasi pin 8, 9, 10, 11, 13 yang untuk komunikasi SPI. Setelah itu, kami menginisialisasi pin sensor LM35 dan variabel lain.
Dalam fungsi setup, kami mendeklarasikan pin sensor LM35 sebagai input karena Arduino akan mengambil input dari sensor. Kemudian kami memberikan perintah ke DS3231 dan OLED untuk mulai berkomunikasi dengan Arduino.
Baris di bawah ini dikomentari dalam kode tetapi jika Anda menggunakan modul DS3231 untuk pertama kalinya dan ingin mengatur hari, tanggal dan waktu, maka komentar baris-baris ini dan atur.
//rtc.setDOW(WEDNESDAY); // Set Day-of-Week to SUNDAY //rtc.setTime(19, 02, 0); // Set the time to 12:00:00 (24hr format) //rtc.setDate(7, 12, 2017); // Set the date to June 6th, 2017
Kemudian kami mencetak “jam cuaca” pada OLED selama 5 detik.