Anda di halaman 1dari 22

BAB III

Ruang Lingkup Kegiatan PRAKERIN

III.1 Tinjauan teori kompetisi

A. Arduino Mega 2560

Gambar III.1 Arduino Mega 2560

Arduino Mega 2560 adalah papan mikrokontroler yang menggunakan intergate Circuit (IC)
ATmega2560 (datasheet). Module mikrokontroler ini memiliki 54 pin input / output digital
(14 di antaranya dapat digunakan sebagai output PWM), 16 input analog, 4 UART (port serial
perangkat keras), osilator kristal 16 MHz, koneksi USB, colokan listrik, header ICSP, dan
tombol reset. Ini berisi semua yang diperlukan untuk mendukung mikrokontroler; cukup
sambungkan ke komputer dengan kabel USB atau daya dengan adaptor AC-ke-DC atau
baterai untuk memulai.
Arduino Mega 2560 memiliki beberapa Fitur / Spesifikasi yang menjadikan nya Efektif untuk
digunakan dalam berbagai keperluan (dalam pembuatan Mesin Cerdas khususnya).
Berikut Spesifikasi –Spesifikasi dari Arduino Mega 2560 :
1. Mengguanakan IC Atmega1280 atau 2560

2. Tegangan Operasi: 5V

3. Tegangan Input (disarankan): 7-12V

4. Tegangan Input (batas): 6-20V

5. Digital I / O Pins: 54 (dimana 14 menyediakan output PWM)

6. Pin Input Analog: 16


7. Arus DC per Pin I / O: 40 mA

8. Arus DC untuk 3.3V


Pin: 50 mA

9. Memori
Flash: 128K B atau
256KB

B. Module DHT 11 (Humidity Sensor)

Gambar III.2 DHT11 Humidity Sensors

Sensor suhu dan kelembaban digital DHT11 adalah sensor komposit yang berisi keluaran
sinyal digital dari suhu dan kelembaban. Teknologi koleksi modul digital khusus dan
teknologi penginderaan suhu dan kelembaban diterapkan untuk memastikan bahwa produk
memiliki keandalan tinggi dan stabilitas jangka panjang yang sangat baik.
Sensor ini mencakup komponen resistif basah dan perangkat pengukur suhu NTC, dan
terhubung dengan mikrokontroler 8-bit berperforma tinggi.

Hanya tiga pin yang tersedia untuk digunakan: VCC, GND, dan DATA. Proses komunikasi
dimulai dengan jalur DATA yang mengirimkan sinyal awal ke DHT11, dan DHT11 menerima
sinyal dan mengembalikan sinyal jawaban. Kemudian tuan rumah menerima sinyal jawaban
dan mulai menerima data humiture 40-bit (integer kelembaban 8-bit + desimal kelembaban 8-
bit + integer suhu 8-bit + desimal suhu 8-bit + checksum 8-bit).

Berikut Spesifikasinya :

1. Modul sensor DHT 11 Digunakan untuk mengukur suhu dan kelembaban


2. Rentang pengukuran kelembaban: 20 - 90% RH
3. Rentang pengukuran suhu: 0 - 60 ℃
4. Output sinyal digital yang menunjukkan suhu dan kelembaban
5. Tegangan kerja: DC 5V; Ukuran PCB: 2,0 x 2,0 cm
6. Akurasi pengukuran kelembaban: ± 5% RH
7. Akurasi pengukuran suhu: ±2℃

C. Module Motor Driver L298N

Gambar III.3 L298N


Modul driver H Ganda menggunakan ST L298N driver dual-jembatan ganda, sebuah
rangkaian monolitik terintegrasi dalam paket Multiwatt 15-lead dan PowerSO20. Ini adalah
driver jembatan penuh ganda tegangan tinggi, arus tinggi yang dirancang untuk menerima
level logika TTL standar dan menggerakkan beban induktif seperti relay, solenoida, DC dan
motor stepping. Dua input yang diaktifkan disediakan untuk mengaktifkan atau
menonaktifkan perangkat secara independen dari sinyal input. Emitor dari transistor yang
lebih rendah dari masing-masing jembatan dihubungkan bersama dan terminal eksternal yang
sesuai dapat digunakan untuk koneksi resistor penginderaan eksternal. Input pasokan
tambahan disediakan sehingga logika bekerja pada tegangan lebih rendah.
Berikut Sepesifikasinya :

 Pengemudi: L298N

 Catu daya driver: + 5V ~ + 46V

 Pengemudi Io: 2A
 Output daya logika Vss: + 5 ~ + 7V (pasokan internal + 5V)

 Logika saat ini: 0 ~ 36mA

 Mengontrol level: Rendah -0.3V ~ 1.5V,


tinggi: 2.3V ~ Vss

 Aktifkan level sinyal: Rendah -0.3V ~


1.5V, tinggi: 2.3V ~ Vss

 Daya maksimum: 25W (Suhu 75 cesus)

 Suhu kerja: -25C ~ + 130C

 Dimensi: 60mm * 54mm

 Berat pengemudi: ~ 48g

 Ekstensi lainnya: probe saat ini, indikator arah pengontrol, sakelar pull-up resistoer,
catu daya bagian logika.
D. Module Sensor Ultrasonik (HC-SR04)

Gambar III.4 HC-SR04

Sensor HC-SR04 adalah sensor pengukur jarak berbasis gelombang ultrasonik. Prinsip kerja
sesnsor ini pirip dengan radar ultrasonik. Gelombang ultrasonik di pancarkan kemudian di
terima balik oleh receiver ultrasonik. Jarak antara waktu pancar dan waktu terima adalah
representasi dari jarak objek. Sensor ini cocok untuk aplikasi elektronik yang memerlukan
deteksi jarak termasuk untuk sensor pada robot.

Sensor HC-SR04 adalah versi low cost dari sensor ultrasonic PING buatan parallax.
Perbedaaannya terletak pada pin yang digunakan. HC-SR04 menggunakan 4 pin sedangkan
PING buatan parallax menggunakan 3 pin. Pada Sensor HC-SR04 pin trigger dan output
diletakkan terpisah. Sedangkan jika menggunakan PING dari Parallax pin trigger dan output
telah diset default menjadi satu jalur. Tidak ada perbedaaan signifikan dalam
pengimplementasiannya.
Jangkauan karak sensor lebih jauh dari PING buatan
parllax, dimana jika ping buatan parllax hanya
mempunyai jarak jangkauan maksimal 350 cm
sedangkan sensor HC- SR04 mempunyai kisaran
jangkauan maksimal 400-500cm.

Spesifikasi:

 Jangkauan deteksi: 2cm sampai kisaran 400 -500cm

 Sudut deteksi terbaik adalah 15 derajat

 Tegangan kerja 5V DC

 Resolusi 1cm

 Frekuensi Ultrasonik 40 kHz

 Dapat dihubungkan langsung

 ke kaki mikrokontroler

E. Motor Servo

Gambar . III.5 Motor Servo Tower Pro SG90


Servomotor adalah Servomekanisme tertutup yang menggunakan umpan balik posisi untuk
mengontrol gerakan dan posisi akhirnya. Input ke kontrolnya
adalah sinyal (baik analog atau digital) yang mewakili posisi
yang diperintahkan untuk poros output.

Motor dipasangkan dengan beberapa jenis encoder untuk


memberikan umpan balik posisi dan kecepatan. Dalam kasus
yang paling sederhana, hanya posisi yang diukur. Posisi
terukur dari output dibandingkan dengan posisi perintah, input eksternal ke controller. Jika
posisi keluaran berbeda dari yang diperlukan, dihasilkan Sinyal kesalahan yang kemudian
menyebabkan motor berputar ke dua arah, seperti yang diperlukan untuk membawa poros
keluaran ke posisi yang sesuai. Saat posisi mendekati, sinyal kesalahan berkurang ke nol dan
motor berhenti.

Spesifikasi :
 Operating Voltage : 4.8~6.0V
 Operating Speed : 0.12sec/60 degree(4.8V)~0.1sec/60
degree(6.0V)

 Torque : 1.6kg/cm(4.8V)

 Dead Band Width : 5usec

 Temperature Range : -30~+60℃

 Cable Length : 25cm

 Servo Type : Analog Servo

 Brand Model : Tower Pro SG90

F. Module Relay
Gambar III.6 Module Relay 1 channel

Relay adalah perangkat yang dioperasikan


secara listrik. Ini memiliki sistem
kontrol dan (juga disebut sirkuit input
atau kontaktor input) dan sistem terkontrol
(juga disebut sirkuit output atau output
cont actor). Ini sering digunakan dalam
rangkaian kontrol otomatis. Sederhananya, itu adalah saklar otomatis untuk mengendalikan
sirkuit arus tinggi dengan sinyal arus rendah.

Keuntungan dari relay terletak pada inersia yang lebih rendah dari pergerakan, stabilitas,
keandalan jangka panjang dan volume kecil. Ini secara luas diadopsi dalam perangkat
perlindungan daya, teknologi otomasi, olahraga, remote control, pengintaian dan komunikasi,
serta dalam perangkat elektromekanik dan elektronik daya. Secara umum, relai berisi bagian
induksi yang dapat mencerminkan variabel input seperti arus, tegangan, daya, resistansi,
frekuensi, suhu, tekanan, kecepatan dan cahaya, dll. Ini juga berisi modul aktuator (output)
yang dapat memberi energi atau menghilangkan energi koneksi rangkaian terkontrol. Ada
bagian perantara antara bagian input dan bagian output yang digunakan untuk
menghubungkan dan mengisolasi arus input, serta menggerakkan output. Ketika nilai input
dinilai (tegangan, arus dan suhu dll.)

Spesifikasi :
 Baik dalam hal keamanan. Dalam sistem tenaga dan sistem tegangan tinggi, arus yang

 lebih rendah dapat mengontrol yang lebih tinggi.

 1-channel output sistem tegangan tinggi, memenuhi kebutuhan kontrol saluran


tunggal

 Berbagai tegangan yang dapat dikendalikan.

 Mampu mengendalikan arus beban tinggi, yang bisa mencapai 240V, 10A

 Dengan kontak yang normal-terbuka (NO) dan kontak yang normal-tertutup (NC)

G. Motor DC
Gambar III.7 Motor DC kuning 3 – 12 V

Motor poros ganda DC diarahkan yang memberikan torsi dan rpm yang baik pada tegangan
yang lebih rendah. Motor ini dapat berjalan pada sekitar 375 rpm ketika digerakkan oleh sel
Li-Ion tunggal. Ini paling cocok untuk robot ringan berjalan pada tegangan kecil. Dari dua
porosnya satu poros dapat dihubungkan ke roda, lainnya dapat dihubungkan ke posisi
encoder.

Sepesifikasi :

 Nilai Tegangan: 5.0V DC

 Tegangan Kerja: 3.0V - 6.0V DC

 Saat ini: ( Tanpa beban) 3V -150mA, 6V -200mA

 Kecepatan: ( Tanpa beban) 3V -90rpm ± 10%, 6V -200rpm ± 10%

 Torsi: maks. 0.8kg / cm

 Rasio pengurangan: 1:48

 Tipe sikat: Sikat

 Ukuran Tubuh: 70mm x 37mm x 23mm

 Ukuran Poros: 8mm x 2mm diameter

 Berat: 17,5 gram


H. Metal ball caster

Gambar III.8 caster bola besi

Metal ball caster biasanya digunakan sebagai penyanga/ titik tumpu keseimbangan, sekaligus
Roda tanpa listrik pada mobil Robot elektronik (umumnya digunakan sebagai roda depan ) .

I. Fan cooling (Kipas pendingin)

Gambar III.9 Kipas AnginMini DC 12V

Kipas angin mini ini umumnya banyak digunakan sebagai kipas pendingin mesin

Central processing unit (CPU). Kipas angin ini dapat dioprasikan dengan mengunakan
Batrai dengan tegangan 12 Volt .
J. Shield Arduino Mega 2560

a. Aplikasi EAGEL 7.2.0 Light


EAGLE Adalah Aplikasi desain Elektronik Automatis (EDA) Dengan Skematik Capture
printed circuit board (PCB) . EAGLE Merupakan singkatan dari Easily Applicable Graphical
Layout Editor. EAGLE versi (7.2.0. Light ) memiliki Spesifikasi sebagai berikut :
EAGLE berisi editor skematik , untuk mendesain diagram sirkuit . Skema disimpan dalam
file dengan ekstensi (SCH). bagian didefinisikan dalam pustaka perangkat dengan ekstensi
(LBR). Bagian-bagian dapat ditempatkan pada banyak lembaran dan dihubungkan bersama
melalui port. Editor tata letak PCB menyimpan file papan dengan ekstensi (BRD). Ini
memungkinkan back-annotation ke skema dan auto-routing untuk secara otomatis
menghubungkan jejak berdasarkan koneksi yang ditentukan dalam skema.

EAGLE menyimpan file tata letak Gerber dan PostScript serta file bor Excellon dan Sieb &
Meyer. Ini adalah format file standar yang diterima oleh perusahaan fabrikasi PCB, tetapi
mengingat basis pengguna EAGLE yang khas dari perusahaan desain kecil dan penggemar,
banyak perakit PCB dan toko perakitan juga menerima file papan EAGLE (dengan
ekstensi .BRD) secara langsung untuk mengekspor file produksi yang dioptimalkan dan
memilih dan tempatkan data itu sendiri.
EAGLE menyediakan antarmuka pengguna grafis multi-jendela dan sistem menu untuk
mengedit, manajemen proyek dan untuk menyesuaikan antarmuka dan parameter desain.
Sistem dapat dikontrol melalui mouse, hotkey keyboard atau dengan memasukkan perintah
tertentu pada baris perintah yang tertanam. Beberapa perintah berulang dapat digabungkan
menjadi file skrip (dengan ekstensi file .SCR). Dimungkinkan juga untuk mengeksplorasi file
desain menggunakan bahasa pemrograman berorientasi objek EAGLE-spesifik (dengan
ekstensi ULP).
Gambar III.10 Tampilan layar Aplikasi EAGLE 7.2.0 Light

b.

Desain Shield Arduino Mega

Gambar III.12 Tampilan


desain shield Arduino Mega
(dibuat menggunakan EAGLE
7.2.0 Light)

C. Shield Arduino Mega


Gambar III.12 Shield Arduino Mega
K. SOFTWARE ARDUINO IDE

Gambar III.13 (Tampilan Layar pada Aplikasi Arduino IDE 1.4.6 )

Arduino Integrated Developtment Enviroenment (IDE) , atau secara bahasa mudahnya


merupakan lingkungan terintegrasi yang digunakan untuk melakukan pengembangan Adalah
adalah aplikasi lintas-platform (untuk Windows, macOS, Linux) yang ditulis dalam bahasa
pemrograman Java. Aplikasi Ini digunakan untuk menulis dan mengunggah program ke
papan Arduino yang kompatibel, tetapi juga, dengan bantuan core pihak ketiga, papan
pengembangan vendor lainnya.
Disebut sebagai lingkungan karena melalui software inilah Arduino dilakukan pemrograman
untuk melakukan fungsi-fungsi yang dibenamkan melalui sintaks pemrograman. Arduino
menggunakan bahasa pemrograman sendiri yang menyerupai bahasa C. Bahasa pemrograman
Arduino (Sketch) sudah dilakukan perubahan untuk memudahkan pemula dalam melakukan
pemrograman dari bahasa aslinya. Sebelum dijual ke pasaran, IC mikrokontroler Arduino
telah ditanamkan suatu program bernama Bootlader yang berfungsi sebagai penengah
antara compiler Arduino dengan mikrokontroler.

Arduino IDE dibuat dari bahasa pemrograman JAVA. Arduino IDE juga dilengkapi dengan
library C/C++ yang biasa disebut Wiring yang membuat operasi input dan output menjadi
Lebih mudah.
software Arduino IDE Merupakan software terpadu yang sudah menyediakan fitur-fitur yang
diperlukan pengguna untuk menciptakan kode program (disebut juga sebagai sketch). Adapun
bagian utama dari Arduino IDE ada 3 yaitu:

 Editor,

 Compiler,

 Uploader.

Editor
Merupakan bagian dimana pengguna dapat mengetikkan kode program.

Compiler
Bagian yang akan mengubah kode program yang dituliskan oleh user menjadi instruksi mesin
yang dimengerti oleh mikrokontroler pada modul Arduino.

Uploader

Merupakan bagian yang digunakan untuk melakukan proses upload program dari software
Arduino IDE ke modul Arduino. Bagian ini mendukung proses upload menggunakan fitur
bootloader modul Arduino ataupun menggunakan bantuan device programmer.

Beberapa fungsi dari Arduino IDE yang sering digunakan terletak pada toolbar. Terdapat 6
buah tombol pada toolbar tersebut yang memiliki fungsi sesuai dengan deskripsi pada Tabel
III.1 di bawah
ini :
Tabel III.1

Selain tombol-tombol yang terletak pada toolbar Arduino IDE, fungsi-fungsi lain dari
Arduino IDE dapat ditemukan pada 5 buah menu yang terletak di atas toolbar, yaitu File,
Edit, Sketch, Tools, dan Help. Deskripsi dari beberapa bagian penting untuk masing-masing
menu terdapat pada
tabel III.2 Dibawah ini :

Tabel III.2
Berikut Skrip program yang saya buat untuk mengontrol Robocar Arduino :

// MTR Servo

#include <Servo.h>

Servo Servo_;

int Posisi;

//dht11 HUMIDITY sensors

#include "DHT.h"

#define DHTPIN A2

#define RELAY 3

#define DHTTYPE DHT11

DHT dht(DHTPIN , DHTTYPE);

//Ultras Sonic

#define echoPin A1 //Echo Pin

#define trigPin A0 //Trigger Pin

#define LEDPin 13 //Led default dari Arduino uno

int maximumRange = 200; //kebutuhan akan maksimal

int minimumRange = 20; //kebutuhan akan minimal range

long duration, distance; //waktu untuk kalkulasi jarak

//MTR Driver

#define in1 7 //in1 = kiri MAJU

#define in2 6 //IN2 = kiri MUNDUR

#define in3 5 //in3 = kanan maju untuk mengaktifkan salahsatu dari bagian kanan HING DAN LOW,

#define in4 4 //in4 = kanan mundur HIGH HIGH = REM

void setup()

Serial.begin(9600); //Komunikasi serial

pinMode(RELAY, OUTPUT); //RELAY OUTPUT

//Servo

Servo_.attach(10);
//dht11 HUMIDITY sensors

Serial.println("Suhu SAAT INI!");

dht.begin(); //prosedur memulai pembacaan module sensor

//Ultra Sonic

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

pinMode(LEDPin, OUTPUT);

//MTR Driver

pinMode(in1,OUTPUT);

pinMode(in2,OUTPUT);

pinMode(in3,OUTPUT);

pinMode(in4,OUTPUT);

void loop()

if (DHT.humidity >40){

digitalWrite (PIN3,HIGH);

}else{

digitalWrite, (PIN3,LOW);

if (DHT.temperature >30){

digitalWrite(PIN4,HIGH);

}else{

digitalWrite(PIN4,LOW);

int duration, distance;

digitalWrite (trigPin, HIGH);

delayMicroseconds (1000);
digitalWrite (trigPin, LOW);

duration = pulseIn (echoPin, HIGH);

distance = (duration/2) / 29.1;

if (distance < 20) { // Distance from sensor

digitalWrite (motorPin, HIGH); // When in range, motor should start high

else {

digitalWrite(motorPin, LOW);

if (distance > 20) { // Distance from sensor

Serial.println("Out of range");

else {

Serial.print(distance);

Serial.println(" cm");

delay(500);

void SONIC() {

/* Berikut siklus trigPin atau echo pin yang digunakan

untuk menentukan jarak objek terdekat dengan memantulkan

gelombang suara dari itu. */

digitalWrite(trigPin, LOW);delayMicroseconds(2);

digitalWrite(trigPin, HIGH);delayMicroseconds(10);

digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);

//perhitungan untuk dijadikan jarak

distance = duration/58.2;

/* Kirim angka negatif ke komputer dan Turn LED ON


untuk menunjukkan "di luar jangkauan" */

if (distance >= maximumRange || distance <= minimumRange)

Serial.println("Jarak,Tidak dalam Jangkauan!!");digitalWrite(LEDPin, HIGH);

else

/*Kirim jarak ke komputer menggunakan Serial protokol, dan

menghidupkan LED OFF untuk menunjukkan membaca sukses. */

Serial.println(distance);

digitalWrite(LEDPin, LOW);

//waktu tunda 50mS

delay(5);

//fungsi DHT

void Suhu(){

delay(2000); // menungu 2000ms untuk pembacaan

// pembacaan sensor memburuhkan waktu 250ms

float humidity_1 = dht.readHumidity(); // baca data kelembaban

float celcius_1 = dht.readTemperature(); //baca dalam format Celcius(C)

float fahrenheit_1 = dht.readTemperature(true); //baca dalam format Farenheit

//Mengecek pembacaan apakah terjadi kegagalan atau tidak

if (isnan(humidity_1) || isnan(celcius_1) || isnan(fahrenheit_1)) {

Serial.println("pembacaan data dari module sensor gagal!");

return;

float htof = dht.computeHeatIndex(fahrenheit_1, humidity_1); //prosedur pembacaan data index panas dalam bentuk
farenheit
float htoc = dht.computeHeatIndex(celcius_1, humidity_1, false); //prosedur pembacaan data index panas dalam bentuk
celcius

// pembacaan Nilai baca data kelembapan

Serial.print("kelembaban: ");

Serial.print(humidity_1);

Serial.print(" %\t");

//pembacaan niai pembacaan data suhu

Serial.print("Suhu : ");

Serial.print(celcius_1); //format derajat celcius

Serial.print(" 'C ");

Serial.print(fahrenheit_1); //format derajat fahrenheit

Serial.print(" 'F\t");

Serial.print("Indeks Panas: ");

Serial.print(htof);

Serial.println(" *F");

Serial.print(htoc);

Serial.print(" *C ");

// fugsi MOTOR Servo

void Servo_MTR ()

// put your main code here, to run repeatedly:

for(Posisi=0;Posisi<=180;Posisi++)

Servo_.write(Posisi);

delay(5);

delay(500);

for(Posisi=180;Posisi>=1;Posisi--)

{
Servo_.write(Posisi);

delay(5);

// Fungsi MTR DRIVER

void Maju()

digitalWrite(in1,HIGH);

digitalWrite(in2,LOW);

digitalWrite(in3,HIGH);

digitalWrite(in4,LOW);

void Mundur()

digitalWrite(in1,LOW);

digitalWrite(in2,HIGH);

digitalWrite(in3,LOW);

digitalWrite(in4,HIGH);

void Kanan()

digitalWrite(in1,LOW);

digitalWrite(in2,HIGH);

digitalWrite(in3,HIGH);

digitalWrite(in4,LOW);

Anda mungkin juga menyukai