Praktek Arduino 4
Praktek Arduino 4
ARDUINO 4
AGZ, ADO,YAS
MOTOR
• Pada Transistor Tipe NPN, Transistor akan aktif ketika Pada kaki Basis
diberikan tegangan yang lebih besar dari tegangan emitor. Dengan
demikian maka bagian Kolektor dan Emitor terhubung sehingga Arus
listrik mengalir melalui Motor ke Groud. Ketika Tegangan pada Basis
putus, putaran motor berhenti.
• Pada Transistor tipe PNP, Transistor akan Aktif apabila pada kaki basis
diberikan tegangan yang lebih rendah dari tegangan pada Emitor.
Dengan demikian maka bagian Kolektor dan Emitor terhubung
sehingga Arus listrik mengalir melalui Transistor ke Motor menuju
Groud.
• Rangkaian ini mempunyai kelemahan yaitu tidak dapat mengatur arah
putaran motor DC. Untuk mengatur arah putaran digunakan
Rangkaian H-Bridge atau Jembatan-H.
CONTOH 1
SKETSA RANGKAIAN
KODE PROGRAM
int PinMotor = 3; //menggunakan PIN PWM
int PotPin = 0;
int bacaPin = 0;
int putaran = 0;
void setup()
{
pinMode(PinMotor, OUTPUT);
}
void loop()
{
bacaPin = analogRead(PotPin);
putaran = map(bacaPin, 0, 1023, 0, 255); //merubah 0-1023 ke 0-255
motor(putaran); //panggil fungsi motor
Serial.println(putaran);
delay(10);
}
void motor(int putaran)
{
analogWrite(PinMotor, putaran); //0 & 1
}
CONTOH 2
SKETSA RANGKAIAN
KODE PROGRAM
int boton = 8;
int motor = 3;
void setup()
{
pinMode(boton , INPUT);
pinMode(motor , OUTPUT);
}
void loop()
{
if (estadoBoton == 1){
digitalWrite(motor , LOW);
} else {
digitalWrite(motor , HIGH);
}
}
MOTOR DRIVER H-BRIDGE L293D
1A 2A Kondisi Motor
0 0 stop
0 1 putar CW
1 0 putar CCW
1 1 stop
Perlu diingat bahwa pada datasheet dari L293D dijelaskan bahwa IC ini
hanya mampu melewatkan arus maksimal sebesar 1A. Jika arus yang
dilewatkan lebih dari arus 1A biasanya IC ini akan mudah panas dan
dapat mengakibatkan kerusakan. Untuk menanggulangi masalah tersebut,
beberapa sumber mengatakan bahwa IC ini dapat di rangkai paralel
sehingga dapat melewatkan arus lebih tinggi.
KOMPONEN YANG DIBUTUHKAN
Bahan Percobaan:
1x Arduino Uno
1x Motor Servo
KODE PROGRAM MOTOR SERVO
#include <Servo.h>
Servo motorServo;
int gerak;
void setup()
{
motorServo.attach(3);
}
void loop()
{
//--perbedaan pakai for dan tidak--//
motorServo.write(0);
motorServo.write(45);
motorServo.write(90);
motorServo.write(135);
motorServo.write(180);
delay(50);
• Buat projek sesuai dengan ide kalian masing-masing. Misal, keadaan jika ada objek
dengan jarak sekian meter maka motor servo bergerak kekanan 90 derajat. Jika
sekian meter motor servo bergerak kekiri 90 derajat.