Вы находитесь на странице: 1из 5

KNOB SERVO ARDUINO UNO DENGAN I2C LCD

ARUM SINDA SANTIKA (14640040)

Motor servo adalah salah satu jenis motor DC yang memiliki sistem umpan
balik tertutup.Di dalam motor servo sendiri terdiri dari beberapa bagian yaitu :
motor D C,rangkaian gear,kontrol dan potensiometer.

Potensiometer di dalam box motor servo berfungsi untuk mengatur batas


sudut putaran dari motor servo itu sendiri,dan sudut servo diatur berdasarkan lebar
pulsa pada pin sinyal motor servo “biasanya berwarna kuning “.

Alat dan Bahan :


1. Arduino uno
2. PCB
3. Potensiometer
4. Kabel penghubung
5. Servo motor
6. LCD ukuran 20cm x 4 cm
7. I2C
8. Laptop
Langkah- langkah mengoperasikan servo knob:
1. Dipersiapkan servo motor beserta data sheet nya
pada servo terdapat 3 macam jenins kabel :
a. Hitam/coklat: disambungkan ke ground arduino
b. Merah: disambungkan ke Vcc atau 5v pada arduino
c. Kuning: disambungkan pada pin 9 pada arduino
2. Kemudian, pasang potensiometer pada papan PCB dengan data sheet
sebagai berikut:

3. Sambungkan pin-pin pada I2C ke arduino, sesuai dengan keterangan pada


gambar dibawah ini.

4. Setelah terangkai , mulai mengkoding alamat I2C pada software arduino


untuk mengetahui alamat I2C guna dihubungakan pada LCD
#include <Wire.h>

void setup() {
Serial.begin (115200);
while (!Serial)
{
}
Serial.println ();
Serial.println ("I2C Scanner. Scanning ...");
byte count = 0;
Wire.begin();
for (byte i = 1; i < 120; i++)
{
Wire.beginTransmission (i);
if (Wire.endTransmission () == 0)
{
Serial.print ("Ditemukan Alamat: ");
Serial.print (i, DEC);
Serial.print (" (0x");
Serial.print (i, HEX);
Serial.println (")");
count++;
delay (1);
}
}
Serial.println ("Selesai.");
Serial.print ("Ditemukan ");
Serial.print (count, DEC);
Serial.println (" device(s).");
}
void loop()
{
}
5. Kemudian klik serial monitor dan pada menu Baud pilih tipe yang sesuai,
dan akan muncul tipe dari LCD yang digunakan, dan di masukkan pada
kodding I2C
6. Mengkoding I2C supaya terkoneksi dengan LCD

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3f ,2,1,0,4,5,6,7,3, POSITIVE);
void setup(){
lcd.begin (16,2);
}
void loop(){
lcd.setCursor(0, 0);
lcd.print("TEST LCD i2C");
lcd.setCursor(0, 1);
lcd.print("KelasRobot.com ");
}
7. Setelah itu kodding untuk pengoperasian servo motor yang digabungkan
dengan analog serial.

#include <Servo.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3f ,2,1,0,4,5,6,7,3, POSITIVE);
Servo myservo; // create servo object to control a servo

int potpin = 0; // analog pin used to connect the potentiometer


int val; // variable to read the value from the analog pin
int nilai;
void setup() {
Serial.begin(9600);
lcd.begin (16,2);
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}

void loop() {
nilai = analogRead(A0);
val = analogRead(potpin); // reads the value of the potentiometer (value
between 0 and 1023)
val = map(val, 0, 1023, 0, 180); // scale it to use it with the servo (value between 0
and 180)
myservo.write(val); // sets the servo position according to the scaled value
Serial.print("POTENSIO = ");
Serial.print(nilai);
Serial.print(" ");
Serial.print("SUDUT SERVO = ");
Serial.println(val);
lcd.setCursor(0, 0);
lcd.print("POTENSIO = ");
lcd.setCursor(11, 0);
lcd.print(nilai);
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print("SUDUT SERVO = ");
lcd.setCursor(15, 1);
lcd.print(val);
lcd.print(" ");
delay(50); // waits for the servo to get there
}
8. Kemudian, jalankan dan Knob servo telah dapat digunakan dan output dapat
dilihat pada LCD 20x4cm
9. Selesai

Вам также может понравиться