Anda di halaman 1dari 15

PERCOBAAN-6

INPUT OUTPUT(I/O)
Tujuan: Penekanan tombol di pin8 sebagai input dan menyalakan running 6 buah LED
sebagai output pada pin2 sampai pin7
1. Skema Rangkaian

2. Perangkat Keras. Rancanglah project seperti gambar di bawah

3. Soft ware atau program


int led[] = {2,3,4,5,6,7};
int tombol=8;
void setup() {
Serial.begin(9600);
pinMode(tombol, INPUT);
int n;
for (n=0; n<6; n++){
pinMode (led[n],OUTPUT);
}
}
void geserkanan() { // sub program geser kanan
int n;
int tunda=100;
for (n=0; n<6; n++){
digitalWrite (led[n],HIGH);
delay(tunda);
digitalWrite (led[n],LOW);
}
}
void geserkiri() {
int n;
int tunda=100;
for (n=6; n>0; n--){
digitalWrite(led[n],HIGH);
delay(tunda);
digitalWrite(led[n],LOW);
}
}
void loop() {
int data = digitalRead(tombol);
Serial.println(data);
delay(10);
if (data==0){
geserkanan();
delay(100);
}
else {
geserkiri();
delay(100);
}
}
4. Tugas

a. Jelaskan setiap baris pada program di atas


b. Ketiklah program berikut ini dan bandingkan dengan program di atas.

int led[] = {2,3,4,5,6,7};


void setup() {
int n;
for (n=0; n<6; n++){
pinMode (led[n],OUTPUT);
}
}
void geserkanan() {
int n;
int tunda=100;
for (n=0; n<6; n++){
digitalWrite (led[n],HIGH);
delay(tunda);
digitalWrite (led[n],LOW);
}
}
void geserkiri() {
int n;
int tunda=100;
for (n=6; n>0; n--){
digitalWrite (led[n],HIGH);
delay(tunda);
digitalWrite (led[n],LOW);
}
}
void loop (){
geserkanan();
geserkanan();
geserkiri();
geserkiri();
}

PERCOBAAN-7
Analog Digital Convertion (ADC)
Tujuan: Mengukur tegangan listrik analog menjadi tegangan listrik digital
Teoritis
Tegangan analog artinya nilai beda potensial listrik bervariasi dari 0 volt, 20mV, 40mV,
60mV sampai dengan 5000mV. Deretan nilai tegangan listrik ini dapat diukur dengan alat
ukur tegangan listrik konvensional yaitu voltmeter. Deretan nilai-nilai tegangan (V) di atas
juga mampu dibaca oleh microprosesor melalui komponen pendukungnya yaitu chip ADC.
Deretan nilai: 0 mV; 10mV;20mV; 30mV;40 mV...5000 mV dikonversikan menjadi 0; 1; 2;
3; 4 sampai 1023.
1. Skema Rangkaian

2. Hardware

3. Software
Ketik program bahasa C di bawah, kemudian download. Perhatikan hasilnya di monitor
setelah klik tools serial monitor. Putar potesiometer kekanan maksimum dan putar maksimum
ke kiri minimum.
int nilai;
float tegangan;
void setup() {
Serial.begin(9600);
}
void loop () {
nilai=analogRead(A0);
tegangan= nilai*(5.0/1023.0)
Serial.println(tegangan);
delay(500);
}
4. Tugas
a. Ubahlah program di atas supaya di monitor tampil V= 0.....5.00 Volt.
b. Ketiklah program di bawah dan perhatikan hasil
int Y;
int X;
void setup() {
Serial.begin(9600);
}
void loop () {
X=analogRead(A0);
Y=2*X;
Serial.println(Y);
delay(500);
}

c. Gantilah potensiometer dengan komponen LDR yang di seri hambatan 200 ohm.
Buka tutup permukaan LDR dengan telapak tangan untuk mengubah-ubah
intensitas cahaya. Download program pertama. Perhatikan nilai tegangan.

PERCOBAAN-8
Ukur Jarak dengan Ultrasonik
Tujuan
Mengukur jarak dengan komponen ultrasonik
Teoritis
Komponen ultrasonik merupakan pasangan pemancar dan penerima suara atau bunyi
ultrasonik. Digunakan mengukur jarak dengan teknik pantulan. Kecepatan bunyi ultrasonik
merambat di udara sekitar 340 m/s

Jika v=340 m/s, artinya setiap jarak 1 cm bunyi membutuhkan waktu t/s=29 millisekon/cm.
Karena harus beregerak bolak balik (pp) maka jarak setiap jarak 1 cm bunyi membutuhkan
waktu t/s=58 millisekon/cm. Maka jarak dapat di rumuskan s = t/58 cm

Pemancar (T) memancarkan pulsa (signyal)


selebar 10us, kemudian memancarkan 8 pulsa
sebagai tanda akhir menghitung kirimpulsa.
Sementara itu microcontroller menghidupkan
stopwatch penghitung waktu secara internal.
waktu dihentikan jika 8 pulsa sempit diterima.
dilakukan secara berulang-ulang. Jika selama
sampai 25 ms belum diterima 8 pulsa sempit,

awal
sempit
Hitung
Hal ini
100us

microcontroller akan mengirim pulsa


sangat lebar yaitu 30ms sebagai tanda
tidak menerima pantulan obyek.
1.

Rangkaian

Hubungan atau koneksi ultrasonic


dengan microcontroller:
Vcc -5V; Trig (T) - Pin3; Echo (R)Pin2 dan GND-GND
2. Hardware
Rangkailah perangkat keras komponen ultra sonik di bawah menggunakan kabel
jumper male-famela sesuai dengan skema di atas.
3. Software
Ketiklah program bahasa C di bawah, kemudian arahkan komponen ultrasonik ke
dinding atau tangan jarak berbeda-beda.
#define terima 2;
#define pancar 3;

void setup() {
Serial.begin (9600);
pinMode (terima, INPUT);
pinMode (pancar, OUTPUT);
}
void loop() {
digitalWrite (pancar, LOW);
delayMicroseconds (2);
digitalWrite (pancar, HIGH);
delayMicroseconds (10);
digitalWrite (pancar, LOW);
int x =pulseIn (terima, HIGH);
x=x/58;
Serial.print (" Jarak = ");
Serial.print (x);
Serial.println(" cm ");
delay(50);
}
PERCOBAAN-9
Menggerakan MotorDC
Tujuan
Menjalankan motor DC tegangan rendah dan tegangan tinggi
Teoritis
Motor listrik DC terdiri dari 2 bagian yaitu rotor (bagian
berputar) dan stator (bagian yang diam). Rotor umumnya
merupakan kumparan kawat yang dialiri listrik
DC.Sedangkan stator merupakan pasangan magnet tapal
kuda dengan kutub berlawanan. Kumparan kawat yang
dialiri arus listrik akan menghasilkan medan magnet yang
disebut medan magnetik. Medan magnetik ini berinteraksi
dengan medan magnet statis tapal kuda. Hasil interaksi
medan kumparan dan medan stator saling tolak menolak
sehingga menghasil putaran atau rotasi. Kecepatan rotasi
berbanding lurus dengan jumlah lilitan kumparan dan kuat
arus listrik. Jumlah lilitan dan nilai kuat arus listrik mempengaruhi kekuatan medan magnetik
dan medan magnet statis.
1.Rangkaian dan Hardware

2. Software.Ketiklah program di bawah


int M = 2;
void setup() {
pinMode(M, OUTPUT);
}
void cw() {
digitalWrite(M, HIGH);
delay(50);
digitalWrite(M, LOW);
delay(1000);

2. Tugas
a. Rangkailah skema untuk menggerakan motorDC dengan tegangan 12 volt. Tegangan
12 volt di ambil dari sumber eksternal yaitu adaptor.

b. Kedua project di atas putaran motor hanya satu arah. Kita sekarang merancang
pengendalian putaran motor DC baik berputar kekanan maupun ke kiri.
b.1 Rangkaian

b.2 Buatlah project kendali motor DC di atas panel breadboard dan Arduino
b.3. Software
int pin2 = 2;
int pin3 = 3;
void setup() {
pinMode(pin2, OUTPUT);
pinMode(pin3, OUTPUT);
}
void cw() {
digitalWrite(pin2, HIGH);

delay(50);
digitalWrite(pin2, LOW);
delay(1000);
}
void ccw(){
digitalWrite(pin3, HIGH);
delay(50);
digitalWrite(pin3, LOW);
delay(1000);
}
void loop(){
cw();
ccw();
}

PERCOBAAN-10
Menggerakan Motor Stepper
Tujuan
Menjalankan motor Stepper tegangan rendah dan tegangan tinggi
Teoritis

Motor stepper DC mirip


seperti motor DC terdiri dari 2 bagian yaitu rotor (bagian berputar) dan stator (bagian yang
diam). Rotor adalah beberapa magnet multi kutub dan stator adalah multi coil atau
kumparasan atau phase. Medan magnetik coil berinteraksi dengan medan magnet rotor secara
bergiliran. Hasil interaksi medan kumparan dan medan rotor saling tolak menolak sehingga
menghasil putaran atau rotasi. Kecepatan rotasi tergantung kecepatan mengirim sinyal listrik
kepada coil. Teknik memberi sinyal listrik ada beberapa cara salah satu diantaranya seperti
gambar paling kanan. Memberi sinyal satu siklus artinya mengirim sinyal listrik phase1sampai phase4 menghasilkan putaran 4 step atau 4 tahap. Jenis stepper gambar kiri, akan
berotasi 360o atau satu kali berputar jika pemberian sinyal dua siklus. Motor stepper banyak
ragamnya dalam proses pemberian sinyal.
1. Rangkaian

2. Hardware
Ranngkailah skema di atas di atas langsung antara arduino dan motor

3. Software.

Buat programnya

int coil1=2;
int coil2=3;
int coil3=4;
int coli4=5
void setup ()
{
pinMode(coil1, OUTPUT);
pinMode(coil2, OUTPUT);
pinMode(coil3, OUTPUT);
pinMode(coil4, OUTPUT);
}
void loop () {
digitalWrite (coil1,HIGH);
delay(20);
digitalWrite (coil1,LOW);
delay(20);
digitalWrite (coil2,HIGH);
delay(20);
digitalWrite (coil2,LOW);
delay(20);
digitalWrite (coil3,HIGH);
delay(20);
digitalWrite (coil3,LOW);
delay(20);
digitalWrite (coil4,HIGH);
delay(20);
digitalWrite (coil4,LOW);
delay(20);
}
4. Tugas.
a. Ketik pula program di bawah untuk menjalankan stepper motor, tanpa mengubah
hardware.

int led[] = {2,3,4,5};


void setup() {
int n;
for (n=0; n<4; n++){
pinMode (led[n],OUTPUT);
}
}
void loop() {
int n;
int tunda=8;
for (n=0; n<4; n++){
digitalWrite (led[n],HIGH);
delay(tunda);
digitalWrite (led[n],LOW);
}
}
b. Ketik juga program di bawah untuk memutar stepper motor arah CW dan CCW
int led[] = {2,3,4,5};
void setup() {
int n;
for (n=0; n<4; n++){
pinMode (led[n],OUTPUT);
}
}
void cw() {
int n;
int k;
int tunda=30;
for (k=0; k<=10;k++){
for (n=0; n<=4; n++){
digitalWrite (led[n],HIGH);
delay(tunda);
digitalWrite (led[n],LOW);
}
}
}
void ccw() {
int n;
int k;
int tunda=30;
for(k=0;k<=10; k++){
for (n=4; n>=0; n--){
digitalWrite (led[n],HIGH);

delay(tunda);
digitalWrite (led[n],LOW);
}
}
}
void loop() {
cw();
delay(100);
ccw();
}
c. Motor stepper tegangnya lebih dari 12 volt, maka memerlukan driver yang
dirakit di breadboard. Buat haradware dari skema di bawah. Ketik juga
program seperti di atas yaitu memutar CW dan CCW

Anda mungkin juga menyukai