Setelah mempelajari dan memahami tipe data pada program ADRUINO IDE. Pada kesempatan kali ini kita akan mempelajari fungsi logika (If, For, Select Case dan While) dari ARDUINO IDE. Jika Anda belum mengetahui apa itu ARDUINO IDE, Arduino dan Mikrokontroler, ada baiknya Anda membaca artikel diatas dan mempelajari dasar-dasarnya. Inilah yang akan Anda pelajari kali ini:
If
Kalau dalam bahasa Indonesia If artinya jika, dan di semua bahasa pemrograman kita tahu cara menggunakan Logika If. Pada ARDUINO IDE digunakan untuk menentukan keluaran dari prosedur program yang dijalankan pada sistem mikrokontroler. Jika digunakan pada program ARDUINO IDE untuk menentukan kondisi setelah membaca input, analisis serial dan kondisi lainnya. Selain If, Anda juga dapat membuat dua kondisi atau lebih menggunakan Else, (If dan Else). Contoh pernyataan If adalah:
int analogSensorPin = A0; // penentuan tipe data sensor pada integer dan pin sensor pada A0int lenPin1 = 2; // penentuan tipe data LED pada integer dan pin LED pada pin 2int ledPin2 = 3; // penentuan tipe data LED pada integer dan pin LED pada pin 3int sensorValue = 0; // menetapkan nilai sensor pada nilai 0void setup() {pinMode(analogSensorPin, INPUT); // penetapan pin mode sensor pada mode INPUTpinMode(ledPin1, OUTPUT); // penetapan pin mode LED pada mode OUTPUTpinMode(ledPin2, OUTPUT); // penetapan pin mode LED pada mode OUTPUT}void loop() {sensorValue = analogRead(analogSensorPin); // membaca nilai analog dari analogSensorPinif (sensorValue <= 200) {digitalWrite(ledPin1, HIGH); // jika nilai sensor kurang dar 200 maka led 1 akan menyala}}
Else
Else digunakan untuk membuat kondisi atau logika ketika kondisi If, semua kondisi Else If tidak berfungsi atau tidak sesuai dengan pernyataan input yang ditentukan atau dibaca. Contoh pernyataan Else adalah:
int analogSensorPin = A0; // penentuan tipe data sensor pada integer dan pin sensor pada A0int lenPin1 = 2; // penentuan tipe data LED pada integer dan pin LED pada pin 2int ledPin2 = 3; // penentuan tipe data LED pada integer dan pin LED pada pin 3int sensorValue = 0; // menetapkan nilai sensor pada nilai 0void setup() {pinMode(analogSensorPin, INPUT); // penetapan pin mode sensor pada mode INPUTpinMode(ledPin1, OUTPUT); // penetapan pin mode LED pada mode OUTPUTpinMode(ledPin2, OUTPUT); // penetapan pin mode LED pada mode OUTPUT}void loop() {sensorValue = analogRead(analogSensorPin); // membaca nilai analog dari analogSensorPinif (sensorValue <= 200) {digitalWrite(ledPin1, HIGH); // jika nilai sensor kurang dar 200 maka led 1 akan menyala} else if (sensorValue >= 200) {digitalWrite(ledPin2, HIGH); // jika(kondisi lain) nilai sensor lebih dari 200 maka led 2 menyala} else {digitalWrite(ledPin1, LOW);digitalWrite(ledPin2, LOW); // jika tidak ada kondisi yang sesuai maka semua led akan mati}}
For
Untuk metode bahasa Indonesia, penggunaan logika sudah tidak asing lagi bagi semua bahasa pemrograman. Penggunaan For pada pemrograman ARDUINO IDE menyediakan mekanisme untuk mengulang jeda atau menunggu, menggandakan waktu jeda, atau mengulang. Kegunaan For adalah untuk mengubah suatu kondisi ke kondisi lainnya, biasanya dengan menambah penundaan. Ini juga dapat digunakan untuk menentukan jumlah sinyal masukan suatu sel dan sinyal masukan lainnya. Hal ini untuk membatasi iklan mobile atau iklan tersemat lainnya. Contoh tulisan tentang:
int analogSensorPin = A0; // penentuan tipe data sensor pada integer dan pin sensor pada A0int lenPin1 = 2; // penentuan tipe data LED pada integer dan pin LED pada pin 2int ledPin2 = 3; // penentuan tipe data LED pada integer dan pin LED pada pin 3int sensorValue = 0; // menetapkan nilai sensor pada nilai 0void setup() {pinMode(analogSensorPin, INPUT); // penetapan pin mode sensor pada mode INPUTpinMode(ledPin1, OUTPUT); // penetapan pin mode LED pada mode OUTPUTpinMode(ledPin2, OUTPUT); // penetapan pin mode LED pada mode OUTPUT}void loop() {sensorValue = analogRead(analogSensorPin); // membaca nilai analog dari analogSensorPinif (sensorValue <= 200) {digitalWrite(ledPin1, HIGH); // jika nilai sensor kurang dar 200 maka led 1 akan menyaladelay(500); // memberikan jeda 500msfor (int i = 5; i > 0; i++) {digitalWrite(ledPin1, LOW); // untuk waktu 5x500ms maka led 1 akan mati}}}
Switch Case
Digunakan untuk memilih atau memilih salah satu dari sekian banyak metode yang dibuat oleh program. Peralihan kasus disediakan untuk memfasilitasi eksekusi pernyataan program ketika diperlukan sejumlah besar prosedur. Contoh surat pengalihan perkara adalah sebagai berikut:
int pushButton1 = A0; // penentuan tipe data push button pada integer dan pin sensor pada A0int pushButton2 = A1; // penentuan tipe data push button pada integer dan pin sensor pada A1int pushButton3 = A2; // penentuan tipe data push button pada integer dan pin sensor pada A2int pushButton4 = A3; // penentuan tipe data push button pada integer dan pin sensor pada A3int pushButton5 = A4; // penentuan tipe data push button pada integer dan pin sensor pada A4int lenPin1 = 2; // penentuan tipe data LED pada integer dan pin LED pada pin 2int ledPin2 = 3; // penentuan tipe data LED pada integer dan pin LED pada pin 3int ledPin3 = 4; // penentuan tipe data LED pada integer dan pin LED pada pin 4int ledPin4 = 5; // penentuan tipe data LED pada integer dan pin LED pada pin 5int ledPin5 = 6; // penentuan tipe data LED pada integer dan pin LED pada pin 6int val = 0; // menetapkan nilai sensor pada nilai 0void setup() {pinMode(pushButton1, INPUT); // penetapan pin mode push button pada mode INPUTpinMode(pushButton2, INPUT); // penetapan pin mode push button pada mode INPUTpinMode(pushButton3, INPUT); // penetapan pin mode push button pada mode INPUTpinMode(pushButton4, INPUT); // penetapan pin mode push button pada mode INPUTpinMode(pushButton5, INPUT); // penetapan pin mode push button pada mode INPUTpinMode(ledPin1, OUTPUT); // penetapan pin mode LED pada mode OUTPUTpinMode(ledPin2, OUTPUT); // penetapan pin mode LED pada mode OUTPUTpinMode(ledPin3, OUTPUT); // penetapan pin mode LED pada mode OUTPUTpinMode(ledPin4, OUTPUT); // penetapan pin mode LED pada mode OUTPUTpinMode(ledPin5, OUTPUT); // penetapan pin mode LED pada mode OUTPUT}void loop() {if (pushButton1 == HIGH) {val = 1;} else if (pushButton2 == HIGH) {val = 2;} else if (pushButton3 == HIGH) {val = 3;} else if (pushButton4 == HIGH) {val = 4;} else if (pushButton5 == HIGH) {val = 5;} else {val = 0;}switch (val) {case 0:digitalWrite(ledPin1, LOW);digitalWrite(ledPin2, LOW);digitalWrite(ledPin3, LOW);digitalWrite(ledPin4, LOW);digitalWrite(ledPin5, LOW);break;case 1:digitalWrite(ledPin1, HIGH);digitalWrite(ledPin2, LOW);digitalWrite(ledPin3, LOW);digitalWrite(ledPin4, LOW);digitalWrite(ledPin5, LOW);break;case 2:digitalWrite(ledPin1, LOW);digitalWrite(ledPin2, HIGH);digitalWrite(ledPin3, LOW);digitalWrite(ledPin4, LOW);digitalWrite(ledPin5, LOW);break;case 3:digitalWrite(ledPin1, LOW);digitalWrite(ledPin2, LOW);digitalWrite(ledPin3, HIGH);digitalWrite(ledPin4, LOW);digitalWrite(ledPin5, LOW);break;case 4:digitalWrite(ledPin1, LOW);digitalWrite(ledPin2, LOW);digitalWrite(ledPin3, LOW);digitalWrite(ledPin4, HIGH);digitalWrite(ledPin5, LOW);break;case 5:digitalWrite(ledPin1, LOW);digitalWrite(ledPin2, LOW);digitalWrite(ledPin3, LOW);digitalWrite(ledPin4, LOW);digitalWrite(ledPin5, HIGH);break;}}
While
Fungsi While digunakan untuk membuat pernyataan atau perintah dalam suatu kondisi, namun eksekusi berlanjut hingga pernyataan atau perintah kondisi bernilai salah. Contoh pernyataan While adalah sebagai berikut:
int analogSensorPin = A0; // penentuan tipe data sensor pada integer dan pin sensor pada A0int lenPin1 = 2; // penentuan tipe data LED pada integer dan pin LED pada pin 2int ledPin2 = 3; // penentuan tipe data LED pada integer dan pin LED pada pin 3int sensorValue = 0; // menetapkan nilai sensor pada nilai 0void setup() {pinMode(analogSensorPin, INPUT); // penetapan pin mode sensor pada mode INPUTpinMode(ledPin1, OUTPUT); // penetapan pin mode LED pada mode OUTPUTpinMode(ledPin2, OUTPUT); // penetapan pin mode LED pada mode OUTPUT}void loop() {sensorValue = analogRead(analogSensorPin); // membaca nilai analog dari analogSensorPinif (sensorValue <= 200) {digitalWrite(ledPin1, HIGH); // jika nilai sensor kurang dar 200 maka led 1 akan menyalawhile (sensorValue >= 200) {digitalWrite(ledPin1, LOW); // LED 1 akan matidigitalWrite(ledPin2, HIGH); // LED 2 akan menyala}}}
Social Plugin