Mikrokontroler Arduino 3
Mikrokontroler Arduino 3
B. Dasar Teori
Interfacing adalah teknik menghubungkan dua device atau lebih sehingga
memungkinkan device untuk memberikan informasi satu arah ataupun dua arah (saling
memberikan informasi). Beberapa hal yang harus diperhatikan dalam teknik interfacing
adalah tipe komunikasi, jangkauan nilai data (range), kestabilan informasi. Pada setiap
device tidak semua memiliki tipe komunikasi yang sama dan jangkauan data yang sama,
maka disetiap interfacing data, sering terdapat driver/buffer yang digunakan untuk
menyesuaikan tipe dan jangkauan data sehingga memungkinkan device dapat melakukan
komunikasi.
๏ Komponen
[email protected] 1 of 9
- Arduino IDE
๏ Schematic
๏ Program
int data_sensor;
void setup() {
Serial.begin(9600);
pinMode(3,INPUT)
}
void loop() {
data_sensor = digitalRead(3);
Serial.print("Sensor Prox. = ");
Serial.println(data_sensor);
}
Setelah upload program, buka Serial Monitor pada Arduino IDE untuk melihat hasil
pembacaan data digital (0/1) dari sensor proximity infrared.
- 1x Photoresistor / LDR
- Arduino IDE
[email protected] 2 of 9
๏ Schematic
๏ Program
int data_sensor;
void setup() {
Serial.begin(9600);
}
void loop() {
data_sensor = analogRead(A0);
float data_cahaya = data_sensor * 100.0 / 1023;
Serial.print("Sensor Cahaya = ");
Serial.print(data_cahaya);
Serial.println(" %");
Setelah upload program, buka Serial Monitor pada Arduino IDE untuk melihat hasil
pembacaan data photoresistor(LDR), berikan pencahayaan yang berubah-ubah pada
photoresistor untuk melihat perubahan data terhadap cahaya yang diterima oleh
photoresistor.
- Arduino IDE
[email protected] 3 of 9
๏ Schematic
๏ Program
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(5);
digitalWrite(pingPin, LOW);
pinMode(pingPin, INPUT);
duration = pulseIn(pingPin, HIGH);
[email protected] 4 of 9
// convert the time into a distance
inches = microsecondsToInches(duration);
cm = microsecondsToCentimeters(duration);
Serial.print(inches);
Serial.print("in, ");
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(100);
}
Setelah upload program, buka Serial Monitor pada Arduino IDE untuk melihat hasil
pembacaan data sensor Ultrasonic, data pada serial monitor akan menunjukkan data
pembacaan ultrasonik yang telah dikonversi menjadi satuan inchi dan cm, sensor
ultrasonic bekerja berdasarkan pantulan signal suara, nilai jarak yang didapat adalah
konversi waktu pantulan signal setelah sensor ditriger untuk memancarkn signal
(sensor Transmit ke-objek pantul, dari objek pantul ke-sensor Receive) menjadi jarak,
sehingga dalam konversi pembacaan jarak pada ultrasonic akan menyesuaikan
dengan kecepatan signal (pada datasheet tipe ultrasonic) dan dibagi 2 (setengah dari
nilai waktu tempuh signal pantulan). Pada percobaan ini menggunakan PING Paralax
yaitu 73.746 microseconds per inch / 29 microseconds per sentimeter.
[email protected] 5 of 9
panas, cahaya, suara dan sifat-sifat fisis lainnya. Untuk dapat melakukan komunikasi/
akses data menggunakan mikrokontroler maka dibutuhkan suatu driver/buffer. Arduino
menyediakan pin untuk komunikasi dengan aktuator yaitu pin digital, pin komunikasi
serial(SPI), I2c,dll. Beberapa contoh interfacing arduino dengan aktuator :
- 1x Motor Servo
- Arduino IDE
๏ Schematic
๏ Program
#include <Servo.h>
Servo myservo;
int pos = 0; // variable to store the servo position
void setup() {
myservo.attach(9);
}
[email protected] 6 of 9
void loop() {
for (pos = 0; pos <= 180; pos += 1) {
myservo.write(pos);
delay(15);
}
for (pos = 180; pos >= 0; pos -= 1) {
myservo.write(pos);
delay(15);
}
}
Motor Servo adalah aktuator putar (motor) yang dirancang dengan sistem kontrol
umpan balik loop tertutup (close loop), sehingga dapat di set-up atau di atur untuk
menentukan dan memastikan posisi sudut dari poros output motor. Terdapat beberapa
tipe servo diantaranya servo standart (0-180), servo continous (0-360), smart servo
(kombinasi servo stadart dan continous), motor servo akan berputar sesuai dengan
signal yang diberikan yaitu 1.5 - 2 ms. Pada pengujian ini menggunakan servo tipe
standart, setelah upload program perhatikan pergerakan motor Servo, motor servo
akan bergerak dari 0o - 180o. Posisi sudut pada motor servo sesuai dengan nilai pos
pada program myservo.write(pos). Nilai pos Yaitu 0 - 180.
B.2.2. Motor DC
Untuk melakukan interfacing arduino dengan motor DC diperlukan driver/buffer
antara pin arduino dengan motor DC, pada percobaan ini menggunakan driver transistor
NPN dengan kontrol kecepatan satu arah, untuk melakukan kontrol kecepatan dengan
dua arah diperlukan kombinasi driver motor menjadi H-Brige atau menggunakan IC driver
motor DC atau shield motor DC yang sesuai dengan board arduino.
๏ Komponen
- 1x Motor DC
- 1x Transistor NPN
- 1x Dioda
- 1x Resistor 1k
- Arduino IDE
[email protected] 7 of 9
๏ Schematic
Pin TR
CBE
๏ Program
int speed = 0;
void setup() {
pinMode(3,OUTPUT);
}
void loop() {
for (speed = 0; speed <= 255; speed += 1) {
analogWrite(3,speed);
delay(15);
}
analogWrite(3,0);
delay(1000);
}
Setelah upload program, perhatikan putaran motor DC, motor DC akan berputar muali
dari kecepatan rendah hingga kecepatan maksimal selanjutnya motor DC akan
berhenti 1 detik. analogWrite(3,speed); adalah program untuk memberikan PWM
program untuk mengatur kecepatan pada motor DC, 3 adalah pin yang digunakan
untuk mengatur kecepatan / drive pada driver motor, speed adalah nilai PWM yang
diberikan dengan range nilai 0-255.
[email protected] 8 of 9
C. Tugas Praktikum
1. Susun rangkaian input dari 1 buah potensiometer dan 1 motor Servo. Buat kontrol
untuk mengatur putaran sudut pada motor servo dengan menggunakan
potensiometer.
2. Susun rangkaian input dari 1 buah potensiometer dan 1 motor DC. Buat kontrol untuk
mengatur kecepatan putaran pada motor DC dengan menggunakan potensiometer.
3. Buatlah prototype palang pintu otomatis dengan sensor proximity sebagai sensor
deteksi orang/benda yang akan melewati pintu tsb. Susun rangkaian input dari 1 buah
sensor proximity infrared sebagai sensor deteksi dan 1 motor Servo sebagai Palang
pintu. Buat kontrol untuk buka atau tutup palang pintu otomatis.
4. Siapkan komponen :
1. Push Button
3. Mikrokontroller (Arduino)
4. Motor Servo
Buatlah prototype sistem kontrol untuk mempermudah aktifitas parkir kendaraan yaitu
dalam membuka dan menutup palang pintu, Sistem palang pintu otomatis ini
memanfaatkan tombol (Push Button) untuk masuk/keluar, dan motor servo untuk
mengangkat dan menurunkan palang pintu, sensor jarak untuk mendeteksi kendaraan
yang telah melawati palang pintu.
[email protected] 9 of 9