Antarmuka sensor DHT-11 dengan menggunakan Arduino

Antarmuka sensor DHT-11 dengan menggunakan Arduino

DHT 11

DHT 11 adalah sejenis sensor yang memiliki kemampuan untuk mengukur suhu dan kelembaban ruangan. Sensor ini sangat mudah digunakan bersama Arduino dan memiliki kemampuan membaca suhu antara 0 s/d 50 derajat Celcius. Berikut ini adalah spesifikasi lengkap dari sensor ini:

Tegangan kerja3-5 Volt DC
Arus maksimal2.5 mA
rentang pengukuran suhu0-50 °C toleransi +- 2 °C
Rentang pengukuran kelembaban20-80% toleransi 5%

Pinout pada DHT 11

Modul DHT 11 terdiri dari 3 pin yaitu seperti gambar dibawah ini:

pin VCC digunakan untuk memberi supply listrik untuk sensor. Sesuai spesifikasi sensor, DHT 11 dapat disupply dengan menggunakan tegangan antara 3.3 – 5 volt. pemberian supply bisa langsung dari pin 5V pada Arduino atau menggunakan sumber tenaga lain seperti baterai dan powerbank.

pin OUT digunakan untuk mengirimkan sinyal ke Arduino. Sinyal dari pin ini akan diproses oleh Arduino yang outputnya berupa pembacaan suhu dan kelembaban ruangan.

pin GND adalah pin ground

Rangkaian Sensor DHT 11 dengan Arduino

Untuk dapat membaca suhu dan kelembaban, maka sensor DHT 11 harus dihubungkan ke microcontroller Arduino. Rangkaian sensor ini dengan DHT 11 relatif sangat mudah, perhatikan tabel dan gambar dibawah ini

DHT 11Arduino
pin VCCpin 5V
pin OUTpin 8
pin GNDpin GND

Menginstal Library DHT

Untuk dapat mengendalikan sensor DHT 11 dengan baik, kita perlu menginstal library DHT kedalam aplikasi Arduino IDE. Penggunaan library ini akan mempermudah kita dalam memprogram sensor DHT 11.

Langkah-langkat instalasi library DHT ikuti langkah-langkah berikut:

Program / Sketch

Setelah library berhasil diinstal, langkah berikutnya adalah menulis dan mengupload program ke dalam Arduino. Program dibawah ini akan menampikan hasil pembacaan sensor pada serial monitor. S

#include "DHT.h"

#define DHTPIN 8
#define DHTTYPE DHT11


DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  Serial.println(F("Antarmuka DHT 11"));

  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("Gagal membaca sensor"));
    return;
  }

  Serial.print("kelembaban: ");
  Serial.print(h);
  Serial.print("%  Temperatur: ");
  Serial.print(t);
  Serial.print("°C ");
  Serial.print(f);
  Serial.println("°F ");
}

Setelah program selesai ditulis, hubungkan Arduino dengan PC atau laptop, pastikan board dan port sudah disetting dengan benar sebelum mengupload. Bukalah Serial monitor dan perhatikan hasil pembacaan sensor. Jika pada layar serial monitor tampil tulisan “Gagal membaca sensor”, Periksalah kembali sambungan kabel antara Arduino dengan sensor DHT 11.

Penjelasan program

#include "DHT.h"

menambahkan (include) library DHT yang kita instal sebelumnya

#define DHTPIN 8
#define DHTTYPE DHT11

#define DHTPIN 8 : mendefinisikan pin 8 Arduino sebagai pin yang terhubung dengan DHT 11

#define DHTTYPE DHT11 : mendefinisikan jenis sensor DHT yang dipakai, dalam hal ini kita menggunakan DHT 11. Apabila sensor yang digunakan adalah sensor DHT22, maka diganti menjadi #define DHTTYPE DHT22.

dht.begin()

mengaktifkan sensor DHT11

  float h = dht.readHumidity();
  float t = dht.readTemperature();
  float f = dht.readTemperature(true);

mendeklarasikan variabel dengan tipe data float (desimal) untuk menyimpan data pembacaan sensor. variabel h akan menyimpan hasil pembacaan kelembaban, t akan menyimpan data suhu dalam Celcius, f akan menyimpan data suhu dalam Fahrenheit.

if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println(F("Gagal membaca sensor"));
    return;
  }

Arduino akan menjalalankan fungsi if dengan logika jika hasil pembacaan sensor yang tersimpan di salah satu variabel h, t atau f bukan berupa angka (isnan = is not a number) maka Arduino akan menampilkan teks “Gagal membaca sensor” di layar serial monitor.

  Serial.print("kelembaban: ");
  Serial.print(h);
  Serial.print("%  Temperatur: ");
  Serial.print(t);
  Serial.print("°C ");
  Serial.print(f);
  Serial.println("°F ");

Menampilkan hasil pembacaan sensor ke layar serial monitor. Hasil pembacaan sensor yang tampil di layar adalah kelembaban, suhu dalam celcius, dan suhu dalam Fahrenheit.

Ringkasan Materi Informatika Semester 1 & 2

Ringkasan Materi Informatika Semester 1 & 2

Informatika

  1. Informatika, secara sederhana, adalah ilmu yang berkaitan dengan pengolahan, pengelolaan, dan pemanfaatan informasi menggunakan teknologi komputer. Bidang ini meliputi aspek pemrograman, analisis data, kecerdasan buatan (AI), keamanan cyber, jaringan komputer, dan berbagai topik lainnya yang terkait dengan teknologi informasi.
  2. Informatika memiliki peran besar di kehidupan modern seperti saat ini, hampir seluruh aspek kehidupan kita dipermudah dengan berkembangnya ilmu informatika.
  3. Informatika memainkan peran kunci dalam pengembangan teknologi komunikasi seperti internet, email, dan media sosial. teknologi ini memungkinkan orang untuk berkomunikasi secara instan dan efisien di seluruh dunia tanpa terkendala jarak dan waktu.
  4. Informatika telah mengubah cara kita belajar dan mengakses informasi. Adanya platform pembelajaran online, sumber daya digital, dan perangkat lunak pembelajaran membantu meningkatkan aksesibilitas pendidikan. Selain itu, kita juga memiliki akses ke sumber informasi dari berbagai belahan dunia dengan cepat dengan adanya mesin pencari.
  5. Dalam dunia bisnis, Informatika juga memainkan peran yang besar. Sistem manajemen bisnis, analisis data, e-commerce, dan perangkat lunak keuangan semuanya bergantung pada konsep-konsep informatika.
  6. Di bidang kesehatan, informatika digunakan untuk manajemen data pasien, pengembangan perangkat lunak medis, analisis genom, dan penelitian medis. Teknologi seperti telemedicine juga mengandalkan konsep informatika.
  7. Informatika adalah landasan dari pengembangan perangkat lunak. Dengan konsep-konsep seperti pemrograman komputer, pengujian perangkat lunak, dan pengelolaan proyek, informatika memungkinkan pembuatan berbagai jenis perangkat lunak.

Cara berfikir komputasional

  1. Berfikir komputasional adalah suatu pendekatan dalam menyelesaikan masalah atau memahami suatu konsep dengan cara yang mirip dengan cara/proses berpikir komputer. Konsep berfikir ini mencakup pemahaman algoritma, pemodelan data, pemecahan masalah sistematis, dan kemampuan untuk menerapkan konsep-konsep ini dalam situasi nyata.
  2. Keempat konsep utama dalam berfikir komputasional – dekomposisi, abstraksi, pola, dan algoritma – membentuk dasar untuk memecahkan masalah dengan pendekatan yang sistematis dan komputasional.
  3. Dekomposisi melibatkan pembagian masalah besar menjadi sub-masalah yang lebih kecil dan lebih mudah dikelola. Dengan memecah masalah kompleks menjadi bagian-bagian yang lebih kecil, kita dapat fokus pada setiap submasalah secara terpisah, membuat pemecahan masalah menjadi lebih efisien.
  4. Abstraksi adalah proses menyederhanakan kompleksitas atau kerumitan suatu masalah dengan mengabaikan detail atau bagian-bagian yang tidak relevan. cara memungkinkan kita untuk fokus pada aspek-aspek penting dari suatu masalah tanpa terjebak dalam kompleksitas yang tidak perlu. Dalam konteks berfikir komputasional, abstraksi dapat melibatkan penyederhanaan struktur data atau proses untuk memudahkan pemahaman dan implementasi.
  5. Mengidentifikasi pola melibatkan pemahaman tentang hubungan dan struktur dalam data atau masalah. Pola membantu kita memprediksi hasil, membuat generalisasi, dan memahami lebih baik cara suatu sistem bekerja.
  6. Algoritma adalah langkah-langkah terstruktur yang dirancang untuk menyelesaikan suatu masalah atau tugas. Algoritma bisa juga disebut sebagai panduan atau resep yang menunjukkan langkah-langkah yang harus diambil untuk mencapai hasil tertentu. Dalam berfikir komputasional, kemampuan untuk merancang algoritma yang efektif menjadi kunci. Algoritma harus efisien, dapat diulang, dan dapat diandalkan dalam menyelesaikan masalah tertentu.
  7. keempat konsep dalam berfikir komputasional dapat di integrasikan atau digabungkan agar penyelesaian masalah menjadi lebih cepat dan terstruktur.
    • a. Dekomposisi & Abstraksi: Saat mendekomposisi masalah, abstraksi membantu menyederhanakan setiap submasalah sehingga dapat dipecahkan dengan lebih mudah.
    • b. Dekomposisi & Algoritma: Submasalah yang dihasilkan dari dekomposisi dapat dipecahkan menggunakan algoritma yang sesuai untuk mencapai solusi keseluruhan.
    • c. Abstraksi & Pola: Abstraksi membantu dalam mengidentifikasi pola umum, memungkinkan kita untuk membuat generalisasi yang dapat diterapkan pada masalah serupa.
    • d. Pola & Algoritma: Identifikasi pola dapat membantu dalam merancang algoritma yang memanfaatkan pola tersebut untuk meningkatkan efisiensi dan akurasi solusi.

Arduino

  1. Arduino adalah platform perangkat keras dan perangkat lunak open-source yang dirancang untuk membuat prototipe dan mengembangkan proyek elektronika. Platform ini menyediakan berbagai papan mikrokontroler yang dapat diprogram untuk melakukan berbagai tugas. Papan mikrokontroler Arduino memiliki input dan output yang dapat digunakan untuk berinteraksi dengan berbagai sensor, aktuator, dan perangkat lainnya.
  2. Arduino memiliki karakteristik antara lain:
    • a. Open Source: Desain perangkat keras dan perangkat lunak Arduino bersifat open-source, yang berarti bahwa semua informasi yang diperlukan untuk membuat dan mengembangkan proyek Arduino dapat diakses secara bebas. Pengguna dapat memodifikasi dan menyesuaikan perangkat keras dan perangkat lunak sesuai kebutuhan mereka.
    • b. Mikrokontroler: Papan Arduino dilengkapi dengan mikrokontroler yang berfungsi sebagai otak dari sistem. Mikrokontroler ini dapat diprogram untuk melakukan berbagai tugas sesuai dengan kebutuhan proyek.
    • c. Integrated Development Environment (IDE): Arduino IDE adalah lingkungan pengembangan terpadu yang digunakan untuk menulis, mengunggah, dan menjalankan kode pada papan Arduino. IDE menyederhanakan proses pengembangan dengan menyediakan berbagai fitur dan alat bantu.
    • d. Soket Input/Output (I/O): Arduino memiliki pin input/output yang dapat digunakan untuk menghubungkan sensor, aktuator, dan perangkat lainnya. Ini memungkinkan pengguna untuk berinteraksi dengan lingkungan sekitar.
    • e. Kemudahan Penggunaan: Arduino didesain agar mudah digunakan, bahkan bagi pemula dalam bidang elektronika dan pemrograman. Ada banyak sumber daya dan tutorial online yang mendukung pengguna dalam memahami dan menggunakan Arduino.
  3. Arduino memiliki banyak konektor-konektor yang disebut dengan “pin”. Pin-pin ini dapat dihubungkan ke berbagai sensor, aktuator dan komponen-komponen elektronika lainnya.
  4. Berikut adalah beberapa kelompok utama pin pada Arduino Uno:
    • Pin Digital (D0-D13):
      • D0-D13 digunakan sebagai pin digital input atau output.
      • D2 dan D3 dapat mendukung fungsi interrupt.
      • D3, D5, D6, D9, D10, dan D11 dapat digunakan untuk menghasilkan sinyal PWM.
    • Pin Analog (A0-A5):
      • A0-A5 digunakan sebagai pin input analog untuk membaca tegangan antara 0 hingga 5 volt.
      • A4 dan A5 juga digunakan sebagai pin I2C (Inter-Integrated Circuit).
    • Port Serial (RX, TX):
      • RX dan TX digunakan untuk komunikasi serial dengan perangkat eksternal.
    • Port USB:
      • Digunakan untuk menghubungkan Arduino ke komputer atau perangkat USB lainnya.
    • Port Catu Daya:
      • Vin: Tegangan input eksternal.
      • 5V: Tegangan output dari regulator.
      • 3.3V: Tegangan output tetap 3.3 volt.
      • GND: Ground atau negatif.
    • Port I2C (SDA, SCL):
      • Digunakan untuk komunikasi I2C.
    • Port SPI (MISO, MOSI, SCK, SS):
      • Digunakan untuk komunikasi SPI.
    • Sampai pada materi ini, kita sudah mengenal pin digital (pin 0-13) dan pin GND.

Pemrograman Arduino

  1. Arduino memliki 2 struktur program yang terdiri dari 2 fungsi utama yaitu : setup() dan loop().
  2. Fungsi setup() dieksekusi hanya sekali saat program dimulai, dan biasanya digunakan untuk mengaktifkan pin, dan perangkat lain yang terhubung ke Arduino agar bisa di program.
  3. Fungsi loop() dieksekusi secara terus-menerus setelah setup(), dan berisi kode utama program yang akan dijalankan berulang kali. Proses pengendalian utama suatu mesin / komponen elektronika yang terhubung ke Arduino hampir sepenuhnya dilakukan disini.
  1. Perintah-perintah dasar yang bisa digunakan adalah :

pinMode()

Deskripsi

pinMode berfungsi untuk mengkonfigurasikan atau mengaktifkan pin sebagai output ataupun input.

Syntax

pinMode(pin, mode);

Parameter
pinnomor pin pada Arduino, atau variabel yang berisi nomor pin
modemode pengaturan pin : OUTPUT, INPUT, INPUT_PULLUP
Contoh Penggunaan
pinMode(4, INPUT);Mengaktifkan pin 4 sebagai input (biasanya digunakan untuk membaca sensor)
pinMode(4, OUTPUT);Mengaktifkan pin 4 sebagai output
int ledPin = 4;
pinMode(ledPin, OUTPUT);
Mengaktifkan ledPin (pin 4) sebagai output)
pinMode(4, INPUT_PULLUP);mengaktifkan 4 sebagai input dengan pull up resistor internal

digitalWrite()

Deskripsi

Memberi nilai berupa HIGH atau LOW pada pin digital. Pin yang diberi nilai sebelumnya harus telah diaktifkan sebagai OUTPUT dengan pinMode. Nilai HIGH dan LOW bisa disamakan artinya dengan “on” dan “off”, “1” atau “0”, “hidup” dan “mati”.

Syntax

digitalWrite(pin, value);

Parameter
pinnomor pin pada Arduino, atau variabel yang berisi nomor pin
valueHIGH untuk membuat pin menjadi “on”
LOW untuk membuat pin menjadi “off”
Contoh Penggunaan
digitalWrite(4, HIGH);Perintah pin 4 “on”
digitalWrite(4,LOW);Perintah pin 4 “off”
int ledPin = 4;
digitalWrite (ledPin, HIGH);
perintah variabel ledPin (pin 4) “on”

Delay

Deskripsi

Menghentikan program sementara selama x milidetik (ms)

Syntax

delay(ms)

Parameter
msDiisi dengan nilai waktu dalam milidetik, misalnya 1000 = 1 detik, 500 = 1/2 detik, 2000 = 2 detik
Contoh Penggunaan
delay(1000);menghentikan pembacaan program selama 1 detik
delay(500);menghentikan pembacaan program selama 1/2 detik

Variabel

Penjelasan tentang variabel bisa dibaca pada tulisan dibawah ini:

JudulLink Bacaan
Menggunakan Variabelhttps://helmydx.my.id/2023/11/19/menggunakan-variabel/
Variabel dan Operator matematikahttps://helmydx.my.id/2023/11/23/variabel-dan-operator-aritmatika/

Fungsi Logika dan Perulangan

JudulLink Bacaan
Logika IF, IF-ELSE, ELSEhttps://helmydx.my.id/2023/11/24/logika-if/
Perulangan FOR dan Whilehttps://helmydx.my.id/2023/11/26/perulangan-for-dan-while/

KISI-KISI dan CONTOH SOAL dapat kalian download pada link dibawah ini:

https://docs.google.com/document/d/1d9mOmrlIFWuFzNB7_1PuiyntWD7tbq0Q/edit?usp=sharing&ouid=104727008984896572320&rtpof=true&sd=true

Selamat melaksanakan ujian

Perulangan FOR dan WHILE

Perulangan FOR dan WHILE

Kalau sebelumnya kita sudah mengetahui cara menggunakan fungsi logika IF da ELSE, maka kali ini kita akan mempelajari bagaimana caranya agar Arduino bisa melakukan kendali lebih dalam lagi dan menyederhanakan program kita buat. Pada akhir tulisan ini, kita akan bisa membuat animasi lampu LED seperti pada video yang ada dibawah ini:

Dari video diatas, secara sederhana kita bisa membuatnya dengan program seperti dibawah ini:

void loop () {
   digitalWrite(8, HIGH);
   delay(100);
   digitalWrite(8, LOW);
   delay (100);
// diketik ulang sampai 10 kali

   digitalWrite(9, HIGH);
   delay(100);
   digitalWrite(9, LOW);
   delay (100);
//diketik ulang sampai 10 kali

   digitalWrite(10, HIGH);
   delay(100);
   digitalWrite(10, LOW);
   delay (100);
//diketik ulang sampai 10 kali
}
  

Jika jumlah lampu LED yang digunakan hanya 2 atau 3 buah saja tentu akan sangat mudah, namun, bagaimana jika lampu LED yang kita gunakan berjumlah lebih dari 10? Tentu saja program yang akan kita ketik akan sangat panjang.

Untuk itu kita akan mempelajari cara melakukan perulangan pembacaan program dengan fungsi FOR agar program yang kita ketik akan lebih pendek dan sederhana.

FOR


FOR adalah salah satu jenis perulangan (loop) dalam pemrograman yang digunakan untuk mengulangi blok kode secara berulang.

Secara umum fungsi FOR akan dituliskan sebagai berikut:

  • Nilai awal adalah nilai permulaan hitungan perulangan, biasanya dituliskan dalam bentuk variabel angka (integer). Nilai awal ini digunakan sebagai titik awal perulangan. dalam hal ini nilai awal adalah: int i = 0; yang bisa diartikan sebagai “nilai awal adalah 0”
  • Kondisi yang akan diperiksa adalah kondisi yang akan terus dievaluasi setiap kali program diulang, jika kondisi ini masih “benar” atau “true” maka perulangan akan terjadi dan program akan dibaca oleh Arduino dan sebaliknya jika kondisi “false” atau “salah” maka perulangan akan berhenti dan Arduino aka melanjutkan pembacaan program ke baris berikutnya. kondisi yang akan dievaluasi dari contoh diatas adalah: i<10; yang bermakna “jika nilai i lebih dari 10”
  • Penambahan pada bagian akhir loop ditulis i++, yang artinya “nilai i ditambah 1”. nilai i akan bertambah 1 setiap kali perulangan sampai akhir nya nilai i < 10
  • perulangan program akan terus terjadi jika nilai i kurang dari 10, ketika nilai i sudah lebih dari 10 maka Arduino akan keluar dari perulangan dan baris berikutnya

Perhatikan contoh dibawah ini

for(int i = 0; i<10; i++) {
    digitalWrite(8, HIGH);
    delay(300);
    digitalWrite(8,LOW);
    delay(300);
}
delay(2000);

Program diatas akan mengedipkan lampu LED pada pin 8 sebanyak 10 kali lalu berhenti selama 2 detik dengan perulangan sebagai berikut:

  • pada putaran pertama nilai i adalah 0, program akan membaca barisan yang ada didalam blok sehingga LED akan berkedip hidup dan mati sekali dengan delay 300 setelah itu nilai i bertambah 1 sehingga i=1
  • pada putaran kedua fungsi for akan mengevaluasi kondisi variabel i apakah bernilai < 10, jika iya, program akan membaca barisan yang ada didalam blok sehingga LED akan berkedip hidup dan mati lagi dengan delay 300 dan nilai i akan bertambah lagi 1 sehingga i =2
  • putaran ketiga dan selanjutnya sama dengan putaran yang kedua, jika nilai i masih kurang dari 10, LED akan berkedip dan i ditambah satu.
  • Akhirnya pada putaran ke 11 nilai i sudah lebih dari 10, maka program akan keluar dari perulangan dan membaca baris berikutnya yaitu delay(2000);

perhatikan output nya pada video berikut

Jadi untuk menghidupkan 3 lampu secara bergantian dimana setiap lampu berkedip-kedip sebanyak 10 kali, program yang harus kita tulis adalah:

  for(int a=0; a<=10; a++){
    digitalWrite(8,HIGH);
    delay(200);
    digitalWrite(8,LOW);
    delay(200);
  }
  for(int b=0; b<=10; b++){
    digitalWrite(9,HIGH);
    delay(200);
    digitalWrite(9,LOW);
    delay(200);
  }
  for(int c=0; c<=10; c++){
    digitalWrite(10,HIGH);
    delay(200);
    digitalWrite(10,LOW);
    delay(200);
  }

delay(2000);

dan hasilnya akan terlihat seperti ini:

WHILE

Selain menggunakan FOR, kita bisa menggunakan fungsi WHILE untuk melakukan perulangan kondisional.

//WHILE

int a = 0;
while(a<20){
   digitalWrite(8, HIGH);
   delay(200);
   digitalWrite(8, LOW);
   delay(200);
   a++;
}

dan hasilnya sama dengan menggunakan FOR:

Logika IF, ELSE IF dan ELSE

white and green computer parts beside laptop

Program yang telah kita buat sebelumnya akan dibaca dan dilaksanakan oleh Arduino baris perbaris secara berurutan dan ketika program sudah sampai ke baris yang paling bawah maka Arduino akan membaca program dari atas kembali, perhatikan kembali program mengedipkan lampu dibawah ini:

int waktu = 100;
int Pin = 3;

void setup () {
   pinMode(Pin, OUTPUT); 
}

void loop () {
   digitalWrite(Pin, HIGH); 
   delay(waktu); 
   digitalWrite(Pin, LOW);
   delay(waktu);
   waktu=waktu + 50;
}

Pada program diatas digitalWrite(Pin, HIGH) akan pertama kali dibaca oleh Arduino lalu dilanjutkan ke baris berikutnya yakni delay(waktu). Begitu seterusnya sampai baris terakhir, lalu program akan membaca ulang dari atas kembali.

Waktu delay secara otomatis dan bertahap akan bertambah dengan penambahan nilai 50 setiap kali perulangan program yang mengakibatkan lama-kelamaan lampu akan kedipan lampu akan melambat seperti pada video dibawah ini:

Program diatas memiliki 1 kelemahan, yaitu nilai variabel “waktu” akan bertambah terus sampai akhirnya lampu LED tidak berkedip lagi. Pada tulisan ini, kita akan mencoba untuk menambah beberapa baris program agar nilai variabel “waktu” akan kembali ke nilai awal ketika mencapai kondisi tertentu.

Perhatikan program berikut ini:

int waktu = 100;
int Pin = 3;

void setup () {
   pinMode(Pin, OUTPUT); 
}

void loop () {
   digitalWrite(Pin, HIGH); 
   delay(waktu); 
   digitalWrite(Pin, LOW); 
   delay(waktu); 
   waktu=waktu + 50; 

   if(waktu == 1000){
     waktu = 100; 
   }  
}

Penjelasan

Pada baris ke 13, nilai variabel “waktu” saat ini ditambah 50, sehingga setiap kali perulangan nilai “waktu” akan bertambah 50 menjadi 150, 200, 250 dst.

Pada baris ke 15 kita tambahkan fungsi logika IF:

if(waktu == 1000) {
   waktu = 100;
}

fungsi logika diatas bermakna “jika nilai variabel waktu sama dengan 1000, maka nilai variabel waktu kembali ke 100”. Dengan cara ini setiap kali nilai variabel “waktu” yang digunakan oleh delay mencapai nilai 1000, maka pada perulangan berikutnya akan kembali ke nilai 100 sehingga lampu LED berkedip cepat kembali. perhatikan video berikut ini:

Logika IF ini bisa diaplikasikan ke berbagai project seperti mengendalikan output berdasarkan hasil pembacaan sensor. Kita juga dapat membuat beberapa kondisi bertingkat dengan menambahkan ELSE. Sebagai contoh, kita bisa mengendalikan sebuah buah kipas angin dan sebuah AC berdasarkan kondisi suhu yang dirasakan sensor saat ini. perhatikan contoh dibawah ini.

if(suhu>=30){
  hidupkanAC;
  matikanKipas;
}
else {
  hidupkanKipas;
  matikanAC;
}

Jika (if) suhu ruangan lebih besar atau sama dengan 30 derajat celcius, maka hidupkan AC dan matikan kipas angin, jika lain daripada itu (else) hidupkan kipas angin dan matikan AC.

fungsi logika IF juga bisa terdiri dari banyak kondisi, misalnya kita akan mengendalikan kecepatan sebuah kipas angin berdasarkan jumlah orang yang masuk kedalam ruangan. Perhatikan lagi contoh program dibawah ini:

if (orang==1){
   kipasSpeed1;
}
else if (orang <=3) {
   kipasSpeed2;
}
else if (orang > 5) {
   kipasSpeed3;
}
else {
   matikanKipas;
}

Jika orang didalam ruangan berjumlah sama dengan 1 maka hidupkan kipas dengan kecepatan 1, jika orang kurang dari atau sama dengan 3 orang, maka kipas kecepatan 2, jika orang lebih dari 5, maka hidupkan kipas kecepatan 3, selain daripada itu matikan kipas.

Pada program diatas, kita menggunakan operator sama dengan (==), lebih kecil dari atau sama dengan (<=) dan lebih besar dari (>). Lambang lengkap dari operator-operator diatas beserta fungsinya bisa kita lihat pada tabel dibawah ini

OperatorArtiContohHasil
<Kurang dari7 < 8
8 > 7
true
false
>Lebih dari8 > 7
7 > 8
true
false
<=Kurang dari sama dengan8 <= 7
7 <=7
true
true
>=lebih dari sama dengan7 >= 7
8 >= 7
true
true
==Sama dengan8 == 8
8 == 9
True
False
!=tidak sama dengan8 != 8
8 != 9
false
true

Jadi, dengan logika IF, ELSE IF, dan ELSE kita bisa membuat sistem kendali Arduino dengan berbagai kondisi atau syarat sesuai keinginan kita atau sesuai pembacaan sensor.

Demikian tulisan ini, sampai jumpa di materi berikutnya yang akan membahas tentang fungsi perulangan for dan while.

Variabel dan Operator Aritmatika

Variabel dan Operator Aritmatika

Sebelumnya kita telah mengenal apa itu variabel dan cara menggunakannya untuk mengganti nilai delay() seperti pada program dibawah ini:

Pada program diatas, kita hanya butuh mengganti nilai variabel “waktu” dengan nilai angka yang kita ingikan. jika kita tuliskan int waktu = 100; maka secara otomatis nilai “waktu” yang terdapat didalam delay akan berubah menjadi 100 juga.

Selain itu, kita juga dapat memanipulasi data yang ada didalam variabel secara otomatis dengan cara melakukan operasi aritmatika didalam void loop. Perhatikan contoh berikut.

int waktu = 100;
int Pin = 3

void setup () {
   pinMode(Pin, OUTPUT);
}

void loop () {
   digitalWrite(Pin, HIGH);
   delay(waktu);
   digitalWrite(Pin, LOW);
   delay(waktu);
   waktu = waktu + 50;
}

Penjelasan

Pada baris pertama dan kedua kita deklarasikan variabel bernama waktu dan pin, dimana variabel waktu memiliki data angka bernilai 100 dan variabel pin bernilai 3. nilai pada variabel waktu akan kita gunakan sebagai nilai untuk parameter delay dan nilai pada varibel Pin akan kita gunakan untuk mendefinisikan nomor pin.

int waktu = 100;
int Pin = 3

Pada baris ke-5 kita tidak lagi menuliskan pinMode(3, OUTPUT), melainkan pinMode(Pin, OUTPUT). Begitu juga pada garis ke-9 dan 11 tidak lagi dituliskan sebagai digitalWrite(3, HIGH) atau digitalWrite(3, LOW), melainkan digitalWrite(Pin, LOW).

digitalWrite(Pin, HIGH);

Fungsi delay juga sudah menggunakan nilai variabel “waktu” sebagai nilai parameternya sehingga ditulis

delay(waktu);

Berikutnya pada baris ke-13, kita menemukan instruksi

waktu = waktu + 50;

Baris ini bermakna “nilai variabel waktu adalah sama dengan nilai saat ini ditambah 50” sehingga variabel “waktu” akan berubah nilainya secara otomatis dari yang awalnya bernilai 100 menjadi 150 (waktu + 50) dan karena operasi aritmatika digunakan di dalam void loop() maka setiap kali perulangan program terjadi nilai delay() akan bertambah 50, sehingga lama kelamaan LED akan berkedip lebih lambat dari sebelumnya. Perhatikan video berikut:

Selain penjumlahan, kita juga bisa menggunakan operator aritmatika lainnya yaitu:

OperatorLambang
Penjumlahan+
Pengurangan
Perkalian*
Pembagian/
Modulus / Sisa bagi%

Akhirnya, semoga tulisan ini dapat dipahami dan menjadi sumber pengetahuan bagi kita semua. Pada tulisan berikutnya kita akan pengendalian dengan menggunakan logika dan algoritma perulangan dan mengimplementasikannya ke pengendalian LED.

Praktikum 2 – Mengendalikan lebih dari 3 buah LED dengan Arduino

Praktikum 2 – Mengendalikan lebih dari 3 buah LED dengan Arduino

Sebelumnya kalian sudah memperagakan cara mengendalikan 1 sampai 3 buah lampu LED dengan menggunakan Arduino. Kalian sudah mengenal beberapa fungsi dasar pada saaat memprogram Arduino yaitu setup(), loop(), pinMode(), digitalWrite() dan delay(). Selain itu, kalian juga sudah mempelajari bagaimana cara membuat rangkaian elektronik dengan menggunakan Arduino dan kabel jumper.

Pada praktikum kali ini kita akan menjelajahi penggunaan breadboard lebih dalam lagi. Untuk itu, penting bagi kalian untuk membaca tulisan ini dan tulisan sebelumnya tentang Praktikum Arduino – Blink supaya kalian lebih memahami cara kerja Arduino, breadboard dan rangkaian elektronik.

GND

Pada praktikum sebelumnya tentang Blink kalian sudah membuat rangkaian yang terdiri dari arduino dan LED. pada rangkaian itu, kaki LED yang panjang (+) dihubungkan ke salah satu pin pada Arduino dan kaki LED yang pendek dihubungkan ke resistor secara seri lalu dihubungkan lagi ke pin GND pada Arduino seperti pada gambar dibawah ini:

Jika kita ingin mengontrol LED lainnya, kita tinggal menambahkan LED dan menghubungkannya ke pin-pin yang tidak terpakai antara pin 1 sampai 13 dan ke pin GND. Namun demikian, ketika kalian akan menghubungkan lebih dari 3 LED ke Arduino, maka kalian akan menemukan masalah yaitu kurangnya pin GND. Hal ini dikarenakan Arduino hanya memiliki 3 pin GND saja yaitu pada sisi kanan atas bersebelahan dengan pin 13 dan 2 buah lagi berada di barisan power.

Untuk mengatasi hal tersebut diatas, maka kita bisa menggunakan 1 pin GND saja untuk semua sambungan yang memiliki anotasi negatif (-) dengan cara mencabangkan pin GND dengan menggunakan breadboard. perhatikan gambar dibawah ini

Pada gambar diatas, kita cukup menghubungkan satu pin GND ke salah satu titik lubang yang memiliki tanda garis biru (-) dan secara otomatis semua titik yang ada pada barisan tersebut akan menjadi GND.

Rangkaian 5 LED dengan menggunakan Arduino

Setalah memahami cara mencabangkan pin GND agar bisa dipakai bersama-sama oleh banyak komponen, maka sekarang kita sudah bisa membuat rangkaian dengan menggunakan 5 LED dengan menggunakan Arduino.

Peragakanlah rangkaian berikut ini:

Setelah rangkaian selesai dibuat, buka aplikasi Arduino IDE pada komputer atau laptop kalian, lalu programlah Arduino agar bisa menyalakan ke 5 LED secara bergantian dari lampu 1 ke lampu 5. Sebagai referensi, kalian bisa buka kembali tulisan sebelumnya disini : praktikum-arduino-blink

Silahkan diperagakan dan semoga berhasil.

Mengendalikan Motor DC dengan modul L298N dan Arduino

boy in denim jacket holding a toy with electric wires and wheel

Motor DC adalah mesin listrik yang mengubah energi listrik menjadi energi mekanik/gerakan. Motor DC sangat cocok untuk digunakan untuk menggerakkan roda robot. Pada tulisan ini, kita akan mempelajari cara mengendalikan motor DC dengan menggunakan modul L298N dan Arduino.

Pinout Modul L298N

Keterangan Gambar

Motor OutKonektor untuk menghubungkan motor
VCCInput tegangan dari power supply atau baterai
GNDGND
5VInput Logic 5V
ENA & ENBDigunakan untuk mengontrol menghidupkan/mematikan dan mengatur kecepatan motor
IN1 & IN2Kontrol arah putaran motor 1
IN3 & IN4Kontrol arah putaran motor 2

Cara Kerja Modul

INPUT 1INPUT 2Arah Putaran
LOWLOWMati
HIGHLOWMaju
LOWHIGHMundur
HIGHHIGHMati

Gambar Rangkaian

Coding

// Motor A
int enA = 9;
int in1 = 8;
int in2 = 7;
// Motor B
int enB = 3;
int in3 = 5;
int in4 = 4;

void setup() {
	//Semua pin motor sebagai output
	pinMode(enA, OUTPUT);
	pinMode(enB, OUTPUT);
	pinMode(in1, OUTPUT);
	pinMode(in2, OUTPUT);
	pinMode(in3, OUTPUT);
	pinMode(in4, OUTPUT);
	
	// motor dimatikan di awal
	digitalWrite(in1, LOW);
	digitalWrite(in2, LOW);
	digitalWrite(in3, LOW);
	digitalWrite(in4, LOW);
}

void loop() {
	directionControl();
	delay(1000);
	speedControl();
	delay(1000);
}

// fungsi dibawah ini digunakan untuk mengontrol arah putaran motor
void directionControl() {
	// kecepatan maksimum (bisa diatur antara 0-255)
	analogWrite(enA, 255);
	analogWrite(enB, 255);

	// arah maju
	digitalWrite(in1, HIGH);
	digitalWrite(in2, LOW);
	digitalWrite(in3, HIGH);
	digitalWrite(in4, LOW);
	delay(2000);
	
	// arah mundur
	digitalWrite(in1, LOW);
	digitalWrite(in2, HIGH);
	digitalWrite(in3, LOW);
	digitalWrite(in4, HIGH);
	delay(2000);
	
	// motor mati
	digitalWrite(in1, LOW);
	digitalWrite(in2, LOW);
	digitalWrite(in3, LOW);
	digitalWrite(in4, LOW);
}

// fungsi untuk mengatur kecepatan motor
void speedControl() {
	// hidupkan motor
	digitalWrite(in1, LOW);
	digitalWrite(in2, HIGH);
	digitalWrite(in3, LOW);
	digitalWrite(in4, HIGH);
	
	// Perputaran mulai dari lambat ke cepat
	for (int i = 0; i < 256; i++) {
		analogWrite(enA, i);
		analogWrite(enB, i);
		delay(20);
	}
	
	// Perputaran mulai dari cepat ke lambat
	for (int i = 255; i >= 0; --i) {
		analogWrite(enA, i);
		analogWrite(enB, i);
		delay(20);
	}
	
	// Matikan motor
	digitalWrite(in1, LOW);
	digitalWrite(in2, LOW);
	digitalWrite(in3, LOW);
	digitalWrite(in4, LOW);
}
//ulang kembali

Setelah rangkaian dan coding selesai dikerjakan, langkah berikutnya adalah mengupload program yang kita buat tadi lalu menghubungkan rangkaian ke powersupply atau baterai 12 V. Perhatikan gerakan motor dan bandingkan dengan coding yang telah kita buat.

Sekian dan terima kasih.

Praktikum Arduino – Blink

Praktikum Arduino – Blink

Seperti yang kita telah pahami bersama, Arduino adalah sebuah papan mikrokontroler yang dapat digunakan untuk mengendalikan berbagai macam sensor dan komponen elektronik sesuai dengan perintah-perintah yang kita berikan lewat penulisan program.

Pada tulisan ini, kita akan memahami dan memperagakan cara mengendalikan sebuah LED dengan Arduino. Kita akan menyalakan dan mematikan LED tersebut secara otomatis dengan rentang waktu tertentu. Dalam peragaan ini juga kita akan mempelajari cara penulisan program Arduino yang kita kenal sebagai sketch dan pengenalan beberapa fungsi-fungsi yang sering digunakan dalam pemrograman. kamu juga dapat menonton video dibawah ini untuk mempermudah pembelajaran secara visual.

Sebelum kita masuk ke bagian utama dari peragaan ini, kita membutuhkan beberapa alat dan bahan, yaitu:

Arduino UNO1 buah
Breadboard1 buah
LED (Light Emitting Diode)1 buah
Resistor 220 Ohm1 buah
Kabel JumperSecukupnya
Kabel USB1 buah
Laptop / PC1 buah

Cara Menggunakan Breadboard

Breadboard disebut juga sebagai papan uji coba elektronik. papan ini digunakan untuk mempermudah kita menguji sebuah rangkaian elektronik tanpa harus melakukan proses soldering. Selain itu, penggunaan breadboard juga memungkinkan kita untuk melakukan penggantian maupun penambahan komponen dengan mudah.

Kalau kita perhatikan gambar diatas, sebuah breadboard terdiri dari lubang-lubang kecil yang tersusun rapi dan memiliki 4 kelompok berbeda. 2 kelompok yang berada di sisi breadboard disebut dengan Power Rails, dan 2 kelompok yang ada dibagian tengah disebut dengan DIP support.

Power Rails berfungsi sebagai penghubung sumber tenaga listrik. Lubang-lubang pada power rail ini terhubung satu sama lain secara horizontal. perhatikan gambar berikut:

Setiap titik kuning pada gambar diatas menandakan bahwa titik-titik tersebut terhubung satu sama lainnya.

Gambar rangkaian dengan dan tanpa breadboard

Gambar diatas adalah gambar rangkaian antara Arduino, LED dan Resistor tanpa menggunakan breadboard. Sedangkan gambar dibawah ini adalah gambar skema rangkaian dengan menggunakan breadboard. Perhatikan kembali jalur-jalur yang terdapat pada breadboard

Praktikum Arduino – Blink

Untuk memprogram sebuah Arduino, dibutuhkan sebuah aplikasi yang bernama Arduino IDE. Aplikasi ini harus terinstal di laptop atau PC sebelum kita melakukan coding. Arduino IDE dapat di download lewat link https://www.arduino.cc/en/software.

Setelah Arduino IDE berhasil di download dan sudah terinstal, maka kita bisa langsung melakukan coding Arduino.

setup() dan loop()

langkah berikutnya, kita akan melakukan penulisan perintah-perintah agar Arduino bisa melakukan tugasnya sesuai dengan yang kita inginkan (coding). Untuk melakukannya, pertama-tama kita buka aplikasi Arduino IDE yang sudah kita instal sebelumya. Aplikasi Arduino IDE yang sudah terbuka akan terlihat seperti gambar dibawah ini:

Pada lembar kerja terlihat dua baris fungsi yaitu void setup() dan void loop(). Kedua fungsi tersebut merupakan fungsi dasar yang harus ada setiap kali kita memprogram Arduino. Jika salah satu atau kedua fungsi tersebut tidak ada atau hilang, maka kita akan mengalami error ketika akan mengupload program ke Arduino.

void setup() adalah fungsi yang perintah-perintah didalamnya hanya di eksekusi atau dijalankan sekali saja oleh Arduino yaitu saat Arduino dihidupkan atau di restart. Karena hanya akan dijalankan sekali saja, perintah-perintah yang ditulis didalamnya biasanya berisi perintah-perintah yang berupa pengaturan dasar misalnya penentuan mode pin sebagai input / output, mengaktifkan komunikasi serial, mengaktifkan sensor, display dsb.

void loop() adalah fungsi yang perintah-perintah didalamnya akan dijalankan berulang-ulang selama Arduino aktif dan hanya akan berhenti jika Arduino diaktifkan atau di restart. semua perintah dalam void loop() akan dieksekusi secara berurutan mulai dari perintah yang paling atas sampai kebawah. Setalah semua perintah di laksanakan, Arduino akan mengulang lagi perintah yang diberikan dari atas dan seterusnya sampai arduio di matikan atau di reset.

Blink

Setelah memahami kedua fungsi diatas, langkah berikutnya kita akan menuliskan perintah-perintah program dengan mengetikkan program dibawah ini langsung ke Arduino IDE:

Perhatikan kembali program yang telah ditulis, pastikan tidak ada error atau kesalahan misalnya kesalahan tulisan, huruf besar/kecil, titik koma, tanda kurung buka dan tutup dll secara manual. Setelah itu, klik tombol centang untuk memeriksa error secara otomatis. Jika tidak terdapat error maka lanjutkan ke proses upload dengan menekan tombol upload (tombol dengan tanda panah), pastikan Arduino sudah dihubungkan ke laptop atau PC dan juga sudah memilih jenis board dan port dengan benar pada aplikasi Arduino IDE lalu tunggu sampai selesai.

Penjelasan Program

Selain setup() dan loop(), pada penulisan program kita menemukan beberapa fungsi lainnya yaitu pinMode, digitalWrite dan delay yang masing-masing memiliki kegunaan yang berbeda-beda. Dibawah ini, kita akan membahas fungsi-fungsi tersebut satu persatu dengan lengkap agar dapat diaplikasikan kembali pada pemrograman berikutnya.

pinMode()

Deskripsi

pinMode berfungsi untuk mengkonfigurasikan atau mengaktifkan pin sebagai output ataupun input.

Syntax

pinMode(pin, mode);

Parameter
pinnomor pin pada Arduino, atau variabel yang berisi nomor pin
modemode pengaturan pin : OUTPUT, INPUT, INPUT_PULLUP
Contoh Penggunaan
pinMode(4, INPUT);Mengaktifkan pin 4 sebagai input (biasanya digunakan untuk membaca sensor)
pinMode(4, OUTPUT);Mengaktifkan pin 4 sebagai output
int ledPin = 4;
pinMode(ledPin, OUTPUT);
Mengaktifkan ledPin (pin 4) sebagai output)
pinMode(4, INPUT_PULLUP);mengaktifkan 4 sebagai input dengan pull up resistor internal

digitalWrite()

Deskripsi

Memberi nilai berupa HIGH atau LOW pada pin digital. Pin yang diberi nilai sebelumnya harus telah diaktifkan sebagai OUTPUT dengan pinMode. Nilai HIGH dan LOW bisa disamakan artinya dengan “on” dan “off”, “1” atau “0”, “hidup” dan “mati”.

Syntax

digitalWrite(pin, value);

Parameter
pinnomor pin pada Arduino, atau variabel yang berisi nomor pin
valueHIGH untuk membuat pin menjadi “on”
LOW untuk membuat pin menjadi “off”
Contoh Penggunaan
digitalWrite(4, HIGH);Perintah pin 4 “on”
digitalWrite(4,LOW);Perintah pin 4 “off”
int ledPin = 4;
digitalWrite (ledPin, HIGH);
perintah variabel ledPin (pin 4) “on”

Delay

Deskripsi

Menghentikan program sementara selama x milidetik (ms)

Syntax

delay(ms)

Parameter
msDiisi dengan nilai waktu dalam milidetik, misalnya 1000 = 1 detik, 500 = 1/2 detik, 2000 = 2 detik
Contoh Penggunaan
delay(1000);menghentikan pembacaan program selama 1 detik
delay(500);menghentikan pembacaan program selama 1/2 detik

Membaca intensitas cahaya dengan menggunakan LDR

Membaca intensitas cahaya dengan menggunakan LDR

LDR (Light Dependent Resistor) adalah sejenis resistor variabel yang nilai hambatannya berubah-ubah sesuai intensitas atau tingkat kecerahan cahaya. Ketika cahaya mengenai permukaan LDR, maka konduktivitas atau kekuatan hantaran listrik pada bahan LDR akan meningkat. Begitu pula sebaliknya, kemampuan menghantarkan listrik akan menurun apabila LDR tidak terpapar cahaya.

berdasarkan sifatnya ini, kita bisa menggunakannya sebagai sensor peka cahaya yang bisa dimanfaatkan untuk berbagai inovasi elektronik misalnya lampu jalan otomatis atau jendela otomatis.

Penggunaan LDR sebagai sensor dengan Arduino

LDR merupakan komponen analog, karena LDR menaikkan dan menurunkan daya hantar listrik dengan cara merubah nilai hambatan karena perubahan cahaya. Oleh karena itu, LDR akan dihubungkan ke pin Analog input pada Arduino. Perhatikan rangkaian berikut ini:

Setelah rangkaian selesai dibuat, buka software Arduino IDE dan ketikkan program dibawah ini:

int sensorPin = A0; 

int sensorValue = 0;
void setup() {
Serial.begin(9600); 
}
void loop() {
sensorValue = analogRead(sensorPin); 
Serial.println(sensorValue); 

delay(100);

}

Setelah itu, hubungkan Arduino ke komputer atau laptop kamu dan upload program yang telah ditulis tadi. Berikutnya, perhatikan hasil output lewat serial monitor sambil perlahan-lahan menutupi LDR yang terpapar cahaya dengan menggunaan tangan atau benda lainnya.

Proyek membuat lampu otomatis dengan LDR

Setelah kita memperhatikan dan memahami cara kerja LDR, berikutnya kita akan menggunakan sifat-sifat LDR ini untuk mengontrol lampu agar hidup dan mati sesuai dengan intensitas cahaya yang diterima nya. Perhatikan gambar dan kode dibawah ini:

int sensorPin = A0; //pin analog yang digunakan untuk membaca LDR
int ledPin = 7; //pin LED

int nilaiSensor = 0; //nilai awal sensor LDR

void setup() {
pinMode(ledPin,OUTPUT); //mengaktifkan pin "ledPin" sebagai output
Serial.begin(9600); //mengaktifkan serial monitor untuk membaca nilai dari sensor
}

void loop() {
nilaiSensor = analogRead(sensorPin); //membaca nilai yang dihasilkan oleh sensor
Serial.println(nilaiSensor); //menampilkan hasil pembacaan nilai sensor ke serial monitor
  if(nilaiSensor < 600){ //jika nilai sensor mencapai kurang dari 600, maka.....
    digitalWrite(ledPin,HIGH); //lampu akan dihidupkan
  }
    else{ //jika tidak.....
      digitalWrite(ledPin,LOW); //maka lampu akan dimatikan
    }
      
delay(100);

}

Program diatas sudah dilengkapi dengan penjelasan di tiap baris nya, silahkan dipahami dan diperagakan sesuai dengan hasil pengamatan yang telah dilakukan.

Demikian tulisan ini, semoga bermanfaat, selamat bereksperimen.

Arduino

Arduino

Arduino adalah platform mikrokontroler open-source populer yang biasa digunakan untuk membuat perangkat elektronik interaktif. Arduino merupakan platform elektronik yang sangat serbaguna dan dapat digunakan untuk berbagai proyek, mulai dari yang sederhana seperti menyalakan lampu hingga proyek yang lebih kompleks misalnya robot dan mesin-mesin otomatis.

Arduino terdiri dari dua bagian utama yaitu perangkat keras Arduino yang berupa papan sirkuit elektronik dan perangkat lunak Arduino yang digunakan untuk membuat instruksi atau program. Perangkat keras Arduino terdiri dari mikrokontroler, konektor-konektor berupa pin, port USB dan soket power supply. Sedangkan perangkat lunak nya adalah Arduino IDE (Integrated Development Environment) yang digunakan untuk menulis program untuk Arduino.

Pembuatan proyek elektronik dengan Arduino secara garis besar terdiri dari 2 proses utama yaitu:

1. Perakitan komponen dan modul elektronik seperti sensor-sensor, motor dan komponen lainnya yang dihubungkan dengan Arduino

2. Pemrograman, yaitu menuliskan instruksi atau langkah-langkah tugas yang akan dikerjakan oleh arduino dengan menggunakan bahasa pemrograman komputer.

Sebelum kita masuk ke dua proses diatas, kita perlu mengenal Arduino lebih dalam lagi agar nantinya mudah untuk mengaplikasikannya.

Bagian-Bagian Utama Arduino

Ada banyak jenis atau tipe Arduino yang beredar saat ini, dimana setiap jenis tersebut memiliki fitur yang berbeda-beda. Dalam pembelajaran ini kita akan menggunakan Arduino Uno sebagai perangkat utama. Arduino Uno terdiri dari beberapa komponen pokok yaitu:

Mikrokontroler

Mikrokontroler adalah sebuah chip komputer sederhana yang merupakan otak dari sebuah Arduino. Mikrokontroler ini bertugas untuk melakukan pemrosesan data input dari sensor atau komponen lainnya, melakukan kalkulasi dan komputasi lalu menampilkan hasilnya lewat output. Arduino Uno menggunakan chip ATMega 328p sebagai CPU.

Pin Digital

Pin Digital pada Arduino berfungsi sebagai GPIO (General Purpose Input Output) atau disebut juga pin input dan output serbaguna. Pin Digital ini dapat digunakan untuk membaca nilai-nilai hasil pembacaan input dari sensor dan juga dapat digunakan untuk melakukan kontrol pada output

Pin Analog Input (Analog In)

Pin analog input memiliki kemampuan membaca input dari sensor-sensor analog yang bekerja dengan cara merubah tegangan listrik. Misalnya, potensiometer, LDR dll.

Power Pin

Power pin berfungsi untuk memberikan daya listrik untuk menyalakan sensor-sensor yang terhubung dengan Arduino. power pin ini menyediakan tegangan kerja sebesar 5 volt dan 3.3 volt yang cukup untuk menghidupkan beberapa jenis sensor dan lampu LED.

Soket USB

Supaya Arduino dapat bekerja dengan baik, maka Arduino harus di program dahulu dengan menggunakan Arduino IDE. Pemrograman dilakukan dengan menggunakan komputer atau laptop yang sudah terinstal Arduino IDE sebelumnya. Setelah program berhasil dibuat, maka program harus di unggah kedalam mesin Arduino dengan cara menghubungkan Arduino dengan komputer lewat kabel USB. Soket USB pada Arduino digunakan untuk menghubungkan Arduino dengan komputer agar dapat di program.

Soket Power Supply

Terakhir, Arduino membutuhkan daya listrik untuk dapat bekerja dengan baik terutama jika sudah berbentuk proyek yang telah jadi. Untuk itu, arduino juga memiliki soket power supply sebagai tempat masuknya daya listrik dari adaptor maupun baterai. Soket power supply ini bekerja pada tegangan antara 5 – 12 Volt dan direkomendasikan untuk menggunakan tegangan antara 5-9 volt saja untuk memperpanjang masa pakainya.

Demikian materi kita kali ini, pada materi berikutnya kita akan membahas seluk beluk software atau aplikasi yang digunakan untuk memprogram Arduino yaitu, Arduino IDE.

Sekian dari saya, terima kasih.