Modul Akomdat 2022
Modul Akomdat 2022
1. TUJUAN
2. DASAR TEORI
A. Arduino
Arduino dikatakan sebagai sebuah platform dari physical computing yang
bersifat open source. Arduino tidak hanya sekedar alat pengembangan, tetapi ia
adalah kombinasi dari hardware, bahasa pemrograman dan Integrated Development
Environment (IDE) yang canggih. IDE adalah sebuah software yang digunakan
untuk menulis program, meng-compileprogram menjadi kode biner dan meng-upload program ke
dalam memori mikrokontroler. Ada banyak projek dan alat-alat dikembangkan oleh akademisi dan
profesional dengan menggunakan Arduino, selain itu juga ada banyak modulmodul pendukung
(sensor, tampilan, penggerak dan sebagainya) yang dibuat oleh pihak
lain untuk bisa disambungkan dengan Arduino. Arduino berevolusi menjadi sebuah
platform karena ia menjadi pilihan dan acuan bagi banyak praktisi.
Salah satu yang membuat Arduino memikat hati banyak orang adalah karena
sifatnya yang open source, baik untuk hardware maupun software-nya. Diagram
rangkaian elektronik Arduino digratiskan kepada semua orang. Anda bisa bebas mendownload
gambarnya, membeli komponen-komponennya, membuat PCB-nya dan
merangkainya sendiri tanpa harus membayar kepada para pembuat Arduino. Sama
halnya dengan IDE Arduino yang bisa di-download dan diinstal pada komputer secara
gratis.
Sehubungan dengan pembahasan untuk saat ini software Arduino yang akan
digunakan adalah driver dan IDE, walaupun masih ada beberapa software lain yang
sangat berguna selama pengembangan Arduino. IDE Arduino adalah software yang
sangat canggih ditulis dengan menggunakan Java. IDE Arduino terdiri dari:
Uploader, sebuah modul yang memuat kode biner dari Jomputer ke dalam memory
di dalam papan Arduino.
Arduino adalah pengendali mikro single-board yang bersifat open-source,diturunkan dari
Wiring platform, dirancang untuk memudahkan penggunaanelektronik dalam berbagai bidang.
Hardwarenya memiliki prosesor Atmel AVRdan softwarenya memiliki bahasa pemrograman sendiri.
Saat ini Arduino sangat populer di seluruh dunia. Banyak pemula yang belajar mengenal
robotika danelektronika lewat Arduino karena mudah dipelajari. Tapi tidak hanya
pemula, para hobbyist atau profesional pun ikut senang mengembangkan aplikasielektronik
menggunakan Arduino. Bahasa yang dipakai dalam Arduino bukan assembler yang relatif sulit, tetapi
bahasa C yang di sederhanakan dengan bantuan pustaka-pustaka (libraries) Arduino.
Arduino juga menyederhanakan proses bekerja dengan mikrokontroler, sekaligus menawarkan
berbagai macamkelebihan antara lain:
1. Murah : Papan (perangkat keras) Arduino biasanya dijual relatif murah(antara 125ribu
hingga 400ribuan rupiah saja) dibandingkan dengan platform mikrokontroler pro lainnya.
Jika ingin lebih murah lagi, tentu bisadibuat sendiri dan itu sangat mungkin sekali karena
semua sumber dayauntuk membuat sendiri Arduino tersedia lengkap di website Arduino
bahkandi website-website komunitas Arduino lainnya. Tidak hanya cocok untukWindows,
namun juga cocok bekerja di Linux.
2. Sederhana dan mudah : pemrogramannya Perlu diketahui bahwalingkungan pemrograman
di Arduino mudah digunakan untuk pemula, dancukup fleksibel bagi mereka yang sudah
tingkat lanjut. Untuk guru/dosen,Arduino berbasis pada lingkungan pemrograman
Processing, sehingga jikamahasiswa atau murid-murid terbiasa menggunakan Processing
tentu sajaakan mudah menggunakan Arduino.
3. Perangkat lunaknya Open Source Perangkat lunak Arduino IDEdipublikasikan sebagai
Open Source, tersedia bagi para
pemrogram berpengalaman untuk pengembangan lebih lanjut. Bahasanya bisa
dikembangkan lebih lanjut melalui pustaka-pustaka C++ yang berbasis padaBahasa C untuk
AVR.
4. Perangkat kerasnya Open Source Perangkat keras Arduino berbasismikrokontroler
ATMEGA8, ATMEGA168, ATMEGA328 danATMEGA1280 (yang terbaru
ATMEGA2560). Dengan demikian siapa saja bisa membuatnya (dan kemudian bisa
menjualnya) perangkat keras Arduinoi ni, apalagi bootloader tersedia langsung dari
perangkat lunak Arduino IDE-nya. Bisa juga menggunakan breadoard untuk membuat
perangkat Arduino beserta periferal-periferal lain yang dibutuhkan.
Secara umum pin pada Arduino dapat dikonfigurasi ke dalam dua mode, yaitu mode input dan
mode output. Mode input berarti mengeset pin agar dapat digunakan untuk menerima masukan sinyal.
Mode output berarti mengeset pin agar dapat mengirimkan sinyal. Untuk mengeset mode pin, kita
gunakan fungsi pinMode(). Fungsi ini biasanya dipanggil di dalam fungsi setup(). fungsi ini
memerlukan dua parameter, pinMode([nomorPin], [mode]). Parameter pertama diisi oleh nomor pin,
dan parameter kedua diisi oleh konstanta INPUT atau OUTPUT, sesuai dengan mode yang ingin kita
gunakan. Sebagai contoh, lihat pada program berikut ini:
void setup()
{
pinMode(1, INPUT); // set pin 1 sebagai pin input
pinMode(2, OUTPUT); // set pin 2 sebagai pin output
}
Fokus pembahasan pertama kita saat ini yaitu Digital Input Output. Pada dasarnya semua pin
yang ada pada Arduino (ATMega) berada pada mode input secara default. Jadi ketika kita ingin
menggunakan suatu pin sebagai input, maka kita tidak mesti menuliskan pinMode(nomorPin,
INPUT);.
Jalankanlah program Blink pada Arduino IDE dengan membukan menu OPEN > Basics > Blink
kemudian sesuaikan pin digital yang digunakan lalu amati yang terjadi.
LED 4 buah
Arduino UNO 1 buah
Kabel jumper secukupnya
Kabel USB 1 buah
Board 1 buah
Resistor 1kohm 2 buah dan 480 ohm 4 buah
Switch 2 buah
4. RANGKAIAN PERCOBAAN
Pada kit LED yang telah dirangkai tersedia dua tombol yang rangkaiannya seperti pada
Gambar 1. Kedua jenis rangkaian ini disebut:
• Pull-down: S1 dipasang ke arah VDD, lalu disambung resistor ke GND.
• Pull-up: Sebaliknya S2 dipasang ke GND, lalu disambung resistor ke VDD.
Coba pahami rangkaian itu. berapa tegangan yang akan masuk ke pin D4 saat tombol S1
dilepas/ditekan ? Demikian pula berapa tegangan pada pin D2 saat tombol S2 dilepas/ditekan ?
5. PROGRAM PERCOBAAN
void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
}
void loop() {
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);
// check if the pushbutton is pressed. If it is, the buttonState is HIGH:
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(ledPin, HIGH);
} else {
// turn LED off:
digitalWrite(ledPin, LOW);
}
}
Tugas:
1. Pada sketch di atas switch yang digunakan adalah switch 1, jika yang digunakan adalah switch 2
apa yang perbedaan yang akan terjadi?
2. Coba pelajari tentang Debounce pada switch, uraikan hal tersebut dalam laporan.
3. Apa yang dimasksud dengan Subrutin loop. Bagaimanakah menjalankannya ?
4. Jelaskan kegunaan dari fungsi delay()
6. ANALISA PERCOBAAN
7. KESIMPULAN
I. TUJUAN
● Mampu memahami pengaruh nilai tegangan referensi terhadap hasil konversi analog to
bahasa pemrograman
● Memahami konsep sinyal analog dan juga konsep manipulasi sinyal dengan PWM
● Pin: nomor pin Arduino yang akan digunakan sebagai analog output
● value: nilai duty cycle yang diinginkan dengan nilai 0-255, yang berarti nilai 0 untuk 0Volt
● 1 breadboard
● 1 buah LED
2. Program Percobaan
Program percobaan 1
void setup() {
//initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}
// the loop routine runs over and over again forever :
void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(A0);
// print out the value you read:
Serial.printIn(sensorValue);
delay(1); //delay in between reads for stability
Program percobaan 2
void setup() {
//initialize serial communication with computer;
Serial.begin(9600);
//initialize all the readings to 0;
for (int thisReading = 0; thisReading < numReadings; thisReading++) {
readings[thisReading] = 0;
}
}
void loop{}
{
// substract the last reading:
total = total – readings[readIndex];
//read from the sensor:
readings[readIndex] = analogRead(inputPin);
//add the reading to the total
total = total + readings[readIndex];
//advance to the next position in the array:
readIndex = readIndex + 1;
1. Program Percobaan
Program 1
Program 2
Gambar 3. Rangkaian Output Analog (2)
V. Analisa Percobaan
1. Pada percobaan input analaog jelaskan perbedaan dari program 1 dan program 2!
2. Bagaimana jika diperlukan tegangan referensi selain 5v? Jelaskan bagaimana cara maupun
konfigurasinya!
3. Jelaskan mekanisme ADC pada arduino!
4. Apa yang terjadi saat potensiometer diputar kearah maksimum dan minimum? Jelaskan
mengapa dapat terjadi?
5. Mengapa pada percobaan analog output diperlukan resistor?
6. Jelaskan bagaimana output arduino bisa untuk sinyal analog saat semua pin output arduino
berfungsi sebagai pin digital? (kaitkan dengan pwm dan jelaskan konsep pwm)
7. Pada percobaan analog output di program kedua, apa yang terjadi jika delay diberikan
sebesar 60?
MODUL 3
INTERUPSI EKSTERNAL
I. TUJUAN
Sistem interupsi dapat berjalan jika terdapat suatu pemicu. Pemicu tersebut dibedakan
menjadi empat jenis, antara lain sebagai berikut.
• LOW
• CHANGE
• RISING
• FALLING
Pada pemrogaman Arduino, sitem interupsi hanya dapat dijalankan jika terdapat fungsi
lain yang mampun menanganinya. Fungsi ini disebut dengan Interrupt Service Routine (ISR).
ISR dapat digunakan dengan sembarang nama namun harus tetap memenuhi kaidah penamaan
fungsi. Contoh penulisan fungsi ISR dapat dilihat sebagaimana berikut.
void setup(){
}
void loop(){
void interupsi(){
Adapun, fungsi interupsi tersebut dapat dijalankan pada saat sistem mendeteksi adanya
gangguan atau situasi tidak ideal. Misalnya, ketika dalam kondisi normal pin interupsi bernilai
HIGH, sedangkan sistem mendeteksi nilai LOW dari pin tersebut maka fungsi interupsi akan
dijalankan. Pin Arduino yang dapat digunakan untuk men-trigger interupsi dapat dilihat pada
tabel berikut.
Tabel 1. Pin Interupsi Pada Arduino
MegaADK
• Arduino
• Protoboard
• Push Button
• LED
V. PROSEDUR
a. Rangkaian tombol (S1) yang diberi resistor pull-down (R2). Luaran rangkaian
dikoneksikan ke pin D2 Arduino;
b. Hubungkan rangkaian LED dengan resistor R1 ke pin D3;
// DEKLARASI
#define PIN_INT 2
#define PIN_LED 3
#define INT_CHANNEL 0
#define INT_MODE RISING
//IMPLEMENTASI
// data yang akan diubah oleh task interupsi
// dan dibaca oleh rutin biasa (setup dan loop)
// Harus volatile
volatile word cacah=0;
volatile boolean nyala=false;
// task interupsi, menaikkan count setiap terpanggil
void taskCounter() { cacah++; // naikkan cacahan
nyala = !nyala; // balikkan kondisi nyala
digitalWrite(PIN_LED, nyala);
}
void setup() {
Serial.begin(115200);
pinMode(PIN_LED, OUTPUT);
pinMode(PIN_INT, INPUT);
// pasang task interupsi
attachInterrupt(INT_CHANNEL, taskCounter, INT_MODE);
}
word cacah_lama=0; // menyimpan harga counter terakhir
void loop() {
word cacah_baru;
// membaca interupsi dengan aman
noInterrupts(); // cegah interupsi terjadi
cacah_baru = cacah; // baca dari variabel global
interrupts(); // bolehkan interupsi lagi
// periksa event dan jalankan aksi
if (cacah_baru != cacah_lama) {
Serial.println(cacah_baru); cacah_lama = cacah_baru;
}
}
VII. ANALISIS
(**Catatan: analisis ditulis dengan jelas, tidak bertele-tele dan menggunakan kalimat pasif
yang sesuai.)
Dengan rangkaian yang sama seperti pada Gambar 1. Buatlah sistem interupsi untuk pemicu
FALLING dan CHANGE dengan mengubah INT_MODE pada program percobaan.
MODUL 4
I. TUJUAN
Komunikasi serial Arduino adalah komunikasi antara Arduino Uno dan Komputer yang dilakukan
melalui port USB. Dalam hal ini, Arduino Uno tidak hanya bisa mengolah data dari pin I/O secara
independ. Tetapi dapat juga dikomunikasikan dengan komputer untuk ditampilkan hasil dari
pengolahan datanya sehingga komunikasi yang dilakukan bersifat dua arah. Pada Arduino IDE
terdapat fasilitas untuk berkomunikasi dua arah melalui serial monitor yang dapat dimanfaatkan
dalam berbagai keperluan. Dengan menggunakan fasilitas ini, dapat dikirimkan data ke Arduino Uno
dan sebaliknya dapat membaca kiriman dari arduino uno. Tentu saja, hal ini memungkinkan dapat
mengontrol Arduino Uno melalui komputer dan memantau sesuatu yang sedang terjadi di Arduino
Uno. Sebagai contoh, saat mengirimkan isyarat untuk menghidupkan lampu atau memantau suhu
yang terdeteksi oleh sensor suhu di Serial Monitor. Ada satu istilah yang perlu kamu ketahui dalam
komunikasi serial, yaitu baudrate. Pengertian baudrate adalah kecepatan transfer data dalam bit per
satuan detik atau bit per second (bps). Beberapa pilihan baudrate pada Arduino yaitu 300, 600, 1200,
2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, dan 115200.
∙ Serial.begin() : untuk menentukan kecepatan pengiriman dan penerimaan data melalui port serial.
Kecepatan yang umum digunakan adalah 9600 bit per detik (9600 bps). Namun, kecepatan hingga
115.200 didukung oleh Arduino Uno. Contoh yang sering digunakan yaitu Serial.begin(9600).
∙ Serial.available () : berguna untuk menghasilkan jumlah byte, angka, atau karakter di port serial
yang belum terbaca. Jika port serial dalam keadaan kosong, maka fungsi ini dapat menghasilkan nilai
nol.
∙ Serial.findUntil() : Untuk mencari buffer data hingga data sesuai kriteria yang diberikan bisa
ditemukan
∙ Serial.read() : berguna untuk membaca satu byte data yang terdapat di port serial. Setelah
pemanggilan Serial.read(), jumlah data di port serial berkurang satu.
∙ Serial.print(data) : berfungsi untuk mengirimkan data ke port serial dan menampilkannya di serial
monitor dalam satu baris saja. Apabila argumen format disertakan, data yang dikirim akan
menyesuaikan dengan format tersebut. Dalam hal ini, format yang digunakan bisa berupa.
∙ Serial.flush() : berfungsi sebagai untuk pengosongan data pembacaan yang ditaruh pada buffer.
∙ Serial.write() : Untuk membaca data biner dari port serial. Biasanya data yang terkirim dalam
bentuk byte atau deretan data byte.
∙ Lampu LED
∙ Breadboard
int x, angka;
int led=11;
void setup()
Serial.begin(9600);
pinMode(led,OUTPUT);
void loop()
if(Serial.available()>0)
angka=Serial.read()-'0';
Serial.println(angka);
digitalWrite(led, HIGH);
delay(200);
digitalWrite(led, LOW);
delay(200);
angka=0;
Serial.print("kedipan : ");
Serial.flush();
}
}
1. Jelaskan kembali apa saja yang dilakukan pada praktikum kali ini?
2. Berapa baud rate yang digunakan dan apa yang terjadi apabila baud rate yang digunakan lebih
besar?
3. Pada video praktikum ketika diketik angka “6” maka lampu menyala sebanyak 7 kali, bagaimana
caranya agar angka yang diketik pada serial monitor sesuai dengan berapa kali lampu menyala?
(diketik angka “6” maka lampu menyala sebanyak 6 kali).
1. LED 3 buah
2. Kabel jumper
3. Arduino Uno
4. Breadboard
5. Resistor 3 buah
1. Apabila praktikan mengetik huruf “x” pada serial monitor maka led1, led2, dan led3 akan nyala
bergantian dengan :
2. Apabila mengetik huruf “z” pada serial monitor maka led1, led2, dan led3 akan nyala dan mati
secara bersamaan.
MODUL 5
DATA LOGGER
1. TUJUAN
2. DASAR TEORI
A. Arduino
B. Data logger
Data Logger adalah sebuah alat elektronik yang digunakan untuk mencatat data dari
waktu ke waktu yang terintegrasi dengan sensor serta instrumen. Secara singkat data logger
diartikan sebagai alat untuk mencatat data atau data logging. Data logger merupakan alat yang
menggunakan mikroprosesor dan memori internal yang digunakan untuk merekam data melalui
sensor.
Data logger secara fisik memiliki ukuran kecil dan memiliki teknologi terbaru sebagai
alat untuk merekam data seperti suhu, tekanan air, kelembaban dll. Ada banyak jenis pada data
logger dan biasanya ada yang menggunakan komputer untuk mengkoneksikannya dan untuk
mengaktifkannya menggunakan sebuah software. Hasil dari perekaman data dapat dilihat
melalui komputer.
Data Logger berbasis Desktop/PC ialah data logger yang dapat dikoneksikan melalui
komputer yang digunakan untuk mengumpulkan data melalui sensor dalam menganalisis serta
menampilkan hasil. Sistem pada data logger juga memiliki banyak kelebihan seperti fitur
perhitungan proses pemantauan alam.
Data logger kini dilengkapi dengan SCADA (Supervisory Control And Data Acquisition)
yang merupakan evolusi lebih lanjut dari sistem data logger berbasis komputer, dimana hasil
dari perekaman ditampilkan dalam bentuk grafis.
Pengaplikasian data logger biasanya digunakan untuk :
● Pengukuran terhadap ruangan tempat penyimpanan tujuannya adalah untuk menjaga suhu
C. PLX- DAQ
PLX - DAQ atau Parallax Data Acquisition merupakan add-ons data logger atau data
akuisisi pada Excel yang dikembangkan oleh Parallax. Dengan menggunakan add-ons ini
semua data dari plant yang dibutuhkan user dapat terekam secara real-time.
Berikut step demi step nya:
1. Menginstal
Secara singkatnya, PLX-DAQ ini seakan-akan memindahkan tampilan serial monitor dan
serial print pada arduino ke Ms.Excel. PLX-DAQ ini tetap menggunakan serial komunikasi
UART sehingga code pada arduinonya tetap menggunakan Serial.print();
4. RANGKAIAN PERCOBAAN
5. LANGKAH-LANGKAH PERCOBAAN
Susunlah komponen-komponen praktikum seperti gambar di atas, caranya :
1. Hubungkan pin potensiometer pada gnd, A0, dan vcc (5v) dengan kabel jumper.
2. Hubungkan arduino dengan komputer menggunakan USB.
3. Paste program pada modul ke dalam arduino IDE.
4. Compile menggunakan verify button (tanda ceklis pada IDE arduino) untuk
mengecek ada atau tidaknya error/kesalahan dalam pengetikan
5. Upload program ke arduino dengan cara, pilih File > Upload to I/O board, atau
tekan tombol tanda panah pada jendela IDE arduino.
6. Amati tampilan serial monitor saat potensiometer diubah, pastikan nilainya
sudah benar.
7. Tutup arduin IDE tapi jangan reset program yang terdapat di arduino.
8. Buka spreadsheet PLX-DAQ
- Buka file
- Pilih options
9. Setting port sesuai port yang awal tadi digunakan pada arduino dan baud 9600.
10. Hubungan plx dengan arduino dengan tekan tombol connect hingga
indicator “C” pada PLX yang semula merah berubah menjadi hijau.
11. Jika kita ingin mendownload data hasil percobaan maka atur control
dengan menseting download data sebelum plx dihubungkan dengan arduino.
12. Atau dengan setelah data dirasa cukup, perlu diputuskan hubungan plx
dengan arduino dengan menekan tombol unconnect lalu save as data pada excel
pada lokasi yang diinginkan.
6. PROGRAM PERCOBAAN
void setup(){
Serial.begin(9600); Serial.println("CLEARDATA");
Serial.println("LABEL,Acolumn,Bcolumn,...");
Serial.println("RESETTIMER");
}
void loop(){
7. ANALISA PERCOBAAN
Buat analisa berdasarkan hasil percobaan dan jabarkan fungsi setiap langkah yang dilakukan
selama praktikum.
8. KESIMPULAN
Dari paparan di analisis buat kesimpulan praktikum
MODUL 6
Sensor Ultrasonik
1. TUJUAN
2. DASAR TEORI
A. Arduino
Arduino adalah pengendali mikro single-board yang bersifat open source,diturunkan dari
Wiring platform, dirancang untuk memudahkan penggunaanelektronik dalam berbagai bidang.
Hardwarenya memiliki prosesor Atmel AVRdan softwarenya memiliki bahasa pemrograman
sendiri. Saat ini Arduino sangat populer di seluruh dunia. Banyak pemula yang belajar mengenal
robotika danelektronika lewat Arduino karena mudah dipelajari. Tapi tidak hanya pemula, para
hobbyist atau profesional pun ikut senang mengembangkan aplikasi elektronik menggunakan
Arduino. Bahasa yang dipakai dalam Arduino bukanassembler yang relatif sulit, tetapi bahasa
C yang disederhanakan dengan bantuan pustaka-pustaka (libraries) Arduino. Arduino juga
menyederhanakan proses bekerja dengan mikrokontroler, sekaligus menawarkan berbagai
macamkelebihan antara lain :
1. Murah : Papan (perangkat keras) Arduino biasanya dijual relatif murah(antara 125ribu
hingga 400ribuan rupiah saja) dibandingkan dengan platform mikrokontroler pro
lainnya. Jika ingin lebih murah lagi, tentu bisadibuat sendiri dan itu sangat mungkin
sekali karena semua sumber dayauntuk membuat sendiri Arduino tersedia lengkap di
website Arduino bahkandi website-website komunitas Arduino lainnya. Tidak hanya
cocok untukWindows, namun juga cocok bekerja di Linux.
2. Sederhana dan mudah: pemrogramannya Perlu diketahui bahwalingkungan pemrograman
di Arduino mudah digunakan untuk pemula, dancukup
fleksibel bagi mereka yang sudah tingkat lanjut. Untuk guru/dosen,Arduino berbasis pada
lingkungan pemrograman Processing, sehingga jikamahasiswa atau murid-murid terbiasa
menggunakan Processing tentu sajaakan mudah menggunakan Arduino.
3. Perangkat lunaknya Open Source Perangkat lunak Arduino IDEdipublikasikan sebagai
Open Source, tersedia bagi para pemrogram berpengalaman untuk pengembangan
lebih lanjut. Bahasanya bi sa dikembangkan lebih lanjut melalui pustaka-pustaka C++
yang berbasis padaBahasa C untuk AVR.
4. Perangkat kerasnya Open Source Perangkat keras Arduino berbasismikrokontroler
ATMEGA8, ATMEGA168, ATMEGA328 danATMEGA1280 (yang terbaru
ATMEGA2560). Dengan demikian siapa saja bisa membuatnya (dan kemudian bisa
menjualnya) perangkat keras Arduinoi ni, apalagi bootloader tersedia langsung dari
perangkat lunak Arduino IDE-nya. Bisa juga menggunakan breadoard untuk membuat
perangkat Arduino beserta periferal-periferal lain yang dibutuhkan.
B. Sensor Ultrasonik
Sensor Ultrasonik adalah alat elektronika yang kemampuannya bisa mengubah dari
energy listrik menjadi energy mekanik dalam bentuk gelombang suara ultrasonic. Sensor
ini terdiri dari rangkaian pemancar Ultrasonic yang dinamakan transmitter dan penerima
ultrasonic yang disebut receiver. Alat ini digunakan untuk mengukur gelombang
ultrasonic. Gelombang ultrasonic adalah gelombang mekanik yang memiliki cirri-ciri
longitudinal dan biasanya memiliki frekuensi di atas 20 Khz. Gelombong Utrasonic dapat
merambat melalui zat padat, cair maupun gas. \
Pada sensor ultrasonik, gelombang ultrasonik dibangkitkan melalui sebuah alat yang
disebut dengan piezoelektrik dengan frekuensi tertentu. Piezoelektrik ini akan menghasilkan
gelombang ultrasonik (umumnya berfrekuensi 40kHz) ketika sebuah osilator diterapkan pada
benda tersebut. Secara umum, alat ini akan menembakkan gelombang ultrasonik menuju suatu
area atau suatu target. Setelah gelombang menyentuh permukaan target, maka target akan
memantulkan kembali gelombang tersebut. Gelombang pantulan dari target akan ditangkap oleh
sensor, kemudian sensor menghitung selisih antara waktu pengiriman gelombang dan waktu
gelombang pantul diterima.
Gambar 2. cara kerja sensor ultrasonik dengan transmitter dan receiver (atas), sensor ultrasonik
dengan single sensor yang berfungsi sebagai transmitter dan receiver sekaligus
Sinyal dipancarkan oleh pemancar ultrasonik dengan frekuensi tertentu dan dengan durasi
waktu tertentu. Sinyal tersebut berfrekuensi diatas 20kHz. Untuk mengukur jarak benda
(sensor jarak), frekuensi yang umum digunakan adalah 40kHz.
Sinyal yang dipancarkan akan merambat sebagai gelombang bunyi dengan kecepatan
sekitar 340 m/s. Ketika menumbuk suatu benda, maka sinyal tersebut akan dipantulkan
oleh benda tersebut.
Setelah gelombang pantulan sampai di alat penerima, maka sinyal tersebut akan diproses
untuk menghitung jarak benda tersebut. Jarak benda dihitung berdasarkan rumus :
3. PERALATAN YANG DIBUTUHKAN
Board 1 buah
5. LANGKAH-LANGKAH PERCOBAAN
1. Hubungkan pin 6 dan 7 untuk sensor ultrasonik dan pin 8 - 11 digunakan untuk led.
2. Hubungkan arduino dengan komputer menggunakan USB.
3. Gunakan pemrograman yang telah disediakan pada sensor pada modul kedalam
arduino IDE.
4. Compile menggunakan verify button (tanda ceklist pada IDE arduino) untuk
mengecek ada atau tidaknya error/kesalahan dalam pengetikan
5. Upload program ke arduino dengan cara, pilih File > Upload to I/O board, atau
tekan tombol tanda panah pada jendela IDE arduino.
6. Amati tampilan serial monitor saat sensor ultrasonik diberikan penghalang dengan
jarak yang berubah- ubah sesuai dengan pemrograman, pastikan nilainya sudah
benar sesuai dengan yang ada di program. PROGRAM PERCOBAAN
//pin Ultrasonik
#define trigPin
7
#define echoPin 6
#define ledAman 8
#define led1 9
#define led2 10
#define led3 11
void setup()
{ Serial.begin
(9600);
pinMode(trigPin,
OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledAman,
OUTPUT); pinMode(led1,
OUTPUT); pinMode(led2,
OUTPUT); pinMode(led3,
OUTPUT);
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if (distance < 5)
{ digitalWrite(led3,
HIGH);
digitalWrite(led2,
LOW);
digitalWrite(led1,
LOW);
}
delay(500);
}
6. ANALISA PERCOBAAN
1. Jelaskan prinsip kerja dari sensor ultrasonik yang digunakan pada praktikum yang
telah dijelaskan.
2. Jelaskan perograman yang terdapat pada modul dan digunakan dalam praktikum
kali ini. Digunakan untuk fungi apakah program yang ada sehingga cocok diunakan?
3. Cobalah ubah long duration dan jarak pada perograman sensor ultrasonik.
Hingga anda tahu maksimum dan minimum sensing dari sensor ultrasonik.
Pengubahan tersebut berpengaruh pada hal apa saja?
4. Mengapa dalam rangkaian pada modul digunakan 4 led yang berbeda? Apa
fungsi setiap led berbeda? Jelaskan!