Logo Universitas

Universitas ASA Indonesia


Program Studi: Teknologi Informasi
Mata Kuliah: Internet of Things
SKS: 3 (Tiga)
Dosen Pengampu: Istiqomah Sumadikarta, S.T., M.Kom.
Beranda Mundur Maju

Pertemuan 6: Praktik Input dan Sensor: Push Button, DHT22, Ultrasonic, dan PIR

Salam Pengantar

Assalamualaikum warahmatullahi wabarakatuh.

Pada pertemuan ini, Anda akan mempelajari cara menggunakan input digital dan sensor dengan Arduino. Fokus praktik mencakup Push Button, DHT22 (suhu dan kelembapan), sensor Ultrasonic, dan PIR (gerak). Simulasi dilakukan melalui Wokwi.

Tujuan Pembelajaran

1. Pengertian Sensor

Sensor adalah perangkat yang mendeteksi perubahan fisik (suhu, cahaya, jarak, gerakan) dan mengubahnya menjadi sinyal listrik.

LED

2. Push Button

Push Button adalah saklar yang hanya aktif saat ditekan.

Pemasangan push button akan lebih stabil jika menggunakan konfigurasi resistor secara pull up atau pull down tergantung kondisi. Resistor pull up dan pull down adalah resistor yang digunakan untuk memastikan input pada komponen berada pada HIGH atau LOW.

Resistor Pull Up

Resistor Pull Up

Menjaga pin input tetap HIGH saat tombol tidak ditekan. Penggunaan resistor pull up yaitu resistor dihubungkan dengan tegangan input (5 volt). Sehingga saat kondisi normal (tombol tidak ditekan) tegangan 5 volt akan mengalir ke mikrokontroler. Biasanya mode seperti ini digunakan pada tombol Aktif HIGH.

Resistor Pull Down

Menjaga pin input tetap LOW saat tombol tidak ditekan. Resistor pull down yaitu resistor dihubungkan dengan Ground, sehingga saat kondisi normal (tombol tidak ditekan) mikrokontroler akan terhubung dengan ground. Biasanya mode ini digunakan pada tombol Aktif LOW.

3. Switch (Saklar)

Switch berbeda dengan Push Button karena mempertahankan posisi ON atau OFF setelah ditekan.

Switch

4. Aktif HIGH dan Aktif LOW

Aktif HIGH: Input aktif jika logika HIGH (5V).
Aktif LOW: Input aktif jika logika LOW (0V).

Aktif HIGH dan LOW

5. Memulai proyek dengan Wokwi

Wokwi

Wokwi adalah platform yang dapat digunakan sebagai simulator Electronics Development Board seperti Arduino, ESP32, dan Raspberry Pi Pico.

Switch

Kelebihan Wokwi

Wokwi memiliki kelebihan dibandingkan platform simlulasi yang lain yaitu:

  1. Komponen pendukung lebih lengkap (sensor, tombol, LED, dll).
  2. Simulasi dapat terhubung ke server asli.
  3. Pilihan board lebih banyak (Arduino, ESP32, Raspberry Pi Pico).
  4. Hampir mirip dengan software pemrograman sebenarnya, salah satunya dengan fitur menambah library.

Memulai Wokwi

  1. Buka https://wokwi.com/
  2. Sign in menggunakan akun gmail
  3. Pilih My Projects
    Switch
  4. Pilih [NEW PROJECT]
    Switch
  5. Pilih Arduino
    Switch
  6. Pilih Gambar Arduino
    Switch
  7. Wokwi Arduino Project siap
    Switch

Mengenal Fitur Wokwi

6. Praktik Push Button dan LED

1. Gambarlah rangkaian sehingga di layar simulation terlihat seperti berikut ini:

Sensor DHT22

2. Pada diagram.json Edit value r1 menjadi 470

  
  {
  "version": 1,
  "author": "istiqomah sumadikarta",
  "editor": "wokwi",
  "parts": [
    { "type": "wokwi-arduino-uno", "id": "uno", "top": 0, "left": 0, "attrs": {} },
    {
      "type": "wokwi-led",
      "id": "led1",
      "top": -128.4,
      "left": 109.4,
      "attrs": { "color": "red" }
    },
    {
      "type": "wokwi-resistor",
      "id": "r1",
      "top": -53.65,
      "left": 153.6,
      "attrs": { "value": "470" }
    },
    {
      "type": "wokwi-pushbutton",
      "id": "btn1",
      "top": -99.4,
      "left": 288,
      "attrs": { "color": "green", "xray": "1" }
    },
    {
      "type": "wokwi-resistor",
      "id": "r2",
      "top": -24,
      "left": 345.05,
      "rotate": 90,
      "attrs": { "value": "1000" }
    }
  ],
  "connections": [
    [ "uno:GND.1", "led1:C", "black", [ "v0" ] ],
    [ "led1:A", "r1:1", "green", [ "v0" ] ],
    [ "r1:2", "uno:13", "green", [ "h8.4", "v19.2", "h-95.8" ] ],
    [ "btn1:1.l", "uno:7", "green", [ "h-48", "v76.8", "h-51" ] ],
    [ "btn1:2.l", "uno:5V", "green", [ "v173", "h-128" ] ],
    [ "btn1:1.r", "r2:1", "green", [ "h19.4", "v76.8" ] ],
    [ "r2:2", "uno:GND.2", "green", [ "v210", "h-204.9" ] ]
  ],
  "dependencies": {}
}
  

3. Buat program pada sketch.ino seperti berikut ini:

  
void setup() {
  // put your setup code here, to run once:
  pinMode(13, OUTPUT);
  pinMode(7, INPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  if (digitalRead(7)==HIGH){
    digitalWrite(13, HIGH);
  } else {
    digitalWrite(13, LOW);
  }
}
  

4. Jalankan simulasi dan tekan tombol

Sensor DHT22

Tantangan

Buatlah rangkaian Arduino dengan 3 LED dan 1 Push Button. Hanya ada 1 LED yang menyala, jika tombol ditekan pertama kali maka akan menghidupkan LED merah, jika ditekan kembali akan menghidupkan LED biru, jika ditekan kembali akan menghidupkan LED hijau, dst.

Sensor Ultrasonic

6. Praktik Sensor DHT22 dengan Wokwi

DHT22 digunakan untuk membaca suhu dan kelembapan.

1. Buatlah rangkaian seperti yang terlihat pada gambar berikut ini:

Sensor DHT22

2. Buatlah kode program berikut ini:

  
#include "DHT.h"
#define DHTPIN 2     
#define DHTTYPE DHT22   
DHT dht(DHTPIN, DHTTYPE);
void setup() {
  Serial.begin(9600);
  Serial.println(F("DHTxx test!"));
  dht.begin();
}
void loop() {
  delay(2000);
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  float f = dht.readTemperature(true);
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println(F("Failed to read from DHT sensor!"));
    return;
  }
  float hif = dht.computeHeatIndex(f, h);
  float hic = dht.computeHeatIndex(t, h, false);
  Serial.print(F("Humidity: "));
  Serial.print(h);
  Serial.print(F("%  Temperature: "));
  Serial.print(t);
  Serial.print(F("°C "));
  Serial.print(f);
  Serial.print(F("°F  Heat index: "));
  Serial.print(hic);
  Serial.print(F("°C "));
  Serial.print(hif);
  Serial.println(F("°F"));
}
  

3. Import library DHT

Sensor DHT22

4. Jalankan simulator

Sensor DHT22

Tantangan Proyek DHT22

Buatlah dengan simulator, alat ini dapat mendeteksi kelembapan udara, jika sangat lembap LED hijau hidup, jika sedang LED kuning hidup, jika rendah LED merah hidup

Sensor DHT22

7. Praktikum menggunakan sensor ultrasonik

Cara Kerja Sensor ultrasonik

Cara kerja sensor ini didasarkan pada prinsip dari pantulan suatu gelombang suara sehingga dapat dipakai untuk menafsirkan eksistensi (jarak) suatu benda dengan frekuensi tertentu.

Sensor Ultrasonic

Praktikum

1. Buatlah rangkaian simulasi seperti berikut ini:

Sensor Ultrasonic

2. Import HCSR04 ultrasonic sensor di Library Manager

3. Buat kode pemrograman seperti berikut ini:


#define ECHO_PIN 2
#define TRIG_PIN 3
void setup() {
  Serial.begin(115200);
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
}
float readDistanceCM() {
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);
  int duration = pulseIn(ECHO_PIN, HIGH);
  return duration * 0.034 / 2;
}
void loop() {
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);
  int duration = pulseIn(ECHO_PIN, HIGH);
  float distance = duration * 0.034 / 2;
  Serial.print("Jarak: ");
  Serial.println(distance);
  delay(100);
}

4. Jalankan simulator, klik sensor untuk mengatur jarak

Sensor Ultrasonic

Tantangan Sensor Ultrasonic dan 3 LED

Buatlah rangkaian simulator Arduino, Sensor Ultrasonic dan 3 LED seperti berikut ini:

Sensor Ultrasonic

Buatlah asumsi untuk jarak jauh, sedang, dekat. sehingga LED menyala merah jika dekat, kuning jika sedang, hijau jika jauh.

8. Praktikum menggunakan Sensor PIR

Sensor PIR mendeteksi gerakan melalui radiasi inframerah. Jangkauan sensor PIR dengan objek maksimal 12m dengan sudut sebaran 60 derajat.

Sensor PIR

Cara kerja sensor PIR

Cara kerjanya yaitu pyroelectric pada sensor menerima gelombang inframerah dari benda sekitar dan menghasilkan arus listrik. Untuk memastikan yang dibaca adalah benar-benar gerakan, terdapat komparator untuk membandingkan dengan gelombang lain yang diterima. Jika terdapat perbedaan, maka output sensor akan mengeluarkan tegangan listrik.

Sensor PIR

Praktikum - Sensor PIR

1. Buatlah rankaian simulasi Arduino dan sensor PIR seperti berikut ini:

Sensor PIR

2. Import library PIR dari Library Manager

3. Buat kode pemrograman agar ketika PIR mendeteksi gerakan maka lampu LED menyala.


const int pirPin = 7;
const int ledPin = 13;
void setup() {
  pinMode(pirPin, INPUT);
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}
void loop() {
  int motion = digitalRead(pirPin);
  if (motion == HIGH) {
    digitalWrite(ledPin, HIGH);
    Serial.println("Gerakan terdeteksi!");
  } else {
    digitalWrite(ledPin, LOW);
    Serial.println("Tidak ada gerakan.");
  }
  delay(200);
}

4. Jalankan Simulator

Sensor PIR

Tantangan Sensor PIR, LED, dan Buzzer

Buatlah rangkaian simulator Arduino, Sensor PIR, LED, dan Buzzer seperti berikut ini:

Sensor Ultrasonic

Tambahkan kode program agar selain LED menyala rangkaian juga akan mengaktifkan Buzzer

Penutup

Pada pertemuan ini, Anda telah mempelajari berbagai sensor input digital dan cara mempraktikkannya menggunakan Arduino dengan Wokwi.

Daftar Pustaka

  1. Arduino.cc Documentation. Link
  2. Wokwi Documentation. Link

Glosarium Istilah

Pull Up Resistor
Resistor yang membuat input default HIGH.
Pull Down Resistor
Resistor yang membuat input default LOW.
DHT22
Sensor suhu dan kelembapan digital.
Ultrasonic Sensor
Sensor jarak menggunakan gelombang ultrasonik.
PIR
Sensor Passive Infrared untuk mendeteksi gerakan.
Beranda Mundur Maju