Kita akan membutuhkan Arduino Board, sebuah resistor 560Ω, lampu LED dan kode contoh di bawah ini.
Skema
- /* sketch 1
- turn on a LED when the button is pressed
- turn it off when the button is not pressed (or released)
- */
- int pinButton = 8; //the pin where we connect the button
- int LED = 2; //the pin we connect the LED
- void setup() {
- pinMode(pinButton, INPUT); //set the button pin as INPUT
- pinMode(LED, OUTPUT); //set the LED pin as OUTPUT
- }
- void loop() {
- int stateButton = digitalRead(pinButton); //read the state of the button
- if(stateButton == 1) { //if is pressed
- digitalWrite(LED, HIGH); //write 1 or HIGH to led pin
- } else { //if not pressed
- digitalWrite(LED, LOW); //write 0 or low to led pin
- }
- }
Bagaimana kode bekerja?
kita menghubungkan tombol di pin 8 pada arduino dengan Tegangan 5 volt dan pada pin 8 juga kita hubungkan resistor 10K menuju ke GND. Lalu LED terhubung ke pin 2 menggunakan resistor 560 ohm secara seri ke GND
Di Dalam fungsi setup () kita mengatur pin 8 sebagai INPUT dan pin 2 sebagai OUTPUT.Dalam fungsi loop () kita membaca nilai dari pin 8 dan menyimpannya dalam stateButton variabel.
Menggunakan fungsi if () membuat beberapa keputusan: jika tombol ditekan (stateButton == 1) maka OUTPUT pada pin 2 menjadi tinggi (HIGH),
fungsi else, jika stateButton tidak 1 (tidak ditekan) atau apapun kondisinya selain tinggi (HIGH) membuat OUTPUT pada pin 2 menjadi rendah (LOW)
Jika kita ingin menyalakan LED tetap ON ketika tombol di lepas, kita hanya perlu menghilangkan kode fungsi else (seperti yang kita lihat di sketsa 2, tetapi kita tidak akan dapat mengubahnya LED menjadi OFF atau mati tanpa menggunakan sketsa ketiga. kecuali kita memutuskan sumber daya Arduinonya.
- /* sketch 2
- turn on a LED when the button is pressed and let it on when the button is released
- */
- int pinButton = 8; //the pin where we connect the button
- int LED = 2; //the pin we connect the LED
- void setup() {
- pinMode(pinButton, INPUT); //set the button pin as INPUT
- pinMode(LED, OUTPUT); //set the LED pin as OUTPUT
- }
- void loop() {
- int stateButton = digitalRead(pinButton); //read the state of the button
- if(stateButton == 1) { //if is pressed
- digitalWrite(LED, HIGH); //write 1 or HIGH to led pin
- }
- }
Dalam kode ini kita bisa melihat bagaimana kita dapat menyalakan LED ketika kita menekan tombol kemudian mematikannya bila kita menekan tombol lagi.Untuk Keadaan awal LED mati (LOW) tetapi jika kita ingin mengubah keadaan awal LED menjadi menyala (HIGH) kita harus mengubah int stateLED = LOW; menjadi int stateLED = HIGH;
- /* sketch 3
- turn on a LED when the button is pressed and let it on
- until the button is pressed again
- */
- int pinButton = 8;
- int LED = 2;
- int stateLED = LOW;
- int stateButton;
- int previous = LOW;
- long time = 0;
- long debounce = 200;
- void setup() {
- pinMode(pinButton, INPUT);
- pinMode(LED, OUTPUT);
- }
- void loop() {
- stateButton = digitalRead(pinButton);
- if(stateButton == HIGH && previous == LOW && millis() - time > debounce) {
- if(stateLED == HIGH){
- stateLED = LOW;
- } else {
- stateLED = HIGH;
- }
- time = millis();
- }
- digitalWrite(LED, stateLED);
- previous == stateButton;
- }







0 comments:
Post a Comment