Category Archives: Mikrokontroller Arduino

  • 0
Description

17. Pembelajaran tentang SD card di Arduino

17. Pembelajaran tentang SD card di Arduino

Materi:

Bab ini menjelaskan penggunaan SD card dari hal yang mendasar, seperti cara menghubungkan modul SD card ke Arduino, cara membaca dan menulis data dari atau ke SD card hingga ke aplikasi untuk menyimpan data suhu di SD card.

17.1 Penyiapan SD Card

SD card berguna untuk menyimpan data, misalnya informasi mengenai suhu yang dilengkapi dengan data jam. Data seperti itu dapat disimpan dalam bentuk file. Contoh SD card ditunjukkan di Gambar 17.1.

Gambar 17.1 Contoh SD card

Kapasitas SD card beraneka ukuran dan umumnya sudah dalam keadaan terformat ketika dibeli. Contoh ditunjukkan di Gambar 17.1. Jika belum diformat, pemformatan dapat dilakukan dengan mudah karena sistem operasi seperti Wind0ws dilengkapi dengan software untuk memformatnya (Gambar 17.2). Format yang digunakan dapat berupa FAT (FAT16) atau FAT32. Format FAT digunakan untuk yang berukuran 26B, sedangkan FAT32 untuk ukuran yang lebih besar.

Gambar 17.2 Pemformatan SD card di Wind0ws

17.2 Modul SD Card

Supaya Arduino dapat membaca SD card, modul SD card (SD card shield) perlu disiapkan. Contoh modul SD card diperlihatkan di Gambar 17.3. Modul ini menggunakan Serial Peripheral Interface (SPI) untuk berkomunikasi dengan Arduino. Oleh karena itu, modul ini mempunyai pin-PIN_berikut:

  • MOSI (master output, slave input),
  • MISO (master input, slave output),
  • SCK (serial clock), dan
  • CS (chip select).

Gambar 17.3 Modul SD card

Gambar 17.4 Rangkaian yang menghubungkan Arduino dengan modul SD card

17-3 Pustaka SD

Untuk mengakses SD card, baik untuk kepentingan membaca maupun menulis, pustaka SD dapat dimanfaatkan. Pustaka ini didasarkan pada sdfatlib yang dibuat oleh William Greiman. Nama file yang digunakan menggunakan pola 8.3, dengan nama depan bisa mencapai 8 karakter dan nama ekstensi hingga 3 karakter.

Pustaka SD sudah tersedia di Arduino IDE. Dengan demikian, Anda tidak perlu mengunduh dan menginstalnya.

Untuk kepentingan mengakses file dan direktori di SD card, sejumlah fungsi telah disediakan. Fungsi-fungsi dapat dilihat di Tabel 17.1. Adapun fungsi-fungsi yang berhubungan dengan pengaksesan data akan dibahas secara tersendiri.

Tabel 17.1 Fungsi-fungsi yang berhubungon dengan file dan direktori

Fungsi Keterangan
SD.begin()

SD.begin(pin_CS)

Untuk menginisialisasi pustaka SD dan SD card. Sebuah argumen yang menyatakan PIN_CS boleh disertakan sekiranya PIN_yang digunakan bukanlah PIN_10. Nilai batik berupa true kalau inisialisasi berhasil dilaksanakan atau false untuk keadaan sebaliknya
SD.exists(nama_file) Untuk memeriksa keberadaan suatu file. Nilai balik berupa true kalau file atau direktori yang disebutkan di argumen ada atau false kalau tidak ada
SD.mkdir(nama_file) Untuk membuat direktori. Nilai balik berupa true kalau direktori yang disebutkan di argumen berhasil diciptakan atau false kalau tidak
SD.remove(nama_file) Untuk menghapus file. Nilai balik berupa true kalau file yang disebutkan di argumen berhasil dihapus atau false kalau tidak
SD.rmdir(nama_file) Untuk menghapus direktori. Nilai balik berupa true kalau direktori yang disebutkan di argumen berhasil dihapus atau false kalau tidak. Direktori yang akan dihapus harus dalam keadaan kosong

Setelah Arduino dihubungkan ke modul SD card dan SD card telah dimasukkan ke pembaca kartu, sketch berikut dapat digunakan untuk mengujinya:

Sketch: tessd

// ——————————————–

// Contoh untuk menguji SD card

// ——————————————–

#include <SD.h>

const int PIN_CS=10;

boolean SD ok;

void setup()

{

Serial.begin(9600);

pinMode(PIN_CS, OUTPUT);

SD ok = SD.begin(PIN_CS); if (SD ok)

Serial.println(“SD card OK!”);

else

Serial.println(“Problem di SD card!”);

}

void loop()

{

}

Prinsip kode yang mendasari penyajian isifi/e tes . txt di depan adalah seperti berikut. Pertama-tama, baris

#include<SD.h>

diperlukan untuk menyertakan pustaka SD. Selanjutnya,

pinMode (PIN_CS, OUTPUT) ;

digunakan untuk menentukan PIN_di Arduino yang dihubungkan ke PIN_CS sebagai keluaran.

PengujianSD card ditangani di setup ( ) . Kode yang digunakan:

SD ok SD. begin (PIN_CS) ;

if (SD ok)

Serial.print In (“SD card OK!) ;

else

Serial.print In (“Problem di SD card!);

Tampak bahwa begin ( ) yang dipakai untuk mengetahui SD card bisa diakses atau tidak. Jika begin () memberikan nilai balik berupa true (disimpan di variabel global Sd ok), akan diperoleh hasil seperti berikut:

Jika niiai balik begin ( ) berupa false, nilai balik berupa seperti berikut:

Gambar 17.6 Hasil kalau SD card tidak dikenali

17.4 Penyajian Isi File

Untuk kepentingan latihan ini, sebuah file teks perlu disiapkan. Dengan menggunakan editor teks seperti Description Notepad, buatlah file bernama tes . txt di root milik SD card. Isinya seperti berikut:

Selanjutnya, siapkan rangkaian seperti terlihat di Gambar 17.3. Lalu, sisipkan SD card ke modul SD card dan unggahkan berikut:

Sketch: tessd

// ——————————————–

// Contoh untuk membacaisi file tes.txt

// yang berada dí SD card

// ——————————————–

#include <SD.h>

const int PIN_CS=10;

boolean SD_ok;

void setup()

{

Serial.begin(9600); pinMode (PIN_CS, OUTPUT);

SD_ok = SD.begin(PIN_CS);

if (SD ok)

Serial.print1n(“SD card OK!”);

else

Serial.print1n (“Problem di SD card!”);

}

void loop()

{

if (!SD_ok)

return; // Abaikan perintah-perintah di bawah

// Baca isi file tes.txt

File fileTes = SD.open(“tes.txt”, FILE_READ);

if (fileTes)

{

Serial.print1n(“Pembacaan data di file tes.txt”); while (fileTes.available())

{

char kar= fileTes.read();

Serial.print(kar);

}

Serial.println();

Serial.println();

}

else

{

Serial.println(“File tes.txt tidak dapat dibuka!”);

}

delay(5000); // Tunda untuk pengulangan berikutnya

}

Jika Serial Monitor diaktifkan, akan diperoleh hasil seperti berikut:

Gambar 17.7 Hasil pembacaan file tes.txt

perhatikan bahwa kode di sketch bacasd adalah hasil pengembangan dari sketch tessd. Tambahan yang dilakukan adalah:

  • pernyataan berikut digunakan untuk mendeklarasikan objek fileTes yang berkelas File:

File fileTes = SD.open ( “tes . txt” , FILE_READ) ;

Objek fileTes digunakan untuk mengakses file tes.txt yang hanya ditujukan untuk dibaca saja (akses FILE READ). Setelah file dibuka melalui fungsi anggota open ( ) , seluruh operasi pada file tersebut dilaksanakan melalui fileTes.

  • Pernyataan

if (fileTes)

{

}

akan membuat semua pernyataan yang berada di dalam { } akan dijalankan hanya kalau operasi pembukaan file berhasil dilakukan.

  • Pembacaan isi file tes . txt ditangani oleh:

while (fileTes . available ( ) )

{

char kar fileTes . read() ;

Serial . print (kar) ;

}

Penyataan while membuat yang berada di {} akan dijalakan terus-menerus sela masih berada data di file yang belum dibaca.

  • Pembacaan sebuah byte di file dilakukan melalui:

char kar = fileTes . read() ;

Dalam hal ini, hasil pembacaan read ( ) diberikan ke kar.

  • Pernyataan berikut mengirimkan isi kar ke port serial:

Serial . print (kar) ;

17.5 Penulisan Data ke SD Card

Description Data yang dikirimkan ke SD card biasanya menggunakan format CSV (Comma-separated value). File CSV mudah untuk dibaca oleh program-program di PC, termasuk Excel. Pada format seperti itu, setiap nilai dipisahkan dengan koma dan setiap record dipisahkan oleh baris. Hal yang perlu diperhatikan, mengingat antardata dipisahkan oleh koma, maka data tidak boleh mengandung koma. Contoh isifi/e CSV adalah seperti berikut:

Pada contoh di atas, setiap record mengandung dua field, yang secara berturutan menyatakan nomor pegawai dan nama pegawai.

Sketch berikut memperlihatkan contoh untuk membentuk file bernama list . csv untuk menyimpan data pegawai di depan:

Sketch: simlist

// ——————————————–

// Contoh untuk menyimpan data dalam

// format CSV

// ——————————————–

#include <SD.h>

const int PIN_CS=10;

char NAMAFILE[] = “list.csv”;

void setup()

{

Serial.begin(9600);

pinMode(PIN_CS, OUTPUT);

if (!SD.begin(PIN_CS))

{

Serial.println(“Problem di SD card!”);

return;

}

// Hapus file kalau ada

if (SD.exists(NAMAFILE))

SD.remove(NAMAFILE);

// Simpan ke file list.csv

// 1. Buka file untuk penyimpanan data

File fileCSV = SD.open (NAMAFILE, FILE_WRITE) ;

if (!fileCSV)

{

Serial.println(“Tak dapat membuka file!”);

return; // Akhiri setup()

}

// 2. Tulis data ke SD card

char formatStr[] = “%5d,%-35s\n”;

char data[255];

sprintf(data, formatStr, 32071, “Anna Karenina”); fileCSV.print(data);

sprintf(data, formatStr, 32072, “Saad Abdillah”); fileCSV.print(data);

sprintf(data, formatStr, 32073, “Fahmi Muadz”); fileCSV.print(data);

sprintf(data, formatStr, 32074, “Dani Irianto”); fileCSV.print(data);

// 3. Tutup file supaya data benar-benar disimpan filecsV.close();

Serial.println(“Data sudah disimpan!”);

}

void loop()

{

}

Pada sketch di atas, pernyataan

if (SD.exists (NAMAFILE) )

SD.remove (NAMAFILE) ;

digunakan untuk menghapus file yang namanya sesuai dengan nilai NAMAFILE sekiranya file tersebut sudah ada.

pernyataan untuk membuka file “list.csv” dilakukan melalui kode:

File fileCSV = SD. open (NAMAFILE, FILE WRITE) ;

Argumen FILE WRITE mengisyaratkan bahwa akses pada file berupa penulisan data. Sama seperti pada contoh sebelum ini, FILE fileCSV menyatakan penciptaan objek berkelas File. Dalam hal akses file dilaksanakan dengan menggunakan objek fileCSV.

Pernyataan

char formatStr[] = “%5d,%-35s\n”;

digunakan untuk membentuk string berdasarkan dua data dengan antardata dipisahkan oleh koma. Dalam hal ini, %5d menyatakan tempat berukuran 5 karakter dan dipakai untuk menempatkan bilangan bulat (dinyatakan dengan simbol d). Setelah bilangan bulat diletakkan, tanda koma akan diberikan, dan diikuti dengan penempatan string (dinyatakan simbol %-35s), serta diakhiri dengan karakter newline (pindah baris). Angka 35 menyatakan lebar ruang yang disediakan untuk string. Tanda — menyatakan bahwa string akan diatur rapat ke kiri dalam ruang 35 karakter tersebut. Adapun pernyataan

char data [255] ;

dipakai untuk menciptakan string berakhiran NULL dengan panjang karakter maksimal adalah 254 karakter.

Selanjutnya, formatStr dan data digunakan pada pernyataan

sprint f (data, format St r, 32071, “Anna Karenina”) ,

Pernyataan tersebutlah yang merangkaikan data 32071 dan “Anna Karenina” menjadi sebuah string yang mengikuti format di formatStr dan hasilnya diletakkan ke data. Data dalam data inilah yang disimpan ke file melalui:

fileCSV.print (data) ;

Perlu diketahui, tiga data lain disimpan ke file dengan cara serupa di atas.

Hal terpenting yang perlu dilakukan ketika semua data telah dituliskan ke file, file perlu ditutup. Perintah penutupan file di sketch dilakukan melalui:

fileCSV.c10se ;

Dengan melakukan pemanggilan close ( ) , semua data yang telah dikirim ke SD card melalui print akan benar-benar tersimpan setelah close ( ) dieksekusi.

Hasil akhir setelah sketch dipunggahkan ke papan Arduino diperlihatkan di Gambar 17.8.

Gambar 17.8 Informasi penyimpanan file berformat CSV

Arduino akan menciptakan file dengan seluruh huruf pada nama file akan diubah menjadi huruf kapital. Oleh karena itu, jangan heran jika nama file di sketch berupa list.csv, akan tetapi nama di SD card berupa LIST.CSV.

Description

setelah itu, Anda bisa memeriksa isi file LIST.CSV yang terdapat di SD card dengan menggunakan PC. Isinya akan berupa:

17.6 Pembacaan File CSV

Di depan telah dijelaskan cara untuk membaca file berformat CSV. File tersebut dapat dibaca melalui sketch. Contohnya dapat dilihat berikut ini,

Sketch: bacalist

// ——————————————–

// format CSV Contoh untuk membaca data dalam

// format CSV

// ——————————————–

#include <SD.h>

const int PIN_CS=10;

char NAMAFILE[]= “list.csv”;

void setup()

{

Serial.begin(9600);

pinMode (PIN_CS, OUTPUT);

if (!SD.begin (PIN_CS))

{

Serial.print1n(“Problem di SD card!”);

return;

}

void loop()

{

char buffer[43];

File fileCSV = SD.open (NAMAFILE,FILE_READ); if (!fileCSV)

{

Serial.println(“Tak dapat membuka file!”);

return;

}

while (filecsv.available())

{

int jumByte = filecsv.readBytesUntil(13,buffer,42);

if (jumByte < 42)

break;

buffer[jumByte]=0;// Karakter NULL

// Tampilkan utuh

Serial.print(buffer);

// Pecah menjadi dua data

char nip[6];

char nama[36];

strncpy(nip, buffer, 5);

nip[5]=0; // Karakter NULL

strncpy(nama, buffer + 6, 35);

nama[36]=0; // Karakter NULL

Serial.println(nip);

Serial.println(nama);

}

Serial.println (“——————————–“);

delay(5000);

}

Untuk kepentingan membaca isi file LIST.CSV di SD card, sebuah array bernama buffer disiapkan. Array tersebut dideklarasikan sebagai:

char buffer [43] ;

Array tersebut digunakan untuk menampung data satu baris di file LIST.CSV untuk setiap saat. Jumlah data dalam satu baris adalah 42 karakter. Satu byte tambahan (sehingga totalnya adalah 43 byte) digunakan untuk meletakkan karakter NULL supaya terbentuk suatu string berakhiran karakter NULL.

Pembacaan seluruh baris di file ditangani oleh:

while (fileCSV. available ( ) )\

{

}

Pemanggilan fileCSV.avai1able ( ) memberikan nilai balik true sekiranya masih ada data di file yang belum terbaca. Pembacaan satu baris dilaksanakan melalui:

int jumByte fileCSV. readBytesUntiI (13, buffer, 42) ;

Angka 13 menyatakan karakter yang menandai akhir pembacaan data, sedangkan 42 menyatakan jumlah maksimal byte yang dibaca oleh fungsi anggota readBytesUnti1 ( ) milik objek fileCSV. Fungsi ini memberikan nilai balik berupa jumlah byte yang dibaca dan nilai baliknya disimpan di variabel jumByte.

pernyataan

if (jumByte < 42) break;

dimaksudkan untuk mengakhiri while sekiranya jumlah data terbaca kurang dari 42 byte. Adapun pernyataan

buffer [jumByte]=0;

digunakan untuk membuat data di buffer sebagai string, dengan cara memberikan karakter NULL di bagian akhir.

String yang terdapat di buffer dipecah menjadi data NIP dan nama pegawai melalui:

char nip [6] ;

char nama [36] ;

strncpy (nip, buffer, 5) ;

nip [5] O; // Karakter NULL

strncpy (nama, buffer + 6, 35) ;

nama [36] 0; // Karakter NULL

Dalam hal ini, fungsi strncpy() digunakan untuk menyalin n karakter pertama yang ada di buffer.

Sebagai contoh:

strncpy (nip, buffer, 5) ;

akan menyalin 5 karakter pertama di buffer ke nip. Untuk membuat nip berisi string yang berisi 5 karakter, pernyataan berikut perlu diberikan:

nip [5] o;

Adapun

strncpy (nama, buffer + 6, 35) ;

digunakan untuk menyalin 35 karakter pada buffer dimulai indeks sama dengan 6 (yaitu awal nama pegawai di buffer). Sapa seperti pada nip,

nama [36] o;

dipakai untuk menambahkan pengakhir string (berupa karakter NULL).

Setelah itu, data NIP dan nama pegawai dapat dikirim ke port serial. Perintahnya berupa:

Serial . printin (nip) ;

Serial . printin (nama) ;

Hasil sketch bacalist dapat dilihat di Gambar 17.9.

Gambar 17.9 Isi file LIST.CSV dibaca melalui sketch bacalist

17.7 Penyimpanan Data Suhu

Dasar tentang penyimpanan data ke SD card telah dijelaskan. Oleh karena itu, sekarang saatnya untuk membahas aplikasi yang mengombinasikan SD card dengan peranti lain, yaitu pengukur suhu dan modul Rea/ Time Clock. Dengan begitu, data suhu yang dilengkapi waktu saat suhu terukur dapat disimpan ke SD card. Rangkaian yang diperlukan diperlihatkan di Gambar 17.10. Contoh perwujudan diperlihatkan di Gambar 17.11.

Gambar 17.10 Rangkaian percobaan untuk menyimpan data suhu

Gambar 17.11 Contoh implementasi untuk menyimpan data suhu

Sketch yang diperlukan untuk menguji rangkaian di Gambar 17.10 seperti berikut :

Sketch: simsuhu

// ——————————————–

// Contoh untuk menyimpan data suhu

// ke SD card

// ——————————————–

#include <SD.h>

#include <Wire.h>

#include <Time.h>

#include <TimeAlarms.h>

#include <DS1307RTC.h>

const int PIN CS=10;

const int PIN_A0=0;

char NAMAFILE[] = “suhu.csv”;

void setup()

{

Serial.begin(9600);

pinMode(PIN CS, OUTPUT) ;

if (!SD.begin(PIN_CS))

{

Serial.println(“Problem di SD card!”);

return;

}

// Set Timer per dua detik

Alarm.timerRepeat(8, simpan_suhu);

Serial.println(“Siap menyimpan data suhu!”);

}

Void loop ()

{

Alarm.delay(1000);

}

void simpan_suhu()

{

// Baca RTC

tmElements_t tm;

// Baca data di RTC

char waktu[20];

if (RTC.read(tm))

{

sprintf(waktu, “%02d/응02d/응04d 응02d: 응02d: 응02d”,

tm.Day, tm.Month, tmYearToCalendar (tm.Year),

tm.Hour, tm.Minute, tm.Second);

Serial.print(waktu);

}

else

return;

// Baca nilai di pin analog 0 int nilaiPin = analogRead(PIN_A0);

// Hitung suhu

float suhu = 0.49 * nilaiPin;

Serial.print(“”);

Serial.println(suhu);

// Simpan ke file

// 1. Buka file untuk penyimpanan data

File fileSuhu = SD.open(NAMAFILE, FILE_WRITE);

if (!fileSuhu)

{

Serial.println(“Tak dapat membuka file!”);

return;

}

// 2. Tulis data ke SD card

fileSuhu.print(waktu);

fileSuhu.print(“,”);

fileSuhu.println(suhu);

// 3. Tutup file supaya data benar-benar disimpan

fileSuhu.close();

}

 

pada sketch di atas, nama file untuk menyimpan data suhu didefinisikan oleh kode:

char NAMAFILE[ ]=”suhu . csv” ;

SD card diinisialisasi melalui:

if ( ! SD. begin (PIN_CS))

{

Serial . print In (“Problem di SD card! “)

return;

}

penyimpanan data suhu ditangani dengan memanfaatkan pustaka TimeA1arms, yang telah dibahas di Bab 18. Pernyataan yang digunakan untuk kepentingan ini adalah

Alarm. timerRepeat (8, s impan suhu) ;

Pernyataan di atas akan membuat fungsi s impan suhu ( ) dijalankan secara periodis per 8 detik.

Hal pertama yang dilakukan di fungsi s impan suhu ( ) adalah mendeklarasikan variabet tm yang berstruktur tmE1ements. Struktur ini didefinisikan oleh pustaka Time. Variabel tm ini digunakan sebagai argumen saat pemanggilan RTC . read ( ) untuk mendapatkan waktu di modul Real Time Clock. Penyusunan string yang berisi waktu ditangani oleh kode:

{

sprintf(waktu, “%02d/응02d/응04d 응02d: 응02d: 응02d”,

tm.Day, tm.Month, tmYearToCalendar (tm.Year),

tm.Hour, tm.Minute, tm.Second);

Serial.print(waktu);

}

Dalam hal ini, waktu dideklarasikan seperti berikut:

char waktu [20];

Dengan cara seperti itu akan diperoleh string yang berisi data tahun dan jam di waktu.

Pembacaan data suhu dilakukan melalui:

int nilai PinanalogRead (PIN A0) ;

Data suhu dibaca melalui pin PIN A0 (pin analog 0). Selanjutnya, nilai yang diperoleh dikonversi ke suhu dalam satuan Celcius melalui:

float suhu=0.49 * nilai Pin;

Setelah data waktu dan suhu diperoleh, kedua data tersebut disimpan ke SD card melalui:

Pertama-tama,fi/e dibuka melalui:

File fileSuhu= SD.open (NAMAFILE, FILE WRITE) ;

Jika tidak ada masalah, data disimpan dengan melalui:

fileSuhu . print (waktu) ;

fileSuhu . print ( ” ,”);

fileSuhu . println (suhu) ;

Fungsi print ( ) pertama digunakan untuk menyimpan data waktu yang ada di waktu ke SD card. Fungsi print ( ) kedua menambahkan tanda koma dan fungsi print ( ) ketiga merekamkan data suhu yang ada di variabel suhu. Terakhir, file ditutup dengan:

fileSuhu.close ( ) ;

Description Contoh hasil sketch simsuhu dapat dilihat di Gambar 17.12.

Description

 

 


  • 0

Pemrograman Arduino Menggunakan ArduBlock

Perkembangan Microcontroller Arduino sangatlah pesat dan mulai dipelajari oleh berbagai kalangan pendidikan dan profesional. Arduino Uno sebagai papan elektronis yag berukuran seperti kartu kredit telah menjadikan siapapun yang awam dengan proyek proyek elektronika akhirnya dapat mempelajari, memahami bahkan mewujudkannya. Meskipun demikian, bahasa pemrogramana bahasa C/C++ adalah kendala atau masalah terbesar yang dihadapi oleh para pemula yang terutama belum pernah mengenal bahasa pemrograman untuk berinteraksi dengan papana elektronis ini.

Kehadiran Ardublock merupakan solusi atas masalah para pemula yang tidak mengenal bahasa pemrograman. Arduino dengan Ardublock menggunakan pendekatan blok-blok untuk menyusun program sehingga mempermudah dan bagai obat mujarab untuk memompakan semangat anak-anak siswa SD sampai dengan SMA dalam mempelajari arduino dengan mudah. Hal yang lebih menarik lagi bahwa perangkat lunak ardublock ini mampu membangkitkan bahasa C/C++ sehingga akan lebih membantu bagi pemula yang ingin mempelajari susunan blok dan kode-kode bahasa C/C++ yang dihasilkannya.

Banyak sekali eksperimen dan percobaan-percobaan yang bisa dibuat dengan arduino uno dengan menggunakan ardublock. Hal-hal yang perlu diketahui dan dipahami sebelum mempelajari cara dan sistem kerja pemrograman arduino dengan ardublock adalah sebagai berikut :

TAHAP 1. PENGANTAR ARDUINO IDE DAN ARDUBLOCK.

Hal hal awal yang harus diketahui dan dipelajari sebelum mempelajari details mengenai Ardublock adalah sebagai berikut :

  1. Pemahaman tentang arduino atau pengantar arduino
  2. Pemahaman mengenai arduino IDE atau Pengantar Arduino IDE
  3. Pemahaman cara kerja Ardublock atau pengantar ardublock

TAHAP 2. INSTALASI ARDUINO IDE DAN ARDUBLOCK.

Proses yang harus dilakukan dalam menginstalasi arduino IDE dan ardublock dalam rangka mempelajari proses pemrograman arduino dengan ardublock adalah sebagai berikut :

  1. Persiapan awal untuk melakukan koneksi arduino dan komputer
  2. Instalasi arduino IDE
  3. Cara menjalankan Arduino IDE
  4. Instalasi Ardublock

TAHAP 3. MELAKUKAN EKSPERIMEN DAN PERCOBAAN AWAL UNTUK MEMPELAJARI PEMROGRAMAN ARDUINO DENGAN ARDUBLOCK

Adapun persiapan pengetahuan dasar yang diperlukan dalam mempelajari cara Pemrograman Arduino dengan Ardublock adalah sebagai berikut :

  1. Persiapan Perkakas Kerja
  2. Kabel Dupont
  3. Breadboard
  4. Resistor
  5. LED
  6. Penyusunan Rangkaian
  7. Pembuatan Sketsa Menggunakan Ardublock
  8. Cara Penyimpanan Blok
  9. Cara Pengunggahan ke Arduino
  10. Cara membuat LED yang berkedip-kedip
  11. Mengetahui Hubungan Antara Proyek Ardublok dan Sketsa Arduino
  12. Cara Melakukan Edit Blok
  13. Kesalahan-kesalahan sewaktu Upload
  14. Menutup dan Membuka Kembali Program yang dibuat dengan Ardublock

TAHAP 4. EKSPERIMEN DAN PERCOBAAN DENGAN PIN PWM

Adapun Proses untuk pemahaman PIN PWM dalam Pemrograman Arduino dengan Ardublock harus melalui ekperimen dan percobaan dengan langkah sebagai berikut :

  1. Pemahaman PIN Digital
  2. Pemahaman PIN-PIN PWM
  3. Eksperimen dan Percobaan Pengaturan Intensitas LED
  4. Eksperimen Pembuatan LED yang seperti Membara

TAHAP 5. EKSPERIMEN DAN PERCOBAAN DENGAN SERIAL MONITOR

Details proses yang harus dipelajari dan dilalui dalam ekperimen dengan serial monitor dalam pemrograman arduino dengan ardublock adalah sebagai berikut :

  1. Pengenalan Serial Monitor
  2. Contoh Pengiriman Data dari Arduino ke Serial Monitor
  3. Pengiriman Data Bilangan
  4. Pembacaan Karakter dari Serial Monitor

TAHAP 6. EKSPERIMEN DAN PERCOBAAN DENGAN PIN ANALOG

Details proses yang harus dipelajari dalam eksperimen dan percobaan dengan PIN Analog untuk mempelajari pemrograman arduino dengan Ardublock adalah sebagai berikut :

  1. Pemahaman PIN Analog
  2. Eksperimen dengan Potensiometer
  3. Menerjemahkan Nilai di PIN menjadi Tegangan
  4. Pembacaan Suhu dengan LM35Z

TAHAP 7. EKSPLORASI DAN PERCOBAAN VARIABEL DAN ARRAY

Hal-hal yang harus dipelajari details dalam eksplorasi dan percobaan variabel dan array dalam arduino dengan ardublock adalah sebagai berikut :

  1. Pengertian Variabel dan Tipe Data
  2. Pemahaman Variabel Digital
  3. Pemahaman Variabel Integer
  4. Pemahaman Variabel Large Integer
  5. Pemahaman Variabel Bilangan Pecahan
  6. Pemahaman Variabel Karakter
  7. Pemahaman Array
  8. Pemahaman Variabel Millis

TAHAP 8. EKSPERIMEN DAN PERCOBAAN DENGAN OPERATOR DAN FUNGSI MATEMATIKA

Tahapan details dalam mempelajari operator dan fungsi matematika dengan pemrograman arduino dengan ardublock adalah melakukan ekperimen dan percobaan sebagai berikut :

  1. Pemahaman mengenai Operator Matematika
  2. Pemahaman tentang Fungsi Nilai Mutlak
  3. Pemahaman tentang Fungsi untuk Operasi Pangkat
  4. Pemahaman tentang Fungsi Terkait dengan Trigonometri
  5. Pemahaman tentang Fungsi Pembangkitan Bilangan Acak
  6. Pemahaman tentang Fungsi Pemetaan Bilangan
  7. Pemahaman tentang Fungsi Pembatasan Bilangan
  8. Pemahaman tentang Minimum dan Maksimum

TAHAP 9. EKSPERIMEN DAN PERCOBAAN DENGAN PENGAMBILAN KEPUTUSAN

Tahapan selanjutnya dalam mempelajari Pemrograman Arduino dengan Ardublock yaitu melakukan eksperimen dan percobaan untuk pengambilan keputusan. Detailsnya adalah sebagai berikut :

  1. Memahami Ekspresi Boolean
  2. Memahami Ekspresi Logika
  3. Memahami Blok If
  4. Memahami Blok If/ Else
  5. Memahami Penggunaan Sensor Sentuh

TAHAP 10. EKSPERIMEN DAN PERCOBAAN DENGAN PERULANGAN

 Adapun dalam memahami perulangan dalam pemrograman arduino dengan ardublock dengan melakukan ekperimen dan percobaan dengan details sebagai berikut :

  1. Memahami Perintah Perulangan
  2. Memahami Blok While
  3. Memahami Blok do While
  4. Memahami Blok Repeat
  5. Memahami Blok Repeat and Count
  6. Memahami Blok Repeat Between
  7. Memahami Cara Kerja LED yang Bergerak

TAHAP XI : EKSPERIMEN DAN PERCOBAAN DENGAN SUBRUTIN

Details hal hal yang perlu dipahami selanjutnya adalah eksperimen dan percobaan dengan subrutin dalam pemrograman arduino dengan ardublock. Details prosesnya adalah sebagai berikut :

  1. Pengertian Subrutin dan Cara Pembuatannya
  2. Contoh kasus Pengujian Subrutin

TAHAP 12 : EKSPERIMEN DAN PERCOBAAN DENGAN LCD

Proses pembelajaran yang harus dilalui untuk pemahaman pemrograman arduino dengan ardublock di LCD adalah sebagai berikut :

  1. Pemahaman Pengantar LCD
  2. Pustaka yang diperlukan untuk dipelajari
  3. Pemahaman akan 12C LCD
  4. Pemahaman akan Alamat Piranti LCD
  5. Pemahaman melalui percobaan dengan 12C LCD
  6. Pemahaman melalui percobaan dengan LCD Paralel
  7. Pemahaman terkait dengan Fungsi LCD
  8. Pemahaman untuk Mengetahui Informasi Suhu

TAHAP 13 : EKSPERIMEN DAN PERCOBAAN DENGAN SENSOR ULTRASONIK DAN INFRAMERAH

Proses yang harus dilalui untuk memahami sensor ultrasonik dan inframerah adalah dengan melakukan eksperimen dan percobaan sebagai berikut :

  1. Pemahaman Mengenai Sensor Jarak Ultrasonik
  2. Pemahaman Mengenai Sensor GP2Y0A21
  3. Pemahaman Mengenai Sensor Pendeteksi Halangan
  4. Pemahaman Mengenai Sensor PIR
  5. Pemahaman Mengenai Sensor Penerima Inframerah
  6. Pemahaman Mengenai Sesnsor Pendeteksi atau Penjejak Garis

TAHAP 14. EKSPERIMEN DAN PERCOBAAN DENGAN MOTOR DC DAN MOTOR SERVO

Untuk mengetahui dan memahami Cara Kerja Motor DC dan Motor Servo di Ardublock harus melakukan percobaan dan ekperimen sebagai berikut :

  1. Pengenalan Awal Motor DC dan Motor Servo
  2. Melakukan Eksperimen Sederhana Pengendalian Motor DC
  3. Malakukan Eksperimen untuk Mengatur Kecepatan Putar Motor DC
  4. Memahami Cara Pengaturan dan Pengontrolan Motor DC dengan Relay
  5. Memahami Penghaturan Arah Putar dan Kecepatan Motor DC Menggunakan Motor Driver L289N
  6. Memahami Cara Pengendalian Motor Servo
  7. Memahami Motor Servo dan Sensor Jarak Ultrasonik

TAHAP 15. EKSPERIMEN DAN PERCOBAAN DENGAN EEPROM

Untuk mengetahui dan memahami cara kerja EEPROM di Ardublock dengan melalui proses pembelajaran sebagai berikut :

  1. Memahami Pengantar EEPROM dan Cara Pengaksesannya
  2. Memahami Contoh Pengaksesan Data dalam Bentuk Byte
  3. Memahami Contoh Pengaksesan Data dalam bentuk Bilangan Integer
  4. Memahami Contoh Pengaksesan Data dalam Bentuk Bilangan Long
  5. Memahami Contoh untuk Membaca semua Jenis Bilangan

TAHAP 16. EKSPERIMEN DAN PERCOBAAN DENGAN MODUL BLUETOOTH

Pemahaman akan cara kerja modul bluetooth dalam Ardublock adalah dengan melalui tahapan pembelajaran sebagai berikut :

  1. Memahami Pengantar Bluetooth dan HC-06
  2. Memahami Pengaturan Laju Bit HC-06
  3. Memahami Pengaturan Pasangan Bluetooth
  4. Memahami Blok Pengendali Arduino
  5. Memahami Instalasi Tera Term
  6. Memahami Pengujian dengan Tera Term
  7. Memahami Pengembangan Aplikasi Pasangan

TAHAP 17. EKSPERIMEN DAN PERCOBAAN DENGAN SENSOR AIR

Pemahaman sistem kerja dengan sensor air di Ardublock Arduino haruslah melalui tahapan pembelajaran sebagai berikut :

  1. Memahami Cara Kerja Sensor DHT11
  2. Memahami Cara Kerja Sensor DHT22
  3. Mehamami Cara Kerja Sensor Kelembaban Tanah
  4. Memahami cara Kerja Sensor Air

TAHAP 18. EKSPERIMEN DAN PERCOBAAN DENGAN SENSOR GAS DAN API

Pemahaman akan sistem kerja Sensor Gas dan Api di Pemrograman Arduino dengan Ardublock dengan melalui proses pembelajaran sebagai berikut :

  1. Memahami Cara Kerja Sensor Gas
  2. Memahami Cara Kerja Sensor Api

TAHAP 19. EKSPERIMEN DAN PERCOBAAN DENGAN JOYSTICK

Pemahaman akan sistem kerja Joystick di Ardublock arduino adalah dengan melalui proses pembelajaran sebagai berikut :

  1. Pemahaman Cara Kerja Joystick di Ardublock
  2. Memahami Cara Kerja Blok untuk Menangani Joystick
  3. Memahami Contoh Pemantauan Joystick

TAHAP 20. EKSPERIMEN DAN PERCOBAAN DENGAN TOMBOL

Dalam memahami sistem kerja tombol di pemrograman arduino dengan ardublock melalui proses pembelajaran sebagai berikut :

  1. Memahami Cara Bermain dengan Tombol Tekan
  2. Memahami Penggunaan Modul Tombol Tekan
  3. Memahami Modul dengan Sejumlah Tombol Tekan

TAHAP 21. EKSPERIMEN DAN PERCOBAAN DENGAN SUARA

Berikut ini proses yang harus dilalui dalam mempelajari Cara Kerja Suara di Pemrograman Arduino dengan  Ardublock adalah sebagai berikut :

  1. Memahami Penggunaan Buzzer untuk Menghasilkan Suara
  2. Memahami Penggunaan Speaker
  3. Memahami Penggunaan Piezo Disk
  4. Memahami Cara Kerja Sensor Suara
  5. Memahami Penggunaan Tepuk Tangan sebagai Perintah
  6. Memahami Cara dan Proses Perekam Suara
  7. Memahami Cara Pengujian Perekan Suara Tanpa Arduino
  8. Memahami Cara Pengujian Perekam Suara dengan Arduino
  9. Memahami Cara Kerja Penyapa Otomatis

TAHAP 22. EKSPERIMEN DAN PERCOBAAN DENGAN ANEKA SENSOR

Pembelajaran akan penggunaan aneka sensor pada Ardublok Arduino sangatlah penting. Berikut ini eksperimen dan percobaan yang perlu dilakukan dan dipahami dengan penggunaan aneka sensor di ardublock :

  1. Pemahaman Cara Kerja Sensor Magnet
  2. Pemahaman Cara kerja Sensor Reed
  3. Pemahaman Cara Kerja Sensor Kemiringan
  4. Pemahaman Cara Kerja Sensor Getaran
  5. Pemahaman Cara Kerja Sensor Tegangan
  6. Pemahaman Cara Kerja Sensor Cahaya
  7. Pemahaman Cara Kerja Sensor Flex
  8. Pemahaman Cara Kerja Sensor Force Sensitive Resistor

 

 


  • 0

22. Eksperimen dengan Aneka Sensor

22. Eksperimen dengan Aneka Sensor

Hubungan antara arduino dengan sensor sangat erat sekali. Dengan menggunakan ardublock sebagai pengganti bahasa pemrograman C++ pada arduino akan mempermudah siswa SD sekalipun untuk mempelajari arduino tanpa bahasa pemrograman. Begitu pula dengan ardublock akan mempermudah bahasa pemrograman aneka sensor yang semula menggunakan bahasa pemrograman untuk koneksi antar sensor akan lebih simple dan mudah dengan adanya ardublock arduino.

Bab ini membahas berbagai sensor, yang tergolong sebagai sensor magnet, kemiringan, getaran, tegangan, flex,dan FSR dengan penerapannya pada Arduino dengan Ardublock.

22.1 Sensor Magnet 

Modul sensor magnet berguna untuk mendeteksi keberadaan bahan bermagnet. Salah satu aplikasinya adalah untuk mendeteksi pintu yang terbuka. Contoh modul sensor magnet ditunjukkan pada Gambar 22.1. Modul tersebut mempunyai tiga Pin dengan fungsi masing-masing seperti berikut:

  • Pin G : dihubungkan keground.
  • Pin V : dihubungkan ke tegangan
  • Pin S : Berisi isyarat berupa HIGH atau LOW.

Gambar 22.1 Modul sensor magnet

Untuk melakukan percobaan, silakan untuk menyusun rangkaian seperti terlihat pada Gambar 22.2. Rangkaian tersebut akan membuat lampu mati kalau ada magnet didekatkan sensor magnet dan menyala kalau magnet dijauhkan dari sensor. Hal ini untuk menandakan kalau pintu tertutup, magnet akan berdekatan dengan sensor. Kalau pintu terbuka, sensor berjauhan dengan magnet.

 

Gambar 22.2 Rangkaian percobaan sensor magnet

Gambar 22,3 memberikan ilustrasi mengenai sensor magnet terhadap benda bermagnet dalam mengendalikan LED. Ketika benda bermagnet berada dekat sensor magnet, LED dalam keadaan mati. Saat benda bermagnet dijauhkan dari sensor magnet, LED dihidupkan.

Gambar 22.3 Magnet, sensor magnet, dan LED

Untuk menangani sensor magnet, ArduBlok menyediakan blok berikut:

Blok ini terdapat di laci . Blok ini memberikan nilai balik bertipe digital.

Untuk mempraktikkan penggunaan sensor magnet, silakan untuk membuat proyek baru bernama magnet. abp. Lalu, susunlah blok seperti terlihat pada Gambar 22.4.

Gambar 22.4 Blok untuk mencoba sensor magnet

Pada proyek ini, variabel digital bernama statugMagnet diisi dengan nilai yang dihasilkan oleh sensor magnet yang dipasang pada pin digital 3. Selanjutnya, nilai variabel ini digunakan untuk rnengontrol LED yang terpasang di pin digital 2. Dalam hal ini, jika sensor magnet tnemberikan nilai 1, LED akan menyala dan kalau sensor magnet memberikan nilai 0, LED padam.

Alternatif lain untuk mendeteksi magnet adalah menggunakan sensor Hall A31443. wujudnya ditunjukkan pada Gambar 22.5. Sensor Hall adalah sensor yang mengeluarkan tegangan kalau didekatkan dengan sumber magnet.

Gambar 22.5 sensor Hall A31443

Untuk mempraktikkan sensor Hall, rangkaian seperti terlihat pada Gambar 22.6 perlu disusun terlebih dahulu. Resistor yang digunakan untuk LED sebesar 220Ω, sedangkan yang menghubungkan kedua kaki tepi pada sensor Hall berupa 10K.

Gambar 22.6 Rangkaian untuk menguji sensor Hall

Sensor Hall sering kali dikemas dalam modul. Contoh ditunjukkan pada Gambar 22.7. Cara menghubungkan modul ini dengan Arduino adalah seperti berikut:

  • Pin GND (atau -) dihubungkan dengan pin GND Arduino;
  • Pin 5V (atau +) dihubungkan dengan pin 5V Arduino.
  • Pin OUT (S) dihubungkan dengan pin digital Arduino.

Berbagai vendor memproduksi modul hall dengan komposisi pin yang berlainan. Oleh karena itu, Anda harus menyesuaikan diri dalam menyusun rangkaian. Gambar

22.8 akan menunjukkan contoh rangkaian yang menggunakan modul sensor Hall.

Gambar 22.7 Modul sensor Hall

Gambar 22.8 Modul sensor Hall

Untuk mempraktikkan penggunaan sensor Hall baik dalam bentuk modul atau tidak, silakan untuk membuat proyek baru bernama hal I . abp. Lalu, susunlah blok seperti terlihat pada Gambar 22.9.

Gambar 22.9 Blok untuk mencoba sensor Hall

Untuk menguji sensor Hall, dekatkan benda bermagnet pada sisi sensor yang mengandung tulisan.

22.2 Sensor Reed 

Sensor reed adalah sensor yang bertindak sebagai saklar listrik Yang dikendalikan oleh Saklar dibentuk oleh (lua bahan logam yang diletakkan di tabung Iaca. Norrnalnya, kcdua logam tersebut tidak saling berhubungan. terdapat medan magnet, kedua logam tersebut saling terhubung, Yang membuat listrik dapat mengalir. Gambar 22.10 memperlihatkan contoh modul Yang mengandung sensor read

Gambar 22.10 Modul sensor reed Keyes KY-025

Tabel 22.1 memperlihatkan contoh untuk hubungan antara modul reed dan Arduino untuk kepentingan pengujian.

Tabel 22.1 Hubungan antara modul reed dan Arduino

Untuk mempraktikkan penggunaan sensor reed, silakan untuk membuat proyek baru bernama reed. abp. Lalu, susunlah blok seperti terlihat pada Gambar 22.11.

Gambar 22.11 Blok untuk percobaan dengan modul sensor reed

Gambar 22.12 Contoh hasil pengujian modul sensor reed

22.3 Sensor Kemiringan 

Sensor kemiringan (tilt sensor) adalah sensor yang dapat digunakan untuk mengetahui posisi kemiringan. Dalam bentuk sederhana, sensor dapat digunakan untuk mengetahui suatu benda dalam keadaan miring atau tidak. Untuk yang lebih kompleks, kemiringan pada setiap sumbu dapat diketahui. Gambar 22.13 memperlihatkan dua contoh modul yang mengandung sensor kemiringan.

Gambar 22.13 Contoh modul sensor kemiringan

Gambar 22.14 memperlihatkan rangkaian yang digunakan untuk Percobaan dengan menggunakan sensor jenis SW-200D atau SW-520D. Adapun Gambar 22.15 menunjukkan contoh rangkaian yang digunakan untuk modul yang mempunyai 3 kaki. Pada gambar ini, modul mempunyai susunan kaki dari kiri ke kanan berupa G, V, dan juga S. Anda perlu menyesuaikan dengan susunan pin pada modul yang Anda gunakan.

Gambar 22.14 Rangkaian untuk percobaan dengan SW-200D atau SW-520D

Gambar 22.15 Rangkaian untuk modul sensor kemiringan dengan tiga pin

Untuk menangani sensor kemiringan, ArduBlock menyediakan blok berikut:

Blok ini terdapat di laci .

Untuk mempraktikkan penggunaan sensor reed, silakan untuk membuat proyek baru bernama tiIt . abp. Lalu, susunlah blok seperti terlihat pada Gambar 22.16.

 

Gambar 22.16 Blok untuk pengujian sensor kemiringan

Untuk mengujinya, cobalah untuk membuat modul dalam keadaan vertical pada berbagai posisi sampai anda menjumpai LED menyala.

Penggunaan beberapa sensor untuk mendeteksi berbagai kemiringan bisa diterapkan

22.4 Sensor Getaran 

Modul deteksi getaran bertindak seperti saklar. Nilai yang dihasilkan HIGH kalau ada tekanan Yang luar biasa pada sensornya atau ada perubahan kecepatan Yang mencapai kekuatan sentrifugalnya. Modul mengandung sensor getaran Yang terbuat dari pipa logam dan plastik dan mempunyai sensitivitas tinggi tanpa terpengaruh oleh suara eksternal. Hal yang terjadi sesungguhnya, hambatan berubah ketika ada getaran, Dalam keadaan statis, isyarat yang diberikan oleh modul berupa LOW. Contoh modul deteksi getaran diperlihatkan pada Gambar 22.17.

Gambar 22.17 Modul deteksi getaran keluaran Meeeno yang menggunakan sensor SW-420

Cara menghubungkan modul seperti yang terlihat pada Gambar 22.18 dengan

Arduino adalah sebagai berikut:

  • G dihubungkan ke ground;
  • V dihubungkan ke sumber tegangan 5V;
  • S dihubungkan misalnya ke pin D3.

Modul sejenis menggunakan nama-nama pin yang berbeda, Sebagai contoh, G bisa berupa -, V bisa berupa VCC, dan S bisa berupa OUT atau SIG. Oleh karena itu, Anda bisa menyesuaikan sendiri.

 

Gambar 22.18 Hubungan antara modul sensor getaran

Untuk menangani sensor getaran, ArduBlock menyediakan blok berikut:

Blok ini terdapat di laci . Namun, blok ini hanya digunakan untuk mendapatkan nilai 0 atau 1. Sebagai alternatif, Anda bisa menggunakan blok analog pin untuk mendapatkan nilai analog. Inilah yang akan digunakan untuk menguji rangkaian pada Gambar 22.19.

Untuk mempraktikkan penggunaan sensor getaran, silakan untuk membuat proyek baru bernama getaran . abp. Lalu, susunlah blok seperti terlihat pada Gambar 22.20.

Gambar 22.19 Blok untuk menguji modul sensor getaran

Gambar 22.20 Contoh hasil pengujian modul sensor getaran

Modul lain yang juga digunakan untuk mendeteksi getaran adalah modul yang berisi percussion knocking knock sensor. Sensor berupa spiral yang diletakkan dalam wadah plastik. Contoh modul ini ditunjukkan dalam Gambar 22.21. Modul ini lebih peka terhadap getaran dibandingkan dengan modul pada Gambar 22.17.

Gambar 22.21 Modul berisi sensor Percussion Knocking Knock

Cara menguji modul ini serupa dengan modul pada Gambar 22.17.

 

22.5 Sensor Tegangan

Sensor tegangan adalah sensor yang digunakan untuk membaca tegangan DC antara 0 hingga 25V. Contoh modul sensor tegangan ditunjukkan pada Gambar 22.22.

Gambar 22.22 Modul sensor tegangan

Cara menggunakan sensor ini ditunjukkan pada Tabel 22.2.

Tabel 22.2 Penggunaan pin-pin di modul sensor tegangan

ArduBlock menyediakan blok berikut untuk menangani sensor tegangan:

Blok ini terdapat di laci . Namun, blok ini sebenarnya identik dengan  .

Untuk mempraktikkan penggunaan sensor tegangan, silakan untuk membuat proyek baru bernama sensor Tegangan . abp. Lalu, susunlah blok seperti terlihat pada Gambar 22.23.

Gambar 22.23 Blok untuk menguji modul sensor tegangan

Pada proyek ini, blok berikut digunakan untuk membaca nilai di pin analog Ao dan meletakkan hasilnya ke variabel pinAnalog:

Selanjutnya, nilai di variabel tersebut diubah menjadi tegangan dan disimpan ke variabel yang dapat menyimpan nilai pecahan melalui blok berikut:

Dengan begitu, variabel Vout berisi nilai tegangan yang dihasilkan oleh pin S. Setelah Vout diperoleh, maka Vin (tegangan yang diukur) bisa dihitung menggunakan blok berikut:

selanjutnya, informasi tegangan terulśur dikirim ke Serial Monitor melalui:

Adapun blok berikut digunakan untuk membuat pengukuran tegangan dilakukan setiap 500 milidetik:

Gambar 22.24 akan memperlihatkan contoh hasil pengukuran pada baterai AAA.

Gambar 22.24 Contoh hasil pengujian modul sensor tegangan

Jika Anda tidak memiliki modul sensor tegangan, Anda dapat menggunakan dua resistor dan menyusunnya sebagai pembagi tegangan. Pembagi tegangan dengan menggunakan resistor sering kali digunakan pada pelbagai rangkaian. Salah satu aplikasinya adalah untuk menurunkan tegangan. Konsep pembagi tegangan diperlihatkan pada Gambar 22.25. Dengan mengatur nilai RI dan R2, dapat diperoleh tegangan keluaran (VOUT) yang lebih kecil daripada tegangan masukan (VIN).

Garnbar 22.25 Pembagi tegangan

Pin analog AO hingga A5 dapat digunakan untuk mengukur tegangan DC hingga 5V. Kalau tegangan yang akan diukur melebihi 5V, harus ada suatu penanganan tersendiri mengingat tegangan analog yang tertinggi di Arduino adalah 5 volt. Hal itu dapat dilakukan dengan menggunakan pembagi tegangan seperti terlihat dalam Gambar 22.2. Dalam hal ini, VIN adalah tegangan yang diukur dan VOUT adalah tegangan Yang akan dihubungkan ke pin analog Arduino. Cara perhitungannya sederhana saja, yakni memakai rumus seperti berikut:

Sebagai contoh, dengan memilih RI = 30K dan R2 = IOK, maka VOUT 1/ 4 VIN. Berdasarkan hal ini, mengingat tegangan maksimum untuk VOUT adalah 5V, maka tegangan VIN adalah 4 x 5 atau 20 volt. Dengan perkataan Iain, rangkaian seperti itu dapat digunakan untuk mengukur tegangan hingga 20 volt. Dalam praktik, tidak ada sebuah resistor yang memiliki hambatan sebesar 30K. Walaupun begitu, resistor 30K dapat disusun dengan menggunakan 3 resistor IOK yang dipasang secara seri. Untuk memperoleh tegangan VIN, rumus yang digunakan adalah:

Vin 4 x Vout = 4 x nilai_Analog0 x 5 / 1023

Contoh pengujian untuk mengukur baterai 9V diperlihatkan pada Gambar 22.26. Tentu saja, kapan saja Anda bisa mengganti baterai 9V tersebut dengan baterai Iain sepanjang tidak lebih dari 20V.

 

Gambar 22.26 Pengujian baterai 9V. Empat resistor yang digunakan berukuran 10K

 

Untuk mempraktikkan pengukuran tegangan, silakan untuk membuat proyek baru bernama pembagiTegangan . abp, Lalu, susunlah blok seperti terlihat pada Gambar

22.27.

Gambar 22.27 Blok untuk menguji pengukuran tegangan menggunakan pembagi tegangan

 

Pada proyek ini, blok

digunakan untuk menghitung tegangan baterai yang diukur. Perkalian akan tnenghasilkan angka terbesar sebesar 20 volt mengingat tegangan dengan terb 4 di Situ dicatat Vin adalah 5 volt.

Gambar 22.28 Contoh hasil pengukuran tegangan melalui pembagi tegangan

22.6 Sensor Cahaya 

Sensor cahaya yang dimaksud di sini adalah LDR. Sensor ini sering dijual dalam bentuk modul. Contoh ditunjukkan pada Gambar 22.29. Sensor ini memiliki 4 pin, dengan masing-masing adalah seperti berikut:

  • A0: Pin ini dihubungkan ke pin analog. Hasilnya berupa nilai antara 0 dan 1023,
  • GND: Pin ini dihubungkan ke ground.
  • VCC: Pin berikut dihubungkan ke pin 5V.
  • DO: Pin ini dihubungkan ke pin digital. Hasilnya berupa nilai 0 atau 1.

Tabel 22.3 memperlihatkan cara menyusun rangkaian untuk menguji modul sensor cahaya.

Gambar 22.29 Modul senqor cahaya

Tabel 22.3 Hubungan antara modul sensor cahaya dan Arduino

Untuk mempraktikkan penggunaan modul sensor cahaya, silakan untuk membuat proyek baru bernama modulcahaya . abp. Lalu, susunlah blok seperti terlihat pada Gambar 22.30.

Gambar 22.30 Blok untuk menguji modul sensor cahaya

Pada proyek ini, nilai di pin analog AO dibaca dan diletakkan di variabel bernama ni lai Pin. Kemudian, isi variabel ini dikirimkan ke Serial Monitor. Adapun blok de lay digunakan untuk mengatur agar pembacaan data dilakukan per 500 milidetik.

Contoh hasil pengujian modul sensor cahaya diperlihatkan pada Gambar 22.31.

 

Gambar 22.31 Contoh hasil pengujian modul sensor cahaya

22.7 Sensor Flex 

Sensor Flex adalah sensor yang resistansinya naik ketika bagian sensor ini ditekuk Contoh sensor ini ditunjukkan pada Gambar 22.32. Aplikasi sensor ini misalnya dipasang pada jari-jari tangan robot.

Gambar 22.32 Sensor Flex

Untuk mempraktikkan sensor ini, silakan untuk menyusun rangkaian seperti terlihat dalam Gambar 22.33. Resistor yang digunakan dalam rangkaian ini adalah 10K

 

Gambar 22.33 Rangkaian untuk menguji sensor Flex

Untuk mempraktikkan penggunaan sensor cahaya, silakan untuk membuat proyek baru bernama flex . abp. Lalu, susunlah blok seperti terlihat pada Gambar 22.34.

Gambar 22.34 Blok untuk menguji sensor flex

Pada proyek ini, nilai di pin analog AO dibaca dan diletakkan di variabel bernama ni Lai Pin. Kemudian, isi variabel ini dikirimkan ke Serial Monitor. Adapun blok de 1 ay digunakan untuk mengatur agar pembacaan data dilakukan per 500 milidetik.

Contoh hasil pengujian modul sensor cahaya diperlihatkan pada Gambar 22.31. Tampak bahwa nilai yang dihasilkan di pin AO menurun ketika sensor ditekuk.

Gambar 22.35 Contoh hasil pengujian sensorflex

22.8 Force Sensitive Resistor 

Force sensitif resistor (FSR) adalah komponen yang apabila bagian bulatannya ditekan, nilai resistansinya mengecil. Gambar 22.36 memperlihatkan contoh FSR jenis FSR400.

Gambar 22.36 FSR

Untuk menguji komponen ini, rangkaian seperti terlihat pada Gambar 22.37 perlu disusun terlebih dahulu. Resistor yang digunakan sebesar 10K.

Gambar 22.37 Rangkaian untuk menguji FSR

Untuk mempraktikkan penggunaan FSR, silakan untuk membuat proyek baru bernama fsr . abp. Lalu, susunlah blok seperti terlihat pada Gambar 22.38.

Gambar 22.38 Blok untuk menguji FSR

Blok yang digunakan untuk menguji FSR ini tidak berbeda dengan blok untuk menguji sensorflex. Contoh hasil pengujiannya ditunjukkan pada Gambar 22.39.

 

 


  • 0

21. Eksperimen dengan Suara

21. Eksperimen dengan Suara

Percobaan dan eksperimen dalam pembelajaran dengan Arduino Ardublock sangat penting untuk mengetahui lebih details dan jelas dalam penggunaan ardublock.

Bab ini membahas berbagai komponen yang dapat digunakan untuk menghasilkan suara, yang mencakup piezo disk, buzzer, dan speaker melalui pemrograman arduino dengan menggunakan ardublock.

21.1 Penggunaan Buzzer untuk Menghasilkan Suara 

Buzzer adalah kotnponen berukuran kecil yang digunakan untuk mengeluarkan suara. Gambar 21.1 berikut ini akan memperlihatkan contohnya. Adapun pemasangannya ditunjukkan pada Gambar 21.2.

Gambar 21.1 Buzzer

Gambar 21.2 Rangkaian untuk menguji buzzer

Untuk menangani suara, ArduBlock menyediakan tiga blok, yang dicantumkan pada Tabel 21.1 berikut ini. Ketiga blok tersebut terletak di laci

 

Tabel 21.1 Blok-blok untuk menangani suara

Blok merupakan alternatif untuk dan blok

sebagai alternatif untuk

Untuk mempraktikkan penggunaan blok tone yang hanya melibatkan frekuensi silakan untuk membuat proyek baru bernama tone . abp. Lalu, susunlah blokseperti terlihat pada Gambar 21.3.

Gambar 21.3 Blok untuk percobaan menghasilkan suara

Pada contoh ini,

berfungsi untuk menghasilkan suara pada pin 8 dengan frekuensi sebesar 440 Hertz

(440 siklus per detik). Suara ini dipertahankan selama 100 milidetik melalui:

Adapun yang menghentikan suara adalah blok berikut:

Terakhir, blok

digunakan untuk tidak melakukan apapun selama 100 detik. Pada saat inilah tidak ada bunyi sama sekali.

Adapun untuk mempraktikkan penggunaan blok tone yang juga melibatkan waktu tunda, silakan untuk membuat proyek baru bernama tone2 . abp. Lalu, susunlah blok seperti terlihat pada Gambar 21.4.

Gambar 21.4 Blok penggunaan tone dengan durasi

Secara prinsip, penggunaan blok tone yang menggunakan waktu tunda adalah

seperti berikut:

Dengan demikian, pada contoh pada Gambar 21.4, suara dengan frekuensi 440 dihasilkan selama 100 milidetik dan terdapat keheningan selama 100 milidetik.

Untuk mempraktikkan penggunaan dua nada, silakan untuk membuat proyek baru bernama dua tone . abp. Lalu, susunlah blok seperti terlihat pada Gambar

Gambar 21.5 Blok untuk menghasilkan dua nada

 

21.2 Penggunaan Speaker 

Untuk mendapatkan kualitas suara yang lebih baik, speaker perlu digunakan, Gambar 21.6 memperlihatkan contoh kotnponen ini, sedangkan Gambar 21.7 akan memperlihatkan contoh rangkaian yang melibatkan speaker. Potensiometer 1K digunakan untuk mengatur volume suara.

Gambar 21.6 Speaker

Gambar 21.7 Rangkaian untuk menguji speaker

Untuk mempraktikkannya, silakan untuk membuat proyek baru bernama speaker.abp. Lalu, susunlah blok seperti terlihat pada Gambar 21.8. Blok tersebut digunakan untuk memainkan berbagai nada.

Gambar 21.8 Blok untuk percobaan speaker

21.3 Penggunaan Piezo Disk 

Piezo disk adalah komponen penghasil suara yang paling sederhana. Komponen ini bekerja atas dasar tekanan pada lempengan yang diubah menjadi isyarat listrik dan menghasilkan getaran atau suara. Gambar 21.9 menunjukkan contoh komponen ini.

 

Gambar 21.9 Piezo disk

Dalam praktik, piezo disk kadang kala dijual dalam kemasan modul. Gambar 21.10 memperlihatkan contoh modul piezo disk.

Gambar 21.10 Modul Piezo disk

Untuk menguji piezo disk, susunlah rangkaian seperti yang ditunjukkan pada Gambar 2.11. Jika modul piezo disk digunakan, buat hubungan seperti berikut:

  • pin – dihubungkan ke pin GND Arduino;
  • pin + dihubungkan ke pin 5V Arduino;
  • pin S dihubungkan ke pin 3 Arduino.

 

Gambar 2.11 Rangkaian untuk percobaan piezo disk

Blok yang digunakan pada buzzer dapat digunakan untuk menguji piezo disk. jika rangkaian yang disusun sudah benar, akan terdengar suara lemah.

Selain berfungsi sebagai peranti keluaran, piezo disk dapat digunakan sebagai sensor pendeteksi ketukan. Sebagai contoh, Anda bisa menguji untuk kepentingan ini dengan menggunakan rangkaian pada Gambar 21.12.

 

Gambar 21.12 Rangkaian untuk menguji piezo disk sebagai sensor

Untuk mengujinya, silakan untuk membuat proyek baru bernama ketuk.abp. Lalu, susunlah blok seperti terlihat pada Gambar 21.13.

Gambar 21.13 Blok untuk menguji piezo disk sebagai sensor

pada proyek ini, blok berikut digunakan untuk menyimpan nilai di pin analog AO, yang terhubung ke piezo disk, ke variabel bernama nilaiAnalog:

Selanjutnya, isi variabel tersebut dikirimkan ke Serial Monitor. Lalu,

ditujukan untuk menyalakan LED yang terhubung ke pin 1 selama 2 detik ketika isi nilaiAnalog melebihi atau sama dengan nilai 100. Pada keadaan ini, nilai 100 berkedudukan sebagai nilai ambang yang akan menyalakan LED.

Gambar 21.14 memperlihatkan contoh peletakan piezo disk pada bahan anyaman kawat, sedangkan Gambar 21.15 menunjukkan contoh hasil pengujiannya.

 

Gambar 21.14 Contoh implementasi untuk pengujian piezo disk, yang diletakkan di atas bahan yang mudah bergetar

Gambar 21.15 Hasil pengujian piezo disk sebagai sensor

 

21.4 Sensor Suara

Sensor suara digunakan untuk mendeteksi keberadaan suara, Contoh

modul sensor ditunjukkan pada Gambar 21.16. Modul ini mengandung empat

pin, dengan fungsi masing-łnasing adalah seperti berikut:

  • VCC: Pin ini perlu dihubungkan ke surnber tegangan 5V (Pin 5V Arduino).
  • GND: Pin ini dihubungkan ke ground.
  • A0: Pin ini łnenghasilkan nilai analog antara 0 dan 1023. Itulah sebabnya pin ini perlu dihubungkan ke pin analog Arduino.
  • D0: Pin łnengeluarkan nilai digital 0 atau le Itulah sebabnya pin ini perlu dihubungkan ke pin digital Arduino.

Gambar 21.16 Modul sensor suara

Gambar 21.17 memperlihatkan rangkaian yang digunakan untuk melakukan percobaan sensor suara. Hubungan terpenting yang perlu diperhatikan:

  • pin GND milik modul sensor dihubungkan ke pin GND Arduino;
  • pin VCC milik modul sensor dihubungkan ke pin 5V Arduino;
  • pin A0 milik modul sensor dihubungkan ke pin AO Arduino;
  • pin D0 milik modul sensor tidak dihubungkan ke mana-mana.

Gambar 21.17 Rangkaian untuk percobaan dengan modul sensor suara

ArduBlock menyediakan blok berikut untuk menangani sensor suara:

Modul ini terdapat di laci

Untuk mengujinya, silakan untuk membuat proyek baru bernama suara.abp. Lalu, susunlah blok seperti terlihat pada Gambar 21.18.

Gambar 21.18 Blok untuk pengujian sensor suara

Gambar 21.19 menunjukkan hasil percobaan dengan sensor suara. Gambar bagian kiri memperlihatkan keadaan ketika tidak ada suara, sedangkan bagian kanan menunjukkan keadaan ketika mikrofon menangkap suara.

 

Gambar 21.19 Contoh hasil pengujian sensor suara

Di laci terdapat pula blok yang terkait dengan penanganan suara, yaitu berupa:

Blok ini menghasilkan nilai terbesar yang didapat selama 20 milidetik di pin yang dipantau. Nilai terbesar inilah yang dianggap sebagai volume suara. Untuk menguji blok ini, silakan untuk membuat proyek baru bernama volsuara . abp. Lalu, susunlah blok seperti terlihat pada Gambar 21.20.

Gambar 21.20 Blok untuk pengujian Analog Sound Volume Sensor

Gambar 21.21 menunjukkan contoh hasil pengujian dengan mengatakan sesuatu di depan mikrofon.

 

Gambar 21.21 Contoh hasil pengujian Analog Sound Volume Sensor

21.5 Penggunaan Tepuk Tangan sebagai Perintah 

Tepuk tangan dapat digunakan sebagai perintah? Ya, kenapa tidak? Dengan bertepuk tangan atau mungkin dengan berkata tertentu secara acak, Arduino akan menganggap sebagai suatu perintah. Untuk mempraktikkan hal ini, rangkaian pada Gambar 21.22 perlu disusun terlebih dahulu.

Gambar 21.22 Rangkaian untuk membuat tepuk tangan untuk menghidupkan atau mematikan LED

 

Untuk mewujudkannya, silakan untuk membuat proyek baru bernama tepuk . abp. Lalu, susunlah blok seperti terlihat pada Gambar 21.23.

Gambar 21.23 Blok untuk pengujian tepuk tangan

Pada proyek ini, variabel jumSampel digunakan untuk menentukan jumlah nilai di pin analog yang hendak direrata. Untuk menghitung nilai rerata isyarat, mula-mula variabel totallsyarat diisi dengan 0. Kemudian, melalui blok repeat, nilai total untuk 128 nilai analog diperoleh. Di dalam repeat,

digunakan untuk menghitung tinggi isyarat terhadap titik tengah (nilai 514). Fungsi abs digunakan karena tinggi isyarat bisa negatif terhadap titik tengah. Sebagaimana diketahui, isyarat suara itu merupakan perpaduan sejumlah gelombang sinus.

 

Jika angka 514 digunaan, maka anda perlu mengunggah proyek suara.abp terlebih dahulu. Lalu, atur skrup pemutar pada modul suara, sehingga angka 514 atau sekitar tersebut muncul di serial monitor Ketika tidak ada suara.

Selanjutnya, nilai rerata isyarat dihitung melalui:

Untuk memantau nilai rerata isyarat di Serial Monitor, perintah berikut diperlukan:

Blok berikut digunakan untuk menentukan LED akan dihidupkan atau tidak:

Ambang yang digunakan untuk menyalakan atau mematikan LED adalah nilai rerata isyarat sebesar 15. Di dalam if/else, delay digunakan untuk menghilangkan efek tepukan yang panjang. Gambar 21.24 memperlihatkan nilai rerata isyarat pada keadaan tidak ada tepukan (gambar sebelah kiri). Gambar sebelah kanan menunjukkan nilai rerata isyarat ketika sebuah tepuk tangan diberikan. Untuk mengatur kepekaan terhadap tepuk tangan, Anda bisa mengubah nilai 15 ini menjadi lebih besar atau sedikit lebih kecil.

 

Gambar 21.24 Nilai di Serial Monitor untuk memantau nilai rerata isyarat

21.6 Perekam Suara 

Jika kita ingin merekam suara misalnya untuk sapaan seperti “Assalamualaikum. selamat datang!” atau sekadar ” Halo. Apa kabar?”. Anda bisa memanfaatkan modul perekam suara ISD1820. Contoh modul ini ditunjukkan pada Gambar 21.25.

Gambar 21.25 Modul perekam suara ISD1820

Modul ini mempunyai enam pin. Fungsi masing-masing seperti berikut:

  • VCC: Pin ini dapat dihubungkan ke sumber tegangan 3V hingga 5V.
  • GND: Pin ini dihubungkan ke ground.
  • FT (Feed Through);
  • P-L (PLAYL): Jika pin ini bernilai HIGH, suara akan dimainkan sampai pin bernilai LOW.
  • P-E (PLAYE): Jika pin ini berubah dari LOW ke HIGH, suara akan dimainkan dari awal hingga akhir.
  • REC: Suara akan direkam ketika pin ini bernilai HIGH.

 

21.6.1 Pengujian Perekam Suara Tanpa Arduino 

Pengujian terhadap modul ISD1820 dapat dilakukan tanpa melibatkan ArduBlock Pertama-tama, hubungkan pin VCC ke pin 5V Arduino dan pin GND ke salah satu Pin GND milik Arduino. Kemudian, prosedur untuk merekam suara dilakukan dengan cara seperti berikut:

  1. Tekan tombol REC dan tahan.
  2. Rekam suara Anda di depan mikrofon.
  3. Lepaskan tombol REC.

Untuk memainkan suara, tekan tombol PLAYE sekali. Dengan cara seperti ini, suara yang terekam akan dimainkan dari awal hingga akhir. Kalau hanya ingin mendengarkan suara ketika tombol ditekan, tekanlah tombol PLAYL.

21.6.2 Pengujian Perekam Suara dengan Arduino 

Untuk melakukan pengujian dengan ArduBlock, silakan untuk menyusun rangkaian dengan mengikuti petunjuk dalam Tabel 21.1. Contoh hasil penyusunan rangkaian ditunjukkan seperti terlihat pada Gambar 21.25.

Tabel 21.1 Penyusunan rangkaian untuk percobaan ISD1820

Gambar 21.26 Contoh penyusunan rangkaian untuk menguji modul ISD1820

Selanjutnya, proyek baru bernama i sd . abp perlu dibuat. Blok yang perlu disusun ditunjukkan dalam Gambar 21.27 dan Gambar 21.28.

 

Gambar 21.27 Blok untuk pengujian modül ISD1820 (bagian pertama)

 

Gambar 21.28 Blok untuk pengujian modul ISD1820 (bagian kedua)

Proyek isd melibatkan empat subrutin, Subrutin rekamSuara menangani perekaman suara, Perekaman dilakukan selama 10 detik. Perekaman diawali oleh perintah:

 

Sebagaimana telah disinggung di depan, modul ISD1820 mempunyai kemampuan menyimpan suara hingga 10 detik. Nah, hal ini dituangkan dengan menyertakan blok berikut:

Setelah itu, pin 2 harus dibuat menjadi LOW. Hal ini dilakukan oleh:

Subrutin play e digunakan untuk memainkan suara yang terekam dari awal hingga akhir. Untuk memulai suara dimainkan, pin yang terhubung ke P-E perlu dibuat menjadi HIGH. Hal ini dilakukan oleh:

Keadaan HIGH ini cukup dipertahankan selama 500 milidetik. Oleh karena itu, terdapat dua perintah berikut:

 

Namun, untuk mempertahankan keadaan hingga suara berakhir, blok berikut diberikan

Subrutin play 1 digunakan untuk memainkan suara selama 5 detik. Hal ini dilakukan dengan mula-mula membuat pin yang terhubung ke P-L dibuat menjadi HIGH. Perintah yang digunakan untuk keperluan ini:

Penentuan 5 detik dilakukan oleh:

Untuk menghentikan suara dimainkan, pin yang terhubung ke P-L dibuat menjadi LOW. Hal ini djlakukan oleh:

 subrutin ft digunakan untuk membuat suara eksternal yang diambil dari mikrofon diperdengarkan. Pada contoh ini, suara akan diperdengarkan selama 10 detik. Itulah sebabnya, deretan blok yang digunakan adalah seperti berikut:

 

Perintah untuk merekam suara hendaknya tidak diletakkan di Slot loop. Sebab, perekaman pada modul ini mempunyai batas usia, yaitu sekitar 100.000 kali.

Contoh pengujian modul ini ditunjukkan pada Gambar 21.29. Mula-mula, aktifkan serial Monitor dari keadaan tertutup. Kemudian, saat muncul pesan “Yak, mulai berbicara selama 10 detik!”, berbicaralah apa saja selama 10 detik. Suara Anda akan direkam. Selanjutnya, suara Anda akan diputar ulang. Terakhir, efek “feed through” diperdengarkan. Anda akan mendengar suara berderau selama 10 detik.

Gambar 21.29 Hasil pengujian modul ISD1820

21.7 Penyapa Otomatis 

Suara yang terekam pada peranti perekam suara di depan dapat dimanfaatkan untuk memberikan sapaan ketika sesuatu (tidak selalu orang) yang berada di depan pada jarak yang dekat terhadap sensor jarak ultrasonik. Untuk mewujudkan hal ini, Anda perlu menyusun rangkaian seperti berikut:

  • pin P-L modul ISD1820 dihubungkan ke pin 3 Arduino;
  • pin VCC modul ISDI 820 (lihubungkan ke pin 5V Arduino;
  • pin GND modul ISD1820 dihubungkan ke pin GND Arduino;
  • pin VCC modul ultrasonik dihubungkan kc pin 5V Arduino;
  • pin GND modul ultrasonik dihubungkan ke pin GND Arduino;
  • pin Trig modul ultrasonik dihubungkan ke pin 8 Arduino;
  • pin Echo modul ultrasonik dihubungkan ke pin 9 Arduino.

Untuk mempraktikkan penggunaan ketiga blok yang dibahas di depan, silakan untuk membuat proyek baru bernama sapaan . abp. Lalu, susunlah blok seperti terllhat Pada Gambar 21.30.

Gambar 21.30 Blok untuk menangani sapaan otomatis ketika sesuatu berada di depan sensor ultrasonik

Pada proyek ini, blok

digunakan untuk mendapatkan jarak objek yang berada di depan sensor ultrasonik, yang dihubungkan ke pin 8(Trig) dan 9(Echo).Hasilnya disimpan di variabel jarak.

Untuk memudahkan dalam melacak kalau rangkaian tidak berfungsi sebagaimana mestinya di Serial Monitor,blok berikut disertakan:

Blok ini digunakan untuk menampilkan isi variabel jarak di Serial Monitor. Blok berikut digunakan untuk menangani pemutaran suara di modul ISD1820:

Pemutaran suara hanya dilakukan jika nilai jarak lebih dari 0 dan kurang dari atau sama dengan 25cm.Pada blok di atas, setelah suara dimainkan, blok berikut akan membuat pemeriksaan terhadap objek akan dilakukan setelah 60 detik berikutnya:

 


  • 0

20. Eksperimen dengan Tombol

20. Eksperimen dengan Tombol

Penggunaan tombol tekan dalam bebrbagai peralatan otomatis yang akan kita buat sangat penting. Dengan menggunakan pemrograman arduino dengan ardublock akan semakin mempermudah tingkat pemula yang tidak menguasai bahasa pemrograman untuk mempelajari arduino.

Bab ini membahas penggunaan tombol, baik yang bersifat tunggal, maupun berbentuk kelompok.

20.1 Bermain dengan Tombol Tekan 

Tombol tekan yang dunaksud di sini sering kali dinamakan tactile switch momentary pushbutton (Gambar 20.1). Tombol ini memiliki empat terminal. Dibagian bawah terdapat gambar pemisah yang memisahkan dua kelompok terminal kiri dan kanannya. Dalam hal ini, masing-masing dua terminal saling terhubung. Jika tombol ditekan, keempat terminal terhubung. Gambar 20.2 memberikan ilustrasig. Jika tombo1 hal ini.

Gambar 20.1 Tombol tekan

Gambar 20.2 Keempat terminal akan terhubung kalau tombol ditekan

Gambar 20.3 memperlihatkan rangkaian yang digunakan untuk menguji tombol tekan.

Pada rangkaian tersebut, resistor IOK digunakan untuk menghubungkan tombol  tekan dengan ground. Kedudukan resistor seperti itu dinamakan resistor pull-down. tekan palam hal ini, resistor tersebut membuat tegangan di pin 3 berupa 0V (LOW) pada saat tombol tidak ditekan. Adapun resistor yang digunakan pada LED sebesar 220Ω.

Gambar 20.3 Rangkaian untuk menguji tombol tekan

Gambar 20.4 memberikan penjelasan tentang pemisah antar dua kelompok terminal. Tanda cekungan menyatakan letak pemisah yang dijelaskan dalam Gambar 20.2.

Gambar 20.4 Pemisah kelompok dua terminal yang saling terhubung

Untuk menangani ton) bol ditekan atau tidak, blok berikut disediakan Oleh ArduBlock:

Blok ini tersedia di laci .

Untuk mempraktikkan pengendalian LED dengan menggunakan tombol tekan berdasarkan rangkaian pada Gambar 20.3, proyek baru bernama tombol . abp perlu dibuat. Blok yang perlu disusun ditunjukkan pada Gambar 20.5.

Gambar 20.5 Blok untuk mengendalikan LED dengan tombol

Pada proyek ini, variabel statusTomb01 diisi dengan hasil blok

. Blok ini menghasilkan status tombol yang terhubung ke pin digital 2. Selanjutnya, nilai pin 3 diatur sesuai dengan isi variabel statusTomb01. Dengan demikian, mengingat LED terhubung ke pin 3, maka LED akan hidup kalau tombol ditekan dan mati kalau tombol tidak ditekan.

Cara Iain untuk menghubungkan resistor IOK pada tombol ditunjukkan dalam Gambar 20.6. Perhatikan bahwa resistor tersebut dihubungkan ke tegangan 5V. Dengan demikian, tegangan di pin 2 selalu HIGH kalau tombol tidak ditekan. Jika tombol ditekan, pin 2 berubah menjadi LOW.

Gambar 20.6 Rangkaian tombol yang menggunakan resistor pull-up

Untuk mempraktikkan pengendalian LED dengan menggunakan tombol tekan berdasarkan rangkaian pada Gambar 20.3, proyek baru bernama tomb012 . abp perlu dibuat. Blok yang perlu disusun ditunjukkan pada Gambar 20.7.

Gambar 20.7 Blok untuk mengendalikan LED untuk pemakaian resistor pull-up pada tombol tekan

Perbedaan blok pada proyek ini terletak pada penggunaan not pada , yang digunakan untuk membalik logika pada statusTombol. Hal ini diperlukan mengingat pin 2 bernilai HIGH kalau tombol tidak ditekan.

 

20.2 Penggunaan Modul Tombol Tekan 

Untuk meniadakan pengguunaan resistor, kita bisa menggunakan modul tombol tekan sebagai pengganti tombol tekan. Sebagai contoh, Gambar 20.8 menunjukkan  contoh modul yang dinamakan Big Button produksi Itead. Pada modul ini:

  • pin G dihubungkan ke ground;
  • Pin V dihubungkan tegangan SV;
  • Pin S dihubungkan ke pin digital yang akan memberikan nilai HIGH atau LOW.

Gambar 20.8 Modul Big Button keluaran Itead

Untuk menguji modul tombol tekan, rangkaian seperti terlihat pada Gambar 20.9 perlu disusun terlebih dahulu. Untuk modul keluaran vendor lain, silakan untuk merangkai dengan penyesuaian yang bergantung pada komposisi pin.

 

Gambar 20.9 rangkaian untuk menguji Big Button

Untuk mempraktikkan pengujian modul tombol tekan, proyek baru bernama tombo13. abp perlu dibuat. Blok yang perlu disusun ditunjukkan pada Gambar 20.10.

Gambar 20.10 Blok untuk menguji modul tombol tekan

Pada proyek ini, nilai yang dihasilkan dari modul tombol tekan dikirimkan ke Serial Monitor. Dengan demikian, Anda bisa memastikan keluaran modul ketika tombol ditekan, Gambar 20.11 memberikan contoh pengujian dengan Big Button. Keluarannya berupa 1, jika tombol tidak ditekan, Pada modul lain, hasilnya mungkin berbeda.

 

Gambar 20.11 Contoh hasil pengujian modul tombol tekan

 

Jika anda menggunakan modul tombol tekan yang lain, nilai yang dihasilkan mungkin berkebalikan dengan yang dihasilkan oleh Big Btton

20.3 Modul dengan Sejumlah Tombol Tekan 

Jika kita bermaksud menggunakan sejumlah tombol, kita bisa membeli modul yang menyediakan beberapa tombol sekaligus. Sebagai contoh, Gambar 20.12 menunjukka modul yang mengandung 8 tombol. Keluaran masing-masing dapat dipantau melalui pin K1 hingga K8. Adapun, Gambar 20.13 memperlihatkan rangkaian Yang diperlukan untuk mengujinya.

Gambar 20.12 Modul 8 tombol tekan

 

Gambar 20.13 rangkaian untuk menguji 8 tombol tekan

Untuk mempraktikkan pengujian modul 8 tombol tekan, proyek baru bernama 8tombol. abp perlu dibuat. Blok yang perlu disusun ditunjukkan pada Gambar 20.14 dan 20.15.

Gambar 20.14 Blok untuk menguji 8 tombol (bagian pertama)

Gambar 20.15 Blok untuk menguji 8 tombol (bagian terakhir)

Bagian pertama (Gambar 20.14) berisikan perintah untuk menyimpan nilai setiap tombol yang terhubung di pin 2 hingga 9. Variabel yang digunakan berupa k1 hingga k8. Terakhir, subrutin bernama infoTombol dipanggil, yang ditujukan untuk menampilkan informasi mengenai tombol-tombol yang ditekan.

Cara membuat subrutin sudah dibahas pada Bab 11.

Adapun subrutin inforombol didefinisikan untuk menyeleksi tombol yang

ditekan (Gambar 20.6). Sebagai contoh,

digunakan untuk menampilkan tulisan “K8 ditekan” sekiranya isi variabel k8 bernilai 0 (LOW).

Gambar 20.16 menunjukkan contoh hasil pengujian yang dilakukan dengan menekan berbagai tombol.

Gambar 20.16 Hasil setelah berbagai tombol ditekan

 


  • 0

19. Eksperimen dengan Joystick

19. Eksperimen dengan Joystick

Penggunaan joystick masih sangat sering digunakan dalam bebrbagai peralatan sebagai alat kontrol gerak. alat kontrol gerak ini mulai dikembangkan menjadi yang lebih simple yaitu dengan penggunaan hp atau mobilephone dengan pembuatan aplikasi android via bluetooth maupun wifi. Dengan pemrograman arduino dengan ardublock akan mempermudah siswa mempelajari arduino tanpa pengetahuan mengenai bahasa pemrograman.

Bab ini menjelaskan penggunaan joystick. Dasar teori dan pengujian peranti ini dibahas.

19.1 Joystick 

Joystick merupakan peranti masukan yang biasa digunakan dalam Petanti ini digunakan untuk inengatur posisi dua dimensi (Yang dinyatakan dengan x dan y). Modul joystick yang biasa digunakan untuk Arduino ditunjukkan pada Gambar 19.1.

Gambar 19.1 Joystick Keyes KY-023

Modul ini memiliki lima pin, dengan fungsi masing-masing seperti berikut:

  • Gnd: Pin ini perlu dihubungkan ke ground.
  • +5V: Pin ini perlu dihubungkan ke sumber tegangan 5V.
  • VRx: Pin ini perlu dihubungkan ke pin analog dan menghasilkan nilai yang mewakili tegangan antara OV dan 5V.
  • VRy: Pin ini perlu dihubungkan ke pin analog dan menghasilkan nilai yang mewakili tegangan antara OV dan 59.
  • SW: Pin ini menyatakan tombol ditekan atau tidak. Resistor IOK perlu dipasang antara pin ini dan pin 5V, sehingga jika tombol tidak ditekan akan membuat pin ini bernilai HIGH. Jika ditekan, maka nilai pin berupa LOW.

Contoh hubungan modul joystick dan Arduino ditunjukkan pada Gambar 19.2. Resistor 10K dipasang untuk menghubungkan pin 8 dan pin 5V.

Gambar 19.2 Rangkaian untuk percobaanjoystick

19.2 Blok untuk Menangani Joystick 

Tiga blok yang terkait dengan joystick ditunjukkan dalam Tabel 19.1 berikut ini.

Ketiga blok tersebut tersedia di laci

Tabel 19.1 Blok-blok untukjoystick

19.3 Contoh Pemantauan Joystick 

Untuk mernpraktikkan penggunaan ketiga blok yang dibahas di depan, Silakan untuk menbuat proyek baru bernama joys . abp. Lalu, susunlah blok Seperti terlihat pada Gambar 19.3.

Gambar 19.3 Blok untuk memantau nilai-nilai yang dihasilkan oleh joystick

Pada proyek ini, blok berikut digunakan untuk memperoleh status tombol joystick yang terhubung ke pin digital 8:

Adapun blok berikut ini digunakan untuk mendapatkan nilai posisi X pada pin VRx yang terhubung ke pin analog AO:

Posisi Y pada pin VRy yang terhubung ke pin analog Al diperoleh melalui:

contoh hasil pengujian joystick diperlihatkan pada Gambar 19.4. Nilai 1 pada tombol menyatakan tombol tidak diklik, sedangkan nilai 0 menyatakan keadaan ketika tombol diklik

Gambar 19.4 Hasil pengujian joystick

 

 


  • 0

18. Eksperimen dengan Sensor Gas dan Api

18. Eksperimen dengan Sensor Gas dan Api

Dengan adanya Pemrograman Arduino dengan Ardublock akan mempermudah seorang yang tidak mengerti bahasa pemrograman untuk mempelajari dan memahami serta mempraktekkan alat-alat apa saja yang terhubung dengan arduino.

Bab ini membahas sensor yang berhubungan dengan gas dan sensor untuk mendeteksi api. Dibawah ini adalah contoh kasus dari awal dalam untuk menerapkan pemrograman arduino dengan ardublock melalui proses pembelajaran bertahap.

18.1 Sensor Gas 

Sensor gas yang paling populer untuk Arduino adalah sensor keluarga Tersedia berbagai sensor yang ditujukan untuk rnendetcksi gas-gas tertentu.Tabel berikut ini akan mencanttllnkan beberapa sensor jenis MQ.

Tabel 18.1 Sensor keluarga MQ

Gambar 18.1 memperlihatkan beberapa contoh sensor keluarga MQ.

Gambar 18.1 Sensor-sensor keluarga MQ

Modul keluarga MQ memiliki 4 pin. Gambar 18,2 memperlihatkan contoh modul MQ_03 dari sisi atas dan sisi bawah, Pada bagian bawah terdapat potensiometer yang digunakan untuľ mengatur kepekaan sensor ini. Secara prinsip, modul-modul MQ yang lain memiliki karakteristik serupa.

Gambar 18.2 Modul MQ-03

 

Cara menghubungkan modul MQ dengan Arduino adalah seperti berikut:

  • VCC: Pin ini dihubungkan ke pin 5V Arduino.
  • GND: Pin ini dihubungkan ke pin GND Arduino.
  • D0: Pin ini dihubungkan ke pin digital Arduino. Hasilnya berupa nilai 0 atau 1.
  • A0: Pin ini dihubungkan ke pin analog Arduino. Hasilnya berupa nilai antara 0 dan 1023.

Blok-blok yang digunakan untuk menangani sensor keluarga MQ adalah seperti berikut:

  • MQ-02
  • MQ-03
  • MQ-09

Semua blok ini di laci .

Bagaimana halnya untuk menangani sensor-sensor MQ yang lain? Sebenarnya sangat mudah untuk mewujudkan semua jenis sensor MQ tanpa bergantung sensor sangat mudah untuk mewujudkan semua jenis sensor MQ tanpa bergantung sensor

Seperti Hal ini alcan dijelaskan belakangan.

Gambar 18.3 memperlihatkan contoh rangkaian yang digunakan untuk melakuk pengujian rnodul sensor MQ-03. Sensor ini dapat digunakan untuk menguji asap rokok, etanol, atau alkohol.

Gambar 18.3 Rangkaian yang menghubungkan MQ-03 dan Arduino

Harap berhati-hati jika menggunakan sensor keluarga MQ karena sensor mengeluarkan panas yang dapat melukai tangan. Selain itu, jangan kaget jika terdapat bau menyengat seperti barang yang terbakar

Untuk mempraktikkan MQ-03, silakan untuk membuat proyek baru bernama mq3.abp. Lalu, susunlah blok seperti terlihat pada Gambar 18.4.

Gambar 18.4 Blok untuk percobaan MQ03

Pada proyek ini, blok set interger variable digunakan untuk mengisikan nilai yang di dapat sensor ke variabel nilaiPin. Selanjutnya, isi variable ini dikirimkan ke serial Monitor, sehingga anda memantau nilai yang dihasilkan sensor setiap saat.digunakan isi untuk variabel mengifikan ini dikirimkan nilai

Contoh hasil pengujian ditunjukkan pada Gambar 18.5. Gambar sebelah kiri menunjukkan keadaan ketika sensor tidak mendeteksi alkohol. Nilai memang bervariasi, tetapi dari hasil pemantauan tidak pernah mencapai 300. Adapun gambar sebelah kanan menunjukkan keadaan ketika botol Yang berisi alkohol 70% dengan tutupnya dalam keadaan terbuka diletakkan sekitar 1 cm di dekat sensor (Gambar 18.6). Hasilnya, nilai Yang dibangkitkan Oleh sensor lebih besar daripada 400. Berdasarkan percobaan ini, Anda bisa memutuskan sendiri ambang yang digunakan untuk menentukan keberadaan alcohol.

Gambar 18.5 Contoh hasil pengujian sensor MQ-03

 

 

Gambar 18.6 Pengujian sensor MG-03 dengan botol berisi alcohol

Sebagai alternatif, penanganan MQ-03 dapat dilakukan tanpa menggunakan

blok . Untuk mempraktikkannya, silakan untuk membuat proyek baru bernama mq2a . abp. Lalu, susunlah blok seperti terlihat pada Gambar 18.7.

Gambar 18.7 Blok untuk menguji sensor MQ-03 dengan menggunakan blok analog pin

Secara prinsip, cara seperti pada Gambar 18.7 dapat digunakan untuk sensor sensor MQ yang lain.

Contoh lain penggunaan sensor MQ-03 digunakan untuk memberikan dengan menyalakan LED sekiranya nilai yang dihasikan mencapai ambar Pertama-tama,rangkaian seperti terlihat pada Gambar 18.8 perlu disus dahulu.Kemudian, buat proyek baru bernama mq3b.abp. Lalu, susunlah terlihat pada Gambar 18.9.

Gambar 18.8 Rangkaian untuk percobaan MQ-03 dan LED

Gambar 18.9 Blok untuk percobaan M0-03 dan LED

Pada proyek ini, nilai yang dihasilkan oleh sensor (disimpan di variabel Nilaipin) dibandingkan dengan suatu nilai ambang, yakni 450. Jika nilai di variabel tersebut lebih besar atau sama dengan 450, hal itu menandakan bahwa alkohol terdeteksi, LED yang terhubung ke pin 2 dihidupkan selama 2 detik.

18.2 Sensor Api 

Sensor api digunakan untuk mendeteksi api atau radiasi. Sensor ini juga dapat mendeteksi sumber cahaya yang memiliki panjang gelombang antara 760 nm hingga 1100 nm. Sensor ini biasa dikemas dalam bentuk modul. Contoh modul  sensor api ditunjukkan pada Gambar 18.10. Model ini menyerupai dengan modul sensor api Keyes KY-026.

 

Gambar 18.10 Sensor api

Modul ini mempunyai empat pin, dengan fungsi masing-masing seperti berikut:

  • VCC: Pin ini dihubungkan ke sumber tegangan antara 3,3V hingga 5V.
  • GND: Pin ini dihubungkan keground.
  • D0: Pin inj dihubungkan ke pin digital, dan memberikan keluaran berbentuk digital (LOW atau HIGH).
  • A0: Pin ini dihubungkan ke pin analog, dan memberikan nilai integer antara 0 dan 1023.

Contoh hubungan antara modul ini dan Arduino ditunjukkan pada Gambar 18.11.

 

Gambar 18.11 Hubungan modul sensor api dan Arduino

ArduBlock menyediakan blok yang digunakan untuk menangani modul ini, berupa:

Blok ini tersedia do laci  .

Sebagai alternatif, blok berikut juga bisa digunakan:

Blok ini tersedia di laci  .

Untuk mempraktikkannya, silakan untuk membuat proyek baru bernama api .abp. Lalu, susunlah blok seperti terlihat pada Gambar 18.12.

Gambar 18.12 Blok untuk memantau sensor api

Pada proyek ini, nilai balik blok flame sensor yang memantau sensor pada pin 2 disimpan Pada proyek pada variabel ini, nilai bertipe balik digital blok flame yang bernama NILAI PIN. Selanjutnya, sensor pada isi variabelPin 2 ini dikirimkan ke Serial Monitor. Contoh hasil pengujian ditunjukkan pada Gamb 18.13. Pengujian dapat dilakukan dengan mendekatkan lilin yang telah dinyalakan kear sensor api atau dengan menyalakan senter menyoroti sensor (Gambar 18.14).

Gambar 18.13 Hasil pengujian sensor api

Gambar 18.14 Contoh pengujian dengan lilin

Anda ingin memantau nilai analog yang dihasilkan oleh sensor, Anda perlu rangkaian seperti yang diperlihatkan pada Gambar 18.15.

Gambar 18.15 Rangkaian untuk membaca data analog dari sensor api

Selanjutnya, proyek baru perlu dibuat dan disimpan dengan nama api2. abp. Blok yang terkandung di proyek ini ditunjukkan pada Gambar 18.16.

Gambar 18.16 Blok untuk memantau nilai analog yang dibangkitkan oleh sensor api

Karena data yang dibaca berupa data analog, blok analog pin digunakan.

 


  • 0

17. Eksperimen dengan Sensor Air

17. Eksperimen dengan Sensor Air

Pembahasan selanjutnya dalam pembelajaran pemrograman arduino dengan ardublock adalah tentang sensor sensor yang berhubungan dengan air. Tanpa menggunakan bahasa pemrograman kita dapat memanfaatkan arduino dalam memanfaatkan sensor air, sensor kelembaban tanah, dan sensor DHT11 serta DHT22.

Bab ini membahas sensor yang berhubungan dengan air, yang mencakup :

  • Sensor DHT11 dan DHT22
  • Sensor kelembaban tanah
  • Sensor air

17.1 Sensor DHT11 

Sensor DHT11 adalah sensor yang dapat digunakan untuk mengukur Suhu dan kelełnbaban udara. Sensor ini bekerja dengan pasokan tegangan 3V hingga SV. Suhu yang dapat diukur berkisar antara OOC dan 500C. Ketelitian sekitar +20C. Kelembaban udara yang dapat diukur berkisar antara 20 dan 90% RH. Adapun ketelitian kelembaban udara yang diukur sebesar±5%. Sensor ini sering clikemas dalam bentuk modul (Garnbar 17.1).

Gambar 17.1 Modul DHT11

Modul DHT mempunyai tiga pin, dengan rincian sebagai berikut jika dihubungkan dengan Arduino:

  • VCC: Pin ini dihubungkan dengan pin 5V Arduino.
  • GND: Pin ini dihubungkan dengan pin GND Arduino.
  • DATA: Pin ini dihubungkan dengan salah satu pin digital Arduino.

Jika sensor digunakan tanpa modul, contoh penyusunannya dengan Arduino ditunjukkan pada Gambar 17.2. Resistor IOK dipasang antara kaki 1 dan kaki 2. Kaki 3 tidak digunakan.

Gambar 17.2 Rangkaian yang menyatakan hubungan DHTII dan Arduino

Untuk memprogram DHT11, pustaka DHT diperlukan. Pustaka ini dapat diunduh dengan menuliskan URL berikut di browser:

http://duinoedu.com/dl/lib/grove/EDU_DHT_Grove/EDU_DHT_Grove.zip 

Prosedur untuk menginstalnya adalah seperti berikut:

  1. Pilih menu Sketch pada Arduino IDE.
  2. Pilih pada Include Library.
  3. Pilih Add .ZIP Library.
  4. Pilih folder yang berisifile EDU DHT Grove . zip.
  5. Klikpada EDU DHT Grove . zip.
  6. Klik pada tombol Open 

Untuk menangani sensor DHT11, ArduBlock menyediakan blok berikut:

Blok ini terletak di laci

Secara bawaan, blok ini ditujukan untuk mengukur suhu. Jika ingin memfungsikan blok ini sebagai pengukur kelembaban, diperlukan langkah seperti berikut:

    1. Klik pada posisi berikut :

Langkah ini membuat pilihan sensor muncul seperti berikut:

    1. Pilih Humi sensor.

Untuk mempraktikkan DHTII, silakan untuk membuat proyek baru bernama dht11 . abp. Lalu, susunlah blok seperti terlihat pada Gambar 17.3.

 

Gambar 17.3 Blok untuk percobaan DHT11

Blok di atas digunakan untuk membaca suhu dan kelembaban udara. Secara berturutan, data tersebut disimpan di variabel suhu dan kelembaban, yang masing- masing adalah variabel yang dapat menyimpan nilai pecahan. Kemudian, masing- masing data dikirimkan ke Serial Monitor. Contoh hasil pengujian ditunjukkan pada Gambar 17.4.

Gambar 17.4 Contoh hasil pengujian DHTII

 

 17.2 Sensor DHT22 

Sensor DHT22 (atau AM232) adalah sensor yang mempunyai kegunaan dengan DHTI 1. Namun, DHT dapat Inengukur kelembaban dari 0% hingga 100%. Suhu yang dapat diukur mempunyai jangkauan dari -450C hingga +1250C. Gambar 17.5 menunjukkan contoh sensor DHT22.

Gambar 17.5 Sensor DHT22

Contoh rangkaian yang digunakan untuk mencoba DHT22 diperlihatkan pada Gambar 17.6.

 

Gambar 17.6 Rangkaian untuk percobaan DHT22

Untuk menangani sensor DHT22, ArduBlock menyediakan blok berikut:

Blok ini terdapat di laci

Secara bawaan, blok ini adalah untuk mengukur kelembaban udara. Jika ingin menjadikannya untuk mengukur suhu, diperlukan langkah-langkah seperti berikut:

  1. Klik pada posisi berikut:

Langkah ini membuat pilihan sensor muncul seperti berikut:

  1. Pilih Humi sensor.

Untuk memprogram DHT22, pustaka DHT seperti pada DHTII diperlukan. Jika Anda sudah menginstalnya di depan, maka Anda tidak perlu menginstalnya kembali.

Untuk mempraktikkan DHT22, buatlah proyek baru bernama dht22 . abp. Lalu, susunlah blok seperti terlihat pada Gambar 17.6.

Gambar 17.6 Blok untuk percobaan DHT22

Blok di atas digunakan untuk membaca suhu dan kelembaban udara. Secara berturutan, data tersebut disimpan di variabel suhu dan kelembaban. Kemudian, masing-masing data dikirimkan ke Şerial Monitor. Contoh hasil pengujian ditunjukkan pada Gambar 17.7.

 

Gambar 17.7 Contoh hasil pengujian sensor DHT22

17.3 sensor Kelembaban Tanah

Sensor kelembaban tanah adalah sensor yang berguna untuk mengukur kelembaban tanah. contoh sensor ini diperlihatkan pada Gambar 17.8. Sensor ini mempunyai empat pin, dengan masing-masing perlu dihubungkan ke Arduino sebagai berikut:

  • VCC: Pin ini dihubungkan ke pin 5V Arduino.
  • A0: Pin ini dihubungkan dengan pin analog.
  • DO: Pin ini dihubungkan dengan pin digital.
  • GND: Pin dihubungkan dengan salah satu pin GND Arduino.

Gambar 17.8 Sensor kelembaban tanah YL-IOO

  Contoh hubungan antara sensor kelembaban tanah dan Arduino ditunjukkan. Gambar 17.9. Rangkaian ini akan digunakan untuk rnenyalakan atau mematikan LED bergantung pada nilai di pin analog A0, Jika pin A0 bernilai lebih dari 500, LED dinyalakan. Untuk keadaan sebaliknya, LED dimatikan.

Gambar 17.9 Rangkaian yang menghubungkan sensor kelembaban tanah dan Arduino

Persiapan sebelum melakukan pengujian, Anda perlu menyusun rangkaian di atas dan kemudian meletakkan pencolok yang digunakan untuk mendeteksi kelembaban tanah pada tanah yang diletakkan dalam gelas plastik, seperti yang diperlihatkan pada Gambar 17.10.

 

Gambar 17.10 Pemasangan pendeteksi kelembaban tanah

Untuk menangani sensor ini, ArduBlock menyediakan blok berikut:

Blok ini terdapat di laci . Alternatif Iain berupa blok:

Blok ini tersedia di laci

Untuk mempraktikkan pengukuran dengan sensor kelembaban tanah, silakan untuk membuat proyek baru bernama lembab . abp. Lalu, susunlah blok seperti terlihat pada Gambar 17.11

Gambar 17.11 blok untuk melihat efek tanah yang kering dan yang basah

Blok di depan digunakan untuk melihat nilai di pin 8 dengan menampilkannya Serial Monitor. Contoh hasil pengujian sensor kelembaban tanah ditunjukkan dalarndi Gambar 17.12. Nilai 1 menyatakan keadaan ketika tanah yang kelembabannya diukur dalam keadaan kering, sedangkan nilai 0 menyatakan keadaan ketika tanah mulai basah.

Gambar 17.12 Hasil percobaan pengukuran kelembaban tanah

Sejauh ini, LED di rangkaian pada Gambar 17.9 belum dimanfaatkan sepenuhnya. Nah, sekarang kita kembangkan agar LED menyala jika nilai kelembaban terukur melebihi 500. Untuk itu, silakan untuk membuat proyek baru bernama lembab2 . abp. Lalu, susunlah blok seperti terlihat pada Gambar 17.13.

Gambar 17.13 Blok untuk memantau tingkat kelembaban tanah dengan LED

Pada blok di depan, pengiriman informasi ke Serial Monitor digunakan untuk melacak nilai yang dihasilkan oleh sensor, sehingga daapat dipakai untuk memeriksa LED berfungsi sebagaimana yang dikehendaki atau tidak. Perintah if/else digunakan untuk mengendalikan LED. Jika nilai variabel kelembaban melebihi 500, maka berarti tanah dalam keadaan kering,LED dinyalakan. Untuk keadaan sebaliknya,LED dimatikan.

Aplikasi pengukuran kelembaban tanah dapat dikembangkan lebih jauh dengan memberikan informasi mengenai kelembaban tanah dengan menyalakan LED dengan wama hijau, kuning, atau merah. Untuk keperluan ini, LED tiga warna digunakan. Rangkaian yang diperlukan ditunjukkan pada Gambar 17.14.

Gambar 17.14 Blok untuk mengatur LED berdasarkan nilai kelembaban tanah

Untuk mempraktikkannya, silakan untuk membuat proyek barubernama lembab3.abp. Lalu, susunlah blok seperti terlihat pada Gambar 17.15.

Gambar 17.15 Blok untuk mengendalikan tiga LED berdasarkan nilai kelembaban tanah

Ada tiga keadaan yang ditangani oleh blok di atas. Oleh karena itu, diperlukan dua i f /else bertingkat. Kondisi-kondisi tersebut adalah:

  1. Kelembaban tanah lebih dari 600;
  2. Kelembaban tanah lebih dari 250 dan kurang dari atau sama dengan 600;
  3. Kelembaban tanah kurang dari 250.

Kondisi pertama dituangkan dengan ekspresi . Kondisi kedua

cukup diwakili oleh: . Tidak perlu lagi untuk memeriksa kurang dari atau sama dengan 600 disebabkan jika if dengan kondisi

dieksekusi, maka memiliki arti bahwa nilainya pasti kurang dari atau sama dengan 600. Kondisi ketigapasti terpenuhi jika ekspresi  dan bernilai false.

17.4 Sensor Air 

Sensor air sering kali juga disebut sensor curah hujan. Salah satu bentuk modulnya diperlihatkan pada Gambar 17.16. Sensor ini memiliki tiga pin, dengan rincian masingmasing seperti berikut:

  • SIG: Pin ini berupa nilai analog antara 0 dan 1024 yang menyatakan kandungan air, jika dihubungkan ke pin analog atau berupa 0 atau 1 kalau dihubungkan ke pin digital. Nilai rendah menyatakan banyak air dan nilai tinggi menyatakan kering.
  • VCC: Pin ini perlu dihubungkan dengan tegangan 5V.
  • GND: Pin ini dihubungkan ke ground.

Beberapa vendor membuat sensor air yang antara pendeteksi dan modul dipisah; misalnya YL-83. Contoh hubungan seperti ini dengan Arduino ditunjukkan pada Gambar 17.17.

Gambar 17.16 Sensor air

Gambar 17.17 Rangkaian untuk percobaan sensor air YL-83

Untuk menangani sensor ini, ArduBlock menyediakan blok berikut:

Blok ini terdapat di laci

Untuk mempraktikkan sensor air, silakan untuk membuat proyek baru bernama air.abp. Lalu, susunlah blok seperti terlihat pada Gambar 17.18.

Gambar 17.18 Blok untuk percobaan sensor air

Blok ini menyimpan nilai yang dihasilkan oleh sensor air ke variabel bertipe digital yang bernama statusAir. Selanjutnya, isi variabel ini ditampilkan di Serial Monitor. Contoh hasil pengujian ditunjukkan pada Gambar 17.19.

Gambar 17.19 Contoh hasil pengujian sensor air

Jika dikehendaki untuk membaca data dalam bentuk analog, pin SIG dapat dihubungkan ke pin analog. Contoh ditunjukkan pada Gambar 17.20 atau 17.21. Penyusunan modul yang Anda gunakan mungkin sedikit berbeda terhadap Gambar 17.20 dan 17.21, bergantung pada komposisi pin.

Gambar 17.20 Sensor air dihubungkan ke pin analog

Gambar 17.21 Sensor air tanpa modul penghubung

Untuk mempraktikkan sensor air, silakan untuk membuat proyek baru bernama air2 . abp. Lalu, susunlah blok seperti terlihat pada Gambar 17.22.

Gambar 17.22 Blok untuk pengujian sensor air melalui pin analog

Berbeda dengan contoh sebelum ini, pembacaan sensor air dilakukan melalui Dengan menggunakan blok ini, pembacaan data melalui pin analog dimungkinkan.

Contoh hasil pengujian diperlihatkan pada Gambar 17.23. Pada contoh ini, angka di atas 800 menyatakan keadaan ketika bagian pendeteksi air dalam keadaan kering, sedangkan angka sekitar 200 menyatakan keadaan ketika bagian pendeteksi air dalam keadaan basah.

 

Gambar 17.23 Hasil pengujian sensor air melalui pin analog

Gambar 17.24 memperlihatkan contoh untuk menguji sensor ini. Sensor diletakkan wadah bekas es krim. Untuk membuat sensor menjadi basah, air perlu dituangkan ke wadah tersebut.

Gambar 17.24 Sensor air diletakkan pada wadah bekas es krim

 

 


  • 0

16. Eksperimen dengan Modul Bluetooth di Arduino Ardublock

16. Eksperimen dengan Modul Bluetooth

Peranan modul bluetooth sangat penting untuk mengontrol alat yang kita buat menggunakan arduino. Pembelajaran Pemrograman arduino dengan ardublock untuk diterapkan dibluetooth dijelaskan secara detail berikut ini.

Bab ini menjelaskan cara menguji modul Bluetooth.

Contoh yang digunakan adalah modul HC-06

16.1 Pengantar Bluetooth dan HC-06 

Bluetooth merupakan salah standar komunikasi nirkabel yang sangat populer. M yang digunakan adalah gelombang radio dengan frekuensi antara 2.4 dan 2.485 GHz.

Agar Arduino dapat berkomunikasi menggunakan Bluetooth, peranti modul BLE (Bluetooth LoyEnergy) ataupun non-BLE dapat digunakan. Kedua jenis modul ini didukung oleh ArduBlock. Gambar 16.1 memperlihatkan contoh modul Bluetooth HC-06.

Gambar 16.1 Modul HC-06

Modul HC-06 memiliki 4 pin. Masing-masing perlu dihubungkan ke Arduino dengan ketentuan seperti berikut:

  • VCC: Pin ini dihubungkan ke pin 5V Arduino.
  • GND: Pin ini dihubungkan ke pin GND Arduino.
  • TXD: Pin ini dihubungkan ke pin digital di Arduino yang bertindak sebagai penerima.
  • RXD:Pin ini dihubungkan ke pin digital di Arduino yang bertindak sebagai pengirim.

Contoh penyusunan rangkaian diperlihatkan pada Gambar 16.2. LED disertakan untuk kepentingan lain, yang akan dibahas pada bab selanjutnya.

 

16.2 Pengaturan Laju Bit HC-06 

Secara bawaan, laju bit HC-06 sebesar 9600 bps. Adapun laju bit yang digunakan oleh ArduBlock sebesar 19200 bps. Karena perbedaan ini, laju bit pada HC-06 perlu diubah terlebih dahulu. Untuk melakukan perubahan ini, rangkaian seperti yang terlihat pada Gambar 16.2 perlu digunakan.

Gambar 16.1 Modul HC-06

Untuk melakukan perubahan laju bit pada HC-06, buatlah sketsa baru di Arduino IDE dengan mula-mula memilih menu File dan kemudian New. Berikutnya, tulislah sketsa berikut di editor:

#include <SoftwareSeriaI . h>

SoftwareSerial seri a IBt (2, 3) ;

 

Void setup()

Serial. begin (9600) ;

Serial. println (“Perintah AT:” );

// la ju bit bawaan HC-06 serialBt . begin (19200);

}

void loop () {

if(serialBt.availab1e()

Serial.write(serialBt.read());

if (Serial. available()) {

char ch = Serial. read() ;

Serial.write(ch); serialBt.write (ch) ;

}

}

Lalu, simpan dengan nama aturBt dan unggahkan ke papan Arduino.

Setelah sketsa diunggah, Serial Monitor perlu diaktifkan. Tampilan ditunjukkan pada Gambar 16.3.

Gambar 16.3 Tampilan awal di Serial Monitor

Mula-mula, ujilah dengan mengetikkan AT di Serial Monitor, seperti yang terlihat pada Gambar 16.4. Lalu, hasil setelah tombol diklik semestinya adalah terlihat pada Gambar 16.5. Ya, Anda akan menjumpai tanggapan berupa “OK”‘

 

Gambar 16.4 Teks AT diketik di kotak sebelah kiri tombol Send

Gambar 16.5 Tanggapan OK menyatakan bahwa perintah AT berhasil diproses

Untuk melakukan perubahan laju bit pada modul HC-06 sebesar 19200 bps, berikan perintah berikut pada Serial Monitor:

AT+BAUD5

Jika tidak ada kesalahan, maka akan diperoleh hasil seperti terlihat pada Gambar

16.6. Tanggapan berupa “OK19200” menyatakan bahwa laju bit telah diubah menjadi 19200 bps.

Gambar 16.6 Tanggapan setelah laju bit berhasil dipindahkan ke 19200 bps

16.3 Pengaturan Pasangan Bluetooth 

Untuk melakukan pengujian Bluetooth, Arduino akan dipasangkan dengan bluethooth milik computer. Pertama-tama, perlu dipastikan bahwa computer yang akan digunakan untuk pengujian mengandung peranti Bluetooth. Caranya, klik pada Show hidden icons pada posisi berikut di task bar :

Jika terlihat kehadiran ikon , hal itu menandakan bahwa komputer mengandung peranti Bluetooth. Jika tidak, Bluetooth dongle seperti yang ditunjukkan pada Gambar 16.7 perlu disisipkan di port USB komputer.

Gambar 16.7 Bluetooth dongle

Langkah untuk menghubungkan HC-06 ke PC adalah seperti berikut:

  1. Aktifkan Control Panel.
  2.  Klikpada Adda device. Hasilnya, muncul jendela seperti terlihatpada Gambar168

Gambar 16.8 HC-06 sebagai peranti baru

  1. Klik pada .
  2. Klik pada tombol  Hasilnya ditunjukkan dalam Gambar 16.9. Klik pada tombol

Gambar 16.9 Pengisian password untuk peranti HC-06

  1. Ketik:

1234

Perlu diketahui, 1234 adalah password bawaan untuk HC-06.

  1. Klik pada tombol . Maka, proses instalasi dilakukan, seperti

ditunjukkan pada Gambar 16.10.

Gambar 16.10 Proses instaling HC-06

  1. Tunggulah sampai jendela tertutup.

Prosedur di depan hanya diperlukan sekali.

Selanjutnya, port di komputer yang digunakan untuk berkomunikasi dengan Hc.06 tersebut perlu diketahui. Caranya adalah seperti berikut:

    1. Dengan menggunakan Control Panel, klik pada View devices and printers. Anda akan melihat kehadiran seperti yang diperlihatkan pada Gambar 16.11.

Gambar 16.11 Daftar semua peranti dan printer

  1. Klik ganda pada untuk memperoleh informasi detail peranti ini. Hasilnya diperlihatkan pada Gambar 16.12.

Gambar 16.12 Informasi rinci HC-06

  1. Klik pada tab Hardware. Hasilnya ditunjukan pada Gambar 16.13.

 

Gambar 16.13 Informasi nomor port terdapat di sini

  1. Catat nomor port untuk HC-06. Pada contoh ini berupa COM7.
  2. Klik pada tombol “OK”untuk menutup jendela.

16.4 Blok Pengendali Arduino 

Sekarang, blok yang digunakan agar Arduino dapat membaca data dari PC dan sekaligus digunakan untuk mengendalikan PC perlu dibuat. Untuk keperluan ini, proyek baru bernama bluetooth . abp perlu dibuat. Blok yang perlu disusun ditunjukkan pada Gambar 16.14.

 

Gambar 16.14 Blok untuk mengendalikan LED melalui modul Bluetooth

pada contoh ini,

digunakan untuk menentukan pin-pin di Arduino yang digunakan untuk berhubungan dengan modul Bluetooth. Dalam hal ini, pin 2 menyatakan pin penerima pada Arduino dan pin 3 menyatakan pin pengirim. Perlu diketahui, blok SLE Shield terdapat di laci

Blok berikut digunakan untuk memproses LED sekiranya terdapat data yang diterima oleh modul Bluetooth:

Oleh karena itu, di slot then terdapat perintah untuk membaca karakter yang dikirim dari pasangan Bluetooth dan memproses karakter tersebut untuk mengendalikan LED. Pembacaan satu karakter dari modul Bluetooth ditangani oleh;

Blok Ini metnbuat karakter yang dibaca diletakkan di variabel karakter

Selanjutnya, isi variabel karakter ini ditantampilkan di Serial Monitor melalui dan diproses lebih jauh oleh blok berikut:

Blok inilah yang menghidupkan LED kalau isi karakter berupa 1 atau mematikan LED kalau isi karakter berupa 0.

Walaupun blok BLE Sheield memungkinkan untuk menentukan pin selain 2 dan 3, kenyataannya hasil dalam sketsa C selalu menggunakan pin 2 dan 3. Itulah sebabnya disarankan untuk menggunakan pin 2 dan 3 saja.

16.5 Instalasi Tera Term 

Tera Term adalah perangkat lunak yang bermanfaat untuk melakukan koneksi dengan suatu PC melalui port serial ataupun melalui media Iain. Software ini dapat diunduh secara gratis di:

http://logmett.com/tera-term-the-latest-version 

Versi yang digunakan pada percobaan ini adalah 4.92.

Setelah mengunduh Tera Term, silakan untuk melakukan instalasi. Anda cukup mengikuti nilai-nilai bawaan untuk menginstal-nya.

16.6 Pengujian dengan Tera Term 

Setelah Tera Term diinstal, silakan untuk menjalankannya. Tampilannya ditunjukkan pada Gambar 16.15.

Gambar 16.15 Tampilan awal tera term

Karena kita menggunakan komunikasi serial, maka kliklah pada tombol radio Serial, seperti yang terlihat pada Gambar 16.16.

Gambar 16.16 Keadaan setelah tombol radio Serial diklik

Lalu, pilihlah portyang sesuai yang diperoleh berdasarkan hasil Gambar 16.13. Pada contoh, port yang digunakan untuk Bluetooth adalah COM7, Pilihannya adalah seperti Yang ditunjukkan pada Gambar 16.17.

Gambar 16.17 Penentuan port untuk komunikasi serial dengan Bluetooth

Setelah tombol OK diklik, diperoleh tampilan seperti terlihat pada Gambar 16.18

Gambar 16.18 Antarmuka Tera Term untuk berkomunikasi dengan Arduino

Jika tidak ada masalah, LED merah di HC-06 pun akan berhenti berkedip-kedip Hal ini menandakan bahwa hubungan antara Bluetooth di PC dan modul HC-06 sudah terbentuk.

Nah, sekarang Anda bisa mencoba untuk mengetik angka 1 di Tera Tefl Hasilnya, jika tidak ada masalah, LED pun menyala. Adapun di Serial Monitor, Anda bisa memantau karakter yang diketik di Tera Term. Sebagai contoh, Gambar 1619 menampilkan 1 setelah angka 1 diketik di Tera Term.

 

Gambar 16.19 Serial Monitor menampilkan karakter yang diketik di Tera Term

 

Jika Anda menginginkan Tera Term menampilkan setiap yang Anda ketik, lakukan pengaturan seperti berikut:

    1. Klik pada menu Setup. Kemudian, klik pada Terminal…. Akan muncul jendela seperti berikut:
    2. Centang pada kotak cek Local ECHO
    3. Klik pada tombol OK.

16.7 Pengembangan Aplikasi Pasangan 

Contoh yang diberikan di bab ini hanya menekankan pada pengujian menggunakan PC. Dalam praktik nyata, Anda bisa membuat aplikasi di modul sisi PCBluetooh dengan Processing, maupun di sisi Android, misalnya dengan App Inventor.

 


  • 0

14. Eksperimen dengan Motor Dc dan Motor Servo

14. Eksperimen dengan Motor DC dan Motor Servo

Pengendalian motor DC dan Motor Servo merupakan element penting dalam penerapan akan kemanfaatan arduino. Dengan menggunakan Pemrograman arduino dengan ardulock akan memudahkan kita memahami cara pengendalian motor DC dan motor dc serta bagaimana cara pengaturan kecepatan dan arah putaran motor DC tanpa menggunakan bahasa pemrograman sedikitpun.

Bab ini membahas cara mengendalikan motor DC dan motor servo.Pengaturan kecepatan dan arah putaran motor DC ikut dikupas.

14.1 Pengenalan Motor DC dan Motor Servo 

Sesuai dengan namanya, motor DC adalah jenis motor yang dikendalikan oleh arus searah atau DC (direct current). Motor ini memiliki dua kabel. Satu kabel dihubungkan ke tegangan positif dan kabel kedua dihubungkan ke ground. Kabel yang dihubungkan ke tegangan positif boleh yang mana saja. Arah putaran rotor (bagian motor yang berputar) ditentukan oleh kabel yang terhubung ke tegangan positif.

Motor DC banyak digunakan pada mainan mobil. Begitu juga kipas angin kecil. Gambar 14.1 memberikan contoh motor DC.

Gambar 14.1 Motor DC 5V, dapat diberi tegangan antara 3V dan 6V

Motor servo adalah motor yang juga menggunakan tegangan DC, tetapi mempunyai sifat yang khas, yakni memungkinkan pengaturan ke sudut tertentu. Hal ini terjadi pada motor servo yang berputar dari 0 hingga 180 derajat. Motor servo dapat digunakan untuk membuka pintu, mengatur gerakan lengan robot, atau membelokkan arah pesawat terbang mainan.

Gambar 14.2 memberikan contoh motor servo. Motor ini mempunyai tiga kabel. Umumnya, warna kabel berupa merah, cokelat, dan oranye. Kabel merah dihubungkan ke sumber tegangan 5V, kabel cokelat dihubungkan ke ground, dan kabel oranye dihubungkan ke pin digital untuk mengontrol sudut motor.

Gambar 14.2 Motor servo SG90

Untuk motor servo berukuran kecil, misalnya SG90, tegangan dapat diambilkan dari pin 5V milik Arduino. Namun, kalau jumlah motor servo yang dilibatkan lebih dari 2 atau mempunyai torsi yang besar, tegangan eksternal diperlukan.

14.2 Eksperimen Sederhana Pengendalian Motor DC 

Untuk kepentingan praktik pengendalian motor DC, yakni memungkinkan untuk mematikan atau menghidupkan motor tersebut, satu resistor jenis TIPI 20 (Gambar 14,3) dan satu diode IN4001 (Gambar 14.4) diperlukan. TIP 120 adalah transistor jenis NPN yang dikenal dengan sebutan “Power Darlington Transistor”. Transistor ini mampu melewatkan arus puncak sebesar 8A. Akan tetapi, arus yang normal yang dilewatkan sebesar 5A.

Gambar 14.3 Transistor TIP120

Diode IN4001 adalah jenis diode yang dapat adalah komponen yang hanya dapat mengalirkan yang diberi lingkaran perak pada badan diode adalah anode. Fungsi diode dalam rangkaian motor adalah untuk mencegah tegangan balik ketika putaran motor dihentikan, yang jika tidak ditangani dapat merusakkan transistor :

Gambar 14.4 Diode IN4001

Selanjutnya, penyusunan rangkaian yang perlu dilakukan diperlihatkan pada Gambar 14.5. Dalam hal ini baterai 9V digunakan untuk memasok tegangan pada motor DC. Adapun motor DC yang digunakan adalah motor DC 5V.

 

Gambar 14.5 Rangkaian percobaan untuk mengendalikan motor DC

Untuk melakukan pengujian, proyek baru bernama motor . abp perlu dibuat terlebih dahulu. Kemudian, blok seperti terlihat pada Gambar 14.6 perlu disusun.

Gambar 14.6 Blok untuk memutar dan menghentikan motor

Pada proyek ini, mula-mula pin 11 dibuat menjadi HIGH, yang membuat basis dialiri arus dan menjadikan motor berputar. Motor dalam keadaan berputar selama 2 detik berkat blok:

Selanjutnya, motor dihentikan dengan memberikan pin 11 bernilai LOW. Motor pun berhenti selama 2 detik.

14.3 Eksperimen untuk Mengatur Keccpatan Putar Motor DC 

Agar kecepatan motor dapat diatur, artif yang mengalir di reqistor yang terhub ke basis penu disetel. Hal ini dapat dilakukan dengan rnengatur nilai di pin 11 agar berisi nilai bilangan bulat yang berkisar dari 0 hingga 255. Nah, pengaturan nilai ini dapat dikendalikan melalui potensiorneter Untuk keperluan ini, Anda bisa rnenggunakan potensiometer sebesar 5K. Adapun rangkaian yang digunakan seperti berikut ini:

Gambar 14.7 Rangkaian yang memungkinkan kecepatan motor DC bisa diatur

Untuk melakukan pengujian, proyek baru bernama kecepatanMotor . abp perlu dibuat terlebih dahulu. Kemudian, blok seperti terlihat pada Gambar 14.8 perlu disusun.

Gambar 14.8 Blok untuk mengatur putaran motor melalui potensiometer

Mula-mula, variabel nilaiPinA0 diisi dengan nilai pada pin analog A0, yakni in yang terhubung ke kaki tengah potensiometer. Selanjutnya, nilai yang berada di variabel tersebut dikonversi ke bilangan antara 0 dan 255 dan hasilnya diberikan ke 11. Dengan demikian, nilai analog di pin 11 akan bergantung kepada putaran poros potensiometer.

14.4 Pengontrolan Motor DC dengan Relai

selain menggunakan transistor, pengendalian terhadap motor DC dapat ditangani dengan menggunakan relai. Namun, dengan menggunakan relai, pengaturan kecepatan motor tidak dapat dilakukan. Dengan perkataan lain, motor hanya dapat diputar dan dihentikan.

Untuk memudahkan dalam mempraktikkan relai untuk mengontrol motor DC, Anda bisa menggunakan modul relai (Gambar 14.9). Pada contoh ini, VCC menyatakan pin yang perlu dihubungkan ke tegangan positif 5V, GND perlu dihubungkan ke ground, dan IN1 perlu dihubungkan ke pin digital Arduino

Gambar 14.9 Contoh modul relai

Rangkaian pengontrolan motor DC menggunakan relai ditunjukkan pada Gambar 14.10. Pada gambar ini, modul yang digunakan adalah Keyes KY-022. Pada bagian bawah, bagian kiri, yang ditandai simbol S, adalah pin pengatur relai, pin tengah sebagai VCC, dan pin kanan sebagai pin GND. Pada bagian atas, bagian kiri adalah NC, bagian tengah adalah COM, dan bagian kanan adalah NO. Modul lain berkemungkinan mempunyai susunan yang berbeda.

Gambar 14.10 Rangkaian untuk mengendalikan motor DC menggunakan modul relai

Untuk melakukan pengujian, proyek baru bernama motorRe1ai . abp perlu dibuat terlebih dahulu. Kemudian, blok seperti terlihat pada Gambar 14.11 perlu disusun.

Gambar 14.11 Blok untuk menguji relai dalam mengendalikan motor DC

Secara prinsip, blok di atas digunakan untuk membuat pin 2 dalam keadaan HIGH atau LOW, yang akan membuat terminal COM dan NO terputus atau terhubung. Hal inilah yang membuat motor berhenti atau berputar.

14.5 Pengaturan Arah Putar dan Kecepatan Motor DC Menggunakan Motor Driver L289N 

Untuk memudahkan dalam mengontrol arah putaran motor DC, modul yang dinamakan L298N dapat digunakan. Contoh modul ini ditunjukkan pada Gambar 14.12. Dalam praktik, Anda bisa menggunakan modul dari vendor lain.

 

Gambar 14.12 Motor driver L298N keluaran LSON

IC L298N sebenarnya menggunakan prinsip jembatan-H untuk memungkinkan arah putaran motor bisa ditentukan. Prinsipnya ditunjukkan pada Gambar 14.13. Dengan menggunakan prinsip ini, sebenarnya dua relai bisa digunakan untuk mengatur arah putaran motor. Namun, kelemahannya, relai tidak dapat digunakan untuk mengatur kecepatan motor.

Gambar 14.13 Prinsip jembatan-H untuk mengatur arah putaran motor

Kembali ke modul L298N, modul ini dapat digunakan untuk mengatur arah putaran dua motor DC. Dalam hal ini:

  • pin Enable A, Input 1, dan Input 2 digunakan untuk mengatur motor DC yang terhubung ke Output 1, dan Output 2;
  • pin Enable B, Input 3, dan Input 4 digunakan untuk mengatur motor terhubung ke Output 3, dan Output 4.

Hubungan antara masukan dan keluaran dicantumkan pada Tabel 14.1 contoh hanya untuk Enable A, Input 1, Input 2, dan Output 1, serta Output 2. Namun hal ini berlaku untuk Enable B, Input 3, Input 4, Output 3, dan Output 4.

Tabel 14.1 Hubungan pengontrolan motor DC melalui L298N

Untuk memahami pengontrolan motor DC dengan modul L298N tanpa menggunakan Arduino termasuk dalam hal kecepatan, mula-mula dua jumper seperti yang diperlihatkan pada Gambar 14.14 perlu dilepas terlebih dahulu. Kedua jumper tersebut dalam keadaan terpasang menyatakan bahwa kedua pin Enable selalu dalam keadaan HIGH (yakni bernilai 255).

Gambar 14.14 Jumper pada motor driver LSON L298N

selanjutnya, susunlah rangkaian seperti terlihat pada Gambar 14.15. Setelah itu, cobalah untuk mencoba seluruh kemungkinan yang tercantum di Tabel 14.1. Dalam hal ini, Enable yang bernilai > 0 diterjemahkan dengan menghubungkan ke pin 5V di modul L298N dan O dihubungkan ke pin GND. Untuk Input 1 dan Input 2, 0 berarti dihubungkan ke GND dan I berarti dihubungkan ke pin 5V.

Gambar 14.15 Motor driver LSON L298N

Adapun rangkaian yang diperlukan untuk menguji modul L298N dengan Arduino diperlihatkan dalam Gambar 14.16.

Gambar 14.16 Rangkaian untuk menguji L298N menggunakan Arduino

Untuk melakukan pengujian, proyek baru bernama L2 98 . abp perlu dibuat terlebih dahulu. Kemudian, blok seperti yang terlihat pada Gambar 14.17 perlu disusun.

 

Gambar 14.17 Blok untuk mengendalikan motor DC menggunakan modul L298N

Pada proyek ini, blok berikut digunakan untuk mengatur pin 11 (yang berfungsi untuk mengontrol Enable A) agar bernilai 128:

Angka tersebut digunakan untuk mengatur kecepatan putar motor pada kondisi setengah kecepatan tertinggi. Penempatan blok tersebut di Slot setup disebabkan pengaturan ini perlu dilakukan sekali. Deretan blok berikut digunakan untuk memutar motor DC selama 3 detik pada suatu arah putar:

Adapun blok berikut (digunakan untuk memutar motor DC selama 3 dctik pada arah yang berlawanan dengan contoh sebelum ini:

Untuk membuat nłoîor berlłenti berputar, baik pin 8 maupun 9 diberi nilai LOW

14.6 Pengendalian Motor Servo 

Motor servo memiliki tiga kabel, yang umumnya berwarna merah, cokejat, dan oranye. Kabel merah dihubungkan ke tegangan positif 5V, kabel cokelat dihubungkan ke ground, dan kabel oranye dihubungkan ke pin digital. kabel oranyc inilaŕ, Yang berfungsi sebagai pengontrol sudut motor servo. Gambar 14.18 memperlihatkan contoh penyusunan rangkaian yang digunakan untuk percobaan dengan motor servo.

Gambar 14.18 Rangkaian pengontrol motor servo

 

penanganan motor servo di ArdvBlock dilakukan dengan menggunakan blok berikut;

Blok ini terdapat pada laci . Jika motor servo yang Anda miliki adalah jenis SG90 atau MG996R, Anda perlu roengganti Default dengan jenis motor tersebut. Untuk melakukannya, letakkan penunjuk mouse pada posisi berikut:

Kemudian, kliklah. Akan muncul daftar pilihan seperti berikut: . Terakhir, klik!ah pada jenis motor servo yang digunakan. Contoh berikut menunjukkan keadaan setc!ah SG90 dipilih:

Untuk melaksanakan percobaan dengan motor servo, buatlah proyek baru bernama servo. abp. Kemudian, susunlah blok seperti yang diperlihatkan pada Gambar 14.19. Untuk jenis motor, sesuaikan dengan yang Anda gunakan. Jika motor yang digunakan bukanlah SG90 atau MG996R, pilihlah Default.

Gambar 14.19 Blok untuk percobaan motor servo

Untuk memudahkan dalam melihat arah motor servo, pasanglah penunjuk arah misalnya seperti berikut:

14.7 Motor Servo dan Sensor Jarak Ultrasonik

Untuk membuat suatu pendeteksi halangan pada arah 0 hingga 180 derajat, kita bisa menyusun perangkat seperti terlihat pada Gambar 14.20. Bahan-bahan dasar yang digunakan, selain motor servo, diperlihatkan pada Gambar 14.21.

 

 

Gambar 14.20 Pendeteksi halangan pada arah 0 hingga 180 derajat

Gambar 14.21 Bahan-bahan yang digunakan untuk menyusun perangkat pada Gambar 14.20

Untuk keperluan ini, rangkaian seperti yang torlihat pada Gambar 14.22 perlu disusun terlebih dahulu.

Gambar 14.22 Rangkaian untuk percobaan motor servo dan sensor jarak ultrasonik

Untuk melakukan pengujian, proyek baru bernama servoUltra . abp perlu dibuat terJebih dahulu. Kemudian, blok sepcrti terlihat pada Gambar 14.23 disusun.

 

Gambar 14.23 Blok untuk melakukan deteksi keberadaan objek pada arah 0 hingga 180 derajat

Pengendalian sudut dari 0 hingga 180 diatur melalui:

Kenaikan sudut dilakukan sebesar 30 derajat. Pada setiap suduț yang tersimpan di variabel sudut, arah motor servo ditentukan melalui:

Pengukuran jarak dilakukan oleh:

 

Dalam hal ini, pin dengan 8 terhubung ke pin Trig dan pin 9 terhubung ke pin Echo. Variabel jarak akan terisi dengan jarak objek.

Untuk mengetahui keberadaan objek pada jarak tertentu, blok berikut diperlukan.

Pada contoh ini hanya objek yang berjarak 25 cm yang diperhitungkan. Jika terdapat objek yang berjarak antara 1 dan 25, blok-blok berikut dijalankan:

Contoh hasil pengujian diperlihatkan pada Gambar 14.24.

Gambar 14.24 Hasil pemantauan objek

 

 

 


Rahasia Bikin Aplikasi Playstore tidak Pake Coding Seri 02

Rahasia Bikin Aplikasi Playstore tidak Pakai Coding Seri 01

ebook murah dan berkualitas. banyak diskonnya. beli segera!!!

TAS MOBIL MULTIFUNGSI

Location

Visitor

0379469
Hari ini : 251
Kemarin : 338
Bulan ini : 4433
Total Kunjungan : 379469
Who's Online : 2
error: Content is protected !!