Archive for the ‘Digital I/O’ Category

Function pinMode() pada Arduino Programming Language

Tuesday, February 23rd, 2021

Deskripsi

Merupakan fungsi untuk mengatur mode dari Digital I/O sebagai Output atau sebagai Input. Fungsi ini akan mempengaruhi register DDRXn pada Mikrokontroler AVR dan juga mempengaruhi kondisi internal pull up. Pada mode sebagai input, apabila PortX berlogika HIGH dan PUD juga aktif maka MOSFET akan aktif dan menghubungkan internal pull up ke Digital I/O.

Pengaturan mode oleh Register DDRXn

Syntax

pinMode(pin, mode)

Parameters

pin : Nomor pin Arduino Board

mode: INPUT, OUTPUT atau INPUT_PULLUP

Returns

Tidak ada returns

Contoh Program

Program ini akan membuat digital pin 13 sebagai output dan toggle dari HIGH ke LOW setiap satu detik.

void setup() {
  pinMode(13, OUTPUT);    // set the digital pin 13 sebagai output
}

void loop() {
  digitalWrite(13, HIGH); // set digital pin 13 ON
  delay(1000);            // tunggu 1 detik
  digitalWrite(13, LOW);  // set digital pin 13 OFF
  delay(1000);            // tunggu 1 detik
}

Catatan dan peringatan
Semua analog I/O dapat juga berfungsi sebagai Digital I/O kecuali pada Arduino Nano, Pro Mini di A6 dan A7 yang hanya berfungsi sebagai analog I/O.
Terjemahan dan Edit dari https://www.arduino.cc/reference/en/language/functions/digital-io/pinmode/

DELTA ELECTRONIC

Paulus Andi Nalwan, ST

Function digitalWrite() pada Arduino Programming Language

Tuesday, February 23rd, 2021

Deskripsi

Merupakan fungsi untuk memberikan logika HIGH atau LOW pada Digital pin Arduino Board.

Apabila pin diatur sebagai output melalui function pinMode() maka logika HIGH pada pin ini akan memberikan tegangan 5V apabila VCC = 5V dan 3.3V apabila VCC = 3.3V. Sedangkan logika LOW pada pin ini akan memberikan tegangan 0V

Digital Output pada Mode Output

Apabila pin diatur sebagai input melalui function pinMode() maka logika HIGH pada pin ini akan memberikan kondisi internal pull up dan logika low akan memberikan tegangan 0V. Apabila output ini dihubungkan pada LED, maka saat diberikan kondisi logika HIGH LED akan menyala redup karena resistor internal pull up akan membatasi arus yang mengalir pada LED.

Digital Output pada Mode Input

Syntax

digitalWrite(pin, Value)

Parameters

pin: Nomor Pin Arduino Board

Value: Logika HIGH atau LOW

Returns

Tidak ada nilai return pada fungsi ini

Contoh Program

Program ini akan membuat digital pin 13 sebagai output dan toggle dari HIGH ke LOW setiap satu detik.

void setup() {
  pinMode(13, OUTPUT);    // set the digital pin 13 sebagai output
}

void loop() {
  digitalWrite(13, HIGH); // set digital pin 13 ON
  delay(1000);            // tunggu 1 detik
  digitalWrite(13, LOW);  // set digital pin 13 OFF
  delay(1000);            // tunggu 1 detik
}

Catatan dan Peringatan
Semua analog I/O dapat juga berfungsi sebagai Digital I/O kecuali pada Arduino Nano, Pro Mini di A6 dan A7 yang hanya berfungsi sebagai analog I/O.
Terjemahan dan Edit dari https://www.arduino.cc/reference/en/language/functions/digital-io/digitalwrite/
DELTA ELECTRONIC
Paulus Andi Nalwan, ST

Function digitalRead() pada Arduino Programming Language

Tuesday, February 23rd, 2021

Deskripsi

Merupakan fungsi untuk membaca nilai dari digital input Arduino yaitu logika 0 atau LOW pada tegangan 0V dan logika 1 atau HIGH pada tegangan 5V untuk VCC = 5V. Untuk VCC = 3.3V maka logika 1 adalah 3.3V. Setiap pin Digital I/O dari Arduino Board dapat digunakan sebagai Output maupun Input dan hal ini diatur oleh function pinMode(). Pada kondisi standard, tanpa pengaturan dari function pinMode semua pin dari Digital I/O adalah Mode Input.

Digital I/O terhubung ke pin 10 Arduino Board

Syntax

digitalRead(pin)

Di mana pin adalah berupa nomor pin I/O dari Arduino Board

Parameter

pin: merupakan nomor pin I/O dari Arduino Board yang akan dibaca

Returns

HIGH apabila terhubung ke 5V (VCC = 5V) dan LOW apabila terhubung ke 0V

Contoh Program

Atur pin 13 agar memiliki nilai yang sama dengan pin 7, deklarasi sebagai input.

int ledPin = 13;  // LED terhubung pada pin 13 
                  // (biasanya terdapat LED di pin 13 Arduino Board)
int inPin = 7;    // pushbutton terhubung di pin 7
int val = 0;      // variabel untuk menyimpan nilai

void setup() {
  pinMode(ledPin, OUTPUT);  // set the digital pin 13 sebagai output
  pinMode(inPin, INPUT);    // set the digital pin 7 sebagai input
}

void loop() {
  val = digitalRead(inPin);   // baca input pin
  digitalWrite(ledPin, val);  // set  LED sesuai nilai pushbutton
}

Catatan dan peringatan

Apabila pin tidak terhubung dengan apapun maka nilai yang diperoleh bisa HIGH ataupun LOW secara acak. Semua analog I/O dapat juga berfungsi sebagai Digital I/O kecuali pada Arduino Nano, Pro Mini di A6 dan A7 yang hanya berfungsi sebagai analog I/O.

Terjemahan dan Edit dari https://www.arduino.cc/reference/en/language/functions/digital-io/digitalread/

DELTA ELECTRONIC

Paulus Andi Nalwan, ST