Deskripsi
Nilai yang dikembalikan dari fungsi ini adalah merupakan nilai dalam mili second yang menghitung mulai dari saat pertama kali Arduino Board bekerja. Nilai ini akan kembali ke nol setelah mencapai 50 hari
Syntax
time = millis()
Returns
Merupakan nilai dalam mili second yang menghitung dari saat pertama kali Arduino Board menjalankan program. Tipe data yang diijinkan : unsigned long.
Contoh Program 1
Program ini akan menampilkan nilai dalam micro second yang diawali sejak pertama kali Arduino Board menjalankan program.
unsigned long myTime;
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print("Time: ");
myTime = millis();
Serial.println(myTime); // kirimkan nilai time yang diawali saat program mulai
delay(1000); // tunggu satu detik agar tidak mengirim data terus menerus secara masif
}
Contoh Program 2
/*
Kedipan tanpa fungsi Delay()
ON dan OFFkan LED pada digital pin tanpa fungsi delay(). Ini berarti program dapat tetap berjalan pada waktu yang sama tanpa terinterupsi oleh kedipan LED. Turns on and off a light emitting diode (LED) connected to a digital pin
created 2005
by David A. Mellis
modified 8 Feb 2010
by Paul Stoffregen
modified 11 Nov 2013
by Scott Fitzgerald
modified 9 Jan 2017
by Arturo Guadalupi
Contoh program ini ada di public domain
http://www.arduino.cc/en/Tutorial/BlinkWithoutDelay*/
const int ledPin = LED_BUILTIN;// nomor dari LED pin
int ledState = LOW; // ledState used to set the LED anda harus menggunakan "unsigned lng int"
//untuk variabel yang menyimpan waktu
// karena nilai ini akan terlalu besar untuk disimpan dalam tipe data int
unsigned long previousMillis = 0; // nilai awal dari previousMillis diset 0
const long interval = 1000; // interval kedipan (milliseconds)
void setup() { // atur digital pin sebagai output:
pinMode(ledPin, OUTPUT);
}
void loop()
{ // di sini tempat anda dapat menuliskan program yang akan terus berjalan
// Cek waktu untuk mengedipkan LED. Dilakukan dengan memeriksa
//apakah perbedaan antara waktu saat ini dan waktu terakhir LED
//berkedip lebih besar dari nilai interval di mana anda ingin mengedipkan LED.
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval)
{
previousMillis = currentMillis; // simpan waktu terakhir saat LED berkedip
if (ledState == LOW) { // apabila LED sebelumnya OFF maka
// ONkan LED dan demikian juga sebaliknya:
ledState = HIGH; // atur LED dengan variabel ledState;
} else {
ledState = LOW;
}
digitalWrite(ledPin, ledState);
}
}
Catatan dan Peringatan
Perlu diingat bahwa nilai yang dikembalikan dari fungsi millis() memiliki tipe data unsigned long int sehingga logic error mungkin saja akan tampil apabila programmer mencoba menggunakan untuk operasi aritmatika dengan tipe data yang lebih kecil seperti int.
Terjemahan dan edit dari https://www.arduino.cc/reference/en/language/functions/time/millis/ DELTA ELECTRONIC Paulus Andi Nalwan, ST