Subscribe
iotles.com
No Result
View All Result
  • Login
  • BERANDA
  • BELAJAR IOT
  • ENERGY METER
  • BERANDA
  • BELAJAR IOT
  • ENERGY METER
No Result
View All Result
iotles.com
No Result
View All Result
Home Belajar Iot

Membuat Counter UP dan Counter Down pada Arduino Dengan Button

jimmisitepu by jimmisitepu
October 1, 2021
in Belajar Iot
0
counter arduino
0
SHARES
8.4k
VIEWS
Share on FacebookShare on Twitter

Counter up dan counter down sangat banyak manfaat nya pada pemrograman Arduino, di antara nya adalah membuat menu pada LCD, schedule tugas, running LED dan lain-lain. Counter ini sering kali digunakan dalam logaritma pemrograman Arduino. Saya, penulis sengaja memasukkan materi counter ini sebagai salah satu tahapan proses untuk mempermudah pelajaran Arduino Selanjut nya.

Pada materi sebelum nya kita sudah paham bagaimana cara mempercepat respon pembacaan button dengan metode hold, atau jika ingin kembali membaca nya, cukup click tombol di bawahi ini

button hold arduino

Untuk lebih mudah nya, program nya adalah seperti berikut ini,

Related articles

Membuat Game Sederhana ESP32 Arduino dengan Random LED dan Button

Mempercepat Respon Button dengan Hold Button Pada Arduino

byte btn_1 = 34;
bool data_btn1 = 0;
#define ditekan 0
bool hold_btn1 = 0;
 
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(btn_1, INPUT);
}
 
void loop() {
  // put your main code here, to run repeatedly:
  data_btn1 = digitalRead(btn_1);//baca GPIO34
  if (data_btn1 == ditekan) {
    if (hold_btn1 == 0) {
      Serial.println("ditekan");
      hold_btn1 = 1;
    }
  } else {
    hold_btn1 = 0;
  }
}
button arduino

Pada Program di atas kita tahu persis bahwa, ketika tekan button GPIO34, maka Serial.println(“ditekan”); hanya akan di akses sekali, walau button masih sedang di tekan. Hal ini karena fungsi hold. Nah di sekarang kita letakkan counter up di dalam nya.

Counter Up

Penulisan counter UP pada C++ ada berbagai cara penulisan, di antara nya adalah sebagai berikut,

Counter++; 
Counter = Counter + 1; 
Counter += 1;
++counter;

Semua jenis penulisan di atas adalah nilai counter akan bertambah satu setiap proses nya. Program Counter up final nya adalah sebagai berikut,

byte btn_1 = 34;
bool data_btn1 = 0;
#define ditekan 0
bool hold_btn1 = 0;
int counter = 0;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(btn_1, INPUT);
  Serial.println();
}

void loop() {
  // program utama berulang-ulang
  data_btn1 = digitalRead(btn_1);//baca GPIO34
  if (data_btn1 == ditekan) {
    if (hold_btn1 == 0) {
      counter += 1; // ini counter
      Serial.print("counter: ");
      Serial.println(counter);
      hold_btn1 = 1;
    }
  } else {
    hold_btn1 = 0;
  }
}

Sekarang compile dan lihat di Serial Monitor, apa yang terjadi setiap button GPIO34 di tekan, akan terlihat seperti pada gambar di bawah ini

Counter Down

Pada Counter down, kita hanya merubah nilai counter berkurang dari satu. Program nya adalah sebagai berikut.

byte btn_1 = 34;
bool data_btn1 = 0;
#define ditekan 0
bool hold_btn1 = 0;
int counter = 100;// nilai di set dulu
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(btn_1, INPUT);
  Serial.println();
}

void loop() {
  // program utama berulang-ulang
  data_btn1 = digitalRead(btn_1);//baca GPIO34
  if (data_btn1 == ditekan) {
    if (hold_btn1 == 0) {
      counter -= 1; // ini counter down
      Serial.print("counter: ");
      Serial.println(counter);
      hold_btn1 = 1;
    }
  } else {
    hold_btn1 = 0;
  }
}

Upload Code di atas dan lihat pada Serial Monitor, maka teman-teman akan terlihat seperti gambar di bawah ini

Pada program di atas, counter kita set nilai nya 100, sebagai nilai awal, kemudian di counter down dengan GPIO34,

Nah Mudah bukan, nah sekarang aplikasi sederhana dari counter dalam menyalakan LED, agar tutorial ini berkesinambungan dengan tutorial berikut nya, Bagi yang belum bisa langsung klik button di bawah ini.

Menyalakan LED Arduino

Menyalakan LED dengan Counter

led trainner iot

Kita akan menyalakan LED secara bergantian setiap Button di tekan, bagaimanakah program nya?

byte btn_1 = 34;
bool data_btn1 = 0;
#define ditekan 0
bool hold_btn1 = 0;
int counter = -1;// nilai di set dulu

byte pin_led[] = {17, 16, 2, 15, 5, 18, 19, 23};


void setup() {
  // put your setup code here, to run once:
  pinMode(pin_led[0], OUTPUT);
  pinMode(pin_led[1], OUTPUT);
  pinMode(pin_led[2], OUTPUT);
  pinMode(pin_led[3], OUTPUT);
  pinMode(pin_led[4], OUTPUT);
  pinMode(pin_led[5], OUTPUT);
  pinMode(pin_led[6], OUTPUT);
  pinMode(pin_led[7], OUTPUT);
  
  Serial.begin(9600);
  pinMode(btn_1, INPUT);
  Serial.println();
}

void loop() {
  // program utama berulang-ulang
  data_btn1 = digitalRead(btn_1);//baca GPIO34
  if (data_btn1 == ditekan) {
    if (hold_btn1 == 0) {
      counter += 1; // ini counter down
      
      Serial.print("counter: ");
      Serial.println(counter);
      
      digitalWrite(pin_led[counter], HIGH);
      if(counter == 8){
        counter=-1;
        digitalWrite(pin_led[0], LOW);
        digitalWrite(pin_led[1], LOW);
        digitalWrite(pin_led[2], LOW);
        digitalWrite(pin_led[3], LOW);
        digitalWrite(pin_led[4], LOW);
        digitalWrite(pin_led[5], LOW);
        digitalWrite(pin_led[6], LOW);
        digitalWrite(pin_led[7], LOW);
      }
      
      hold_btn1 = 1;
    }
  } else {
    hold_btn1 = 0;
  }
}

Program counter ini akan memilih GPIO LED yang ingin di nyalakan, Sebagai contoh sebagai berikut,

  1. counter di set nilai nya -1 (negatif satu)
  2. ketika btn GPIO34 di tekan, nilai counter =0, maka led yang di nyalakan adalah pin_led[0], pin_led[0] adalah LED GPIO17
  3. ketika btn GPIO34 di tekan, nilai counter=1, maka led yang di nyalakan adalah pin_led[1], pin_led[1] adalah LED GPIO16
  4. ketika btn GPIO34 di tekan, nilai counter=2, maka led yang di nyalakan adalah pin_led[2], pin_led[1] adalah LED GPIO2
  5. dan seterus nya sampai nilai counter = 8;
  6. ketika nilai counter = 8, maka nilai counter di set kembali menjadi -1, dan semua LED di padam kan ( off)
  7. Ketika kembali di tekan Button GPIO34 maka proses kembali ke 1,

Hasil nya akan terlihat seperti pada video di bawah ini

Tugas

Tugas

Tugas nya adalah sebagai berikut,

  1. Buat lah counter up ketika di tekan Button GPIO34, kemudian
  2. Ketika di tekan GPIO36 maka terjadi counter down

Tertarik dengan Trainer IoT kami, cukup whatsapp kami dengan tekan tombol di bawah ini

whatsapp kami

Sekian dulu tulisan kita, semoga bermanfaat, Terimakasih

Previous Post

Mempercepat Respon Button dengan Hold Button Pada Arduino

Next Post

Membuat Game Sederhana ESP32 Arduino dengan Random LED dan Button

Related Posts

game LED arduino
Belajar Iot

Membuat Game Sederhana ESP32 Arduino dengan Random LED dan Button

October 2, 2021
button arduino
Belajar Iot

Mempercepat Respon Button dengan Hold Button Pada Arduino

September 28, 2021
input button esp32 arduino
Belajar Iot

Membaca Push Button Arduino dengan digitalRead

September 26, 2021
fungsi for arduno
Belajar Iot

Mengenal Fungsi for Pada Arduino

September 16, 2021
led trainner iot
Belajar Iot

Program Sederhana Menyalakan Led dengan Arduino Menggunakan Trainner IoT

September 15, 2021
variable arduino
Belajar Iot

Variable pada Pemrograman Arduino

September 13, 2021

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Monitoring Beberapa Jenis Power Meter Tanpa Koding dengan Modul LTE Modbus ke Blynk Cloud
  • Posting Data Ke blynk Iot dengan Modul GSM SIM7600 ESP32
  • Modul 4G Arduino SIM7600 dengan ESP32
  • Membuat Game Sederhana ESP32 Arduino dengan Random LED dan Button
  • Membuat Counter UP dan Counter Down pada Arduino Dengan Button

Recent Comments

No comments to show.
  • BERANDA
  • BELAJAR IOT
  • ENERGY METER
Call us: +62 851-5941-1861

© 2021 iotles.com - Learning and making iot device iotles.

No Result
View All Result
  • BERANDA
  • BELAJAR IOT
  • ENERGY METER

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In

Add New Playlist