Selamat datang kembali di Hestech Indonesia. Kamu sekarang sedang membaca artikel dengan label Arduino Tutorials. Pada artikel ini kita akan belajar bagaimana Input dan output pin digital pada Arduino bekerja untuk menghidup dan mematikan LED dengan menggunakan Button dan PWM.
Kita dapat menghidupkan LED dengan mengirimkan nilai HIGH/LOW atau on dan off pada Arduino untuk menyalakan dan mematikan LED menggunakan digitalWrite().
Bagaimana kalo kita ingin mengaktifkan sesuatu dengan nilai tertentu dan bisa diubah-ubah sesuai keinginan?, seperti mengatur intensitas cahaya LED atau mengatur kecepatan putaran motor?
Supaya lebih jelas, mari kita implementasikan kedalam rangkaian berikut:
Komponen yang dibutuhkan dalam rangkaian diatas adalah:
- Arduino
- LED
- Resistor 220 ohm
- Kabel Jumper
- Breadboard
Kemudian upload program berikut kedalam arduino:
Example 1:
Example 1:
int button = 12;
int led = 13;
int buttonState = 0;
void setup() {
pinMode(led, OUTPUT);
pinMode(button, INPUT);
}
void loop() {
buttonState = digitalRead(button);
if (buttonState == HIGH)) {
digitalWrite(led, HIGH);
}
else {
digitalWrite(led, LOW);
}
}
int led = 13;
int button = 12;
int buttonState =0;
int brightness = 0;
int brightup = 2;
void setup() {
pinMode(led, OUTPUT);
pinMode(button, INPUT);
}
void loop() {
analogWrite(led, brightness);
buttonState = digitalRead(button);
if ( buttonState == HIGH ) {
brightness = brightness + brightup;
}
if ( brightness == 255 ) {
brightness = 0;
}
delay(30);
}
Arduino mengeset output digital ke HIGH dan LOW bergantian dengan porsi waktu tertentu untuk setiap nilai keluarannya. Durasi waktu untuk nilai HIGH disebut pulse width atau panjang pulsa. Variasi nilai pin output didapatkan dari perubahan panjang pulsa yang diberikan pada satu periode waktu dan dilakukan berulang-ulang. Untuk lebih jelasnya perhatikan ilustrasi berikut:PWM |
Untuk mengatur nilai duty cycle, kita gunakan fungsi analogWrite([nomorPin], [nilai]). Nilai pada parameter kedua berkisar antara 0 hingga 255. Bila kita hendak mengeset duty cycle ke 0%, maka kita set nilai parameter ke 0, dan untuk duty cycle 100%, maka kita set nilai parameter ke 255. Jadi bila misalkan kita hendak mengeset duty cycle ke 50%, berarti nilai yang harus kita set adalah 127 (50% x 255).
comment 0 komentar
more_vert