Anda di halaman 1dari 8

MODUL WORKSHOP ARDUINO ROBOTIC CONTROL 2016

MATERI PELATIHAN ARDUINO


A. BAGIAN 1 (Program Dasar)
1. Akses LED
Tujuan : Membuat program lampu flip-flop
Komponen : Arduino, LED, Resistor 220 Ohm, Kabel Jumper & Project Board
Rangkaian :

Program :
void setup() {
pinMode(13, OUTPUT);
}

void loop() {
digitalWrite(13, LOW);
delay(1000);
digitalWrite(13, HIGH);
delay(1000);
}
2. Akses Tombol
Tujuan : Membuat program Switch dan menampilkannya pada Serial Monitor
Komponen : Arduino, Button, Resistor 10 K Ohm, Kabel Jumper & Project Board
Rangkaian :

Program :
void setup() {
pinMode(8, INPUT);
Serial.begin(9600);
}

void loop() {
if (digitalRead(8)==HIGH)
Serial.println(SAKLAR ON);
else

Oleh: Zainal Abidin ~ coztutorial.com Halaman 1


MODUL WORKSHOP ARDUINO ROBOTIC CONTROL 2016

Serial.println(SAKLAR OFF);
delay(10);
}
3. Akses Photodiode & Potensiometer
Tujuan : Membuat program pembacaan nilai ADC dari Photodiode dan
Potensiometer dan menampilkannya pada Serial Monitor
Komponen : Arduino, Photodiode, Potensiometer, Resistor 22 K Ohm, Kabel Jumper &
Project Board
Rangkaian :

Program :
void setup() {
Serial.begin(9600);
}

void loop() {
int photoValue = analogRead(A0);
int potensioValue = analogRead(A1);
Serial.print(Nilai Photodiode: );
Serial.print(photoValue);
Serial.print( - Nilai Potensiometer: );
Serial.println(potensioValue);
delay(10);
}
4. Akses Motor
Tujuan : Membuat program memutar Motor DC kekanan dan kekiri
Komponen : Arduino, Motor DC 5 Volt, Kabel Jumper & Project Board
Rangkaian :

Oleh: Zainal Abidin ~ coztutorial.com Halaman 2


MODUL WORKSHOP ARDUINO ROBOTIC CONTROL 2016

Program :
void setup() {
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
}

void loop() {
analogWrite(9, 255);
analogWrite(10, 0);
delay(3000);
analogWrite(9, 0);
analogWrite(10, 255);
delay(3000);
}
5. Akses Sensor Ultrasonik
Tujuan : Membuat program akses Sensor Ultrasonik dan menampilkannya pada
Serial Monitor
Komponen : Arduino, Ultrasonik, Kabel Jumper & Project Board
Rangkaian :

Program :
#define echo1 6
#define triger1 7
unsigned long pulseTime1 = 0;
unsigned long jarak1 = 0;

void setup() {
Serial.begin(9600);
pinMode(triger1, OUTPUT);
pinMode(echo1, INPUT);
}
void loop() {
digitalWrite(triger1, HIGH);
delayMicroseconds(10);
digitalWrite(triger1, LOW);

Oleh: Zainal Abidin ~ coztutorial.com Halaman 3


MODUL WORKSHOP ARDUINO ROBOTIC CONTROL 2016

pulseTime1 = pulseIn(echo1, HIGH);


jarak1 = (pulseTime1 / 58);

Serial.print("Jarak : ");
Serial.print(jarak1);
Serial.println(" cm");
delay(100);
}
B. BAGIAN 2 (Projek Pengembangan)
1. Lampu Jalan Otomatis
Tujuan : Membuat program Lampu Jalan Otomatis menggunakan Sensor Photodiode
dan LED sebagai Indikatornya
Komponen : Arduino, Photodiode, Resistor 22 K Ohm, LED, Resistor 220 Ohm, Kabel
Jumper & Project Board
Program :
void setup() {
Serial.begin(9600);
pinMode(13, OUTPUT);
}
void loop() {
int sensorValue = analogRead(A0);
if (sensorValue > 500)
{
Serial.print("NILAI ADC SENSOR:");
Serial.print(sensorValue);
Serial.print(" - ");
Serial.println("LAMPU MATI");
digitalWrite(13, LOW);
}
else
{
Serial.print("NILAI ADC SENSOR:");
Serial.print(sensorValue);
Serial.print(" - ");
Serial.println("LAMPU NYALA");
digitalWrite(13, HIGH);
}
delay(10);
}

Oleh: Zainal Abidin ~ coztutorial.com Halaman 4


MODUL WORKSHOP ARDUINO ROBOTIC CONTROL 2016

2. Mobil-mobilan
Tujuan : Membuat program mobil-mobilan dengan kontrol kecepatan dan arah
menggunakan Potensiometer dan Button
Komponen : Arduino, Button, Resistor 10 K Ohm, Motor DC 5 Volt, Potensiometer, Kabel
Jumper & Project Board
Program :
void setup() {
Serial.begin(9600);
pinMode(11, OUTPUT);
pinMode(9, OUTPUT);
pinMode(8, INPUT);
}

void loop() {
int sensorValue = analogRead(A0);
sensorValue = map(sensorValue, 0, 1023, 0, 255);
if (digitalRead(8)==HIGH)
{
analogWrite(11, sensorValue);
analogWrite(9, 0);
Serial.print("Kecepatan Motor:");
Serial.print(sensorValue);
Serial.println(" - Putar KIRI");
}
else
{
analogWrite(9, sensorValue);
analogWrite(11, 0);
Serial.print("Kecepatan Motor:");
Serial.print(sensorValue);
Serial.println(" - Putar KANAN");
}
delay(10);
}

Oleh: Zainal Abidin ~ coztutorial.com Halaman 5


MODUL WORKSHOP ARDUINO ROBOTIC CONTROL 2016

3. Pengaman Kendaraan
Tujuan : Membuat program pengaman kendaraan berbasis sensor jarak dan LED
Komponen : Arduino, Ultrasonik, LED, Resistor 220 Ohm , Kabel Jumper & Project Board
Program :
#define echo1 6
#define triger1 7

unsigned long pulseTime1 = 0;


unsigned long jarak1 = 0;

void setup() {
Serial.begin(9600);
pinMode(13, OUTPUT);
pinMode(triger1, OUTPUT);
pinMode(echo1, INPUT);
}

void loop() {
digitalWrite(triger1, HIGH);
delayMicroseconds(10);
digitalWrite(triger1, LOW);
pulseTime1 = pulseIn(echo1, HIGH);
jarak1 = (pulseTime1 / 58);

Serial.print("Jarak : ");
Serial.print(jarak1);
Serial.println(" cm");

If (jarak1<30)
digitalWrite(13, LOW);
else
digitalWrite(13, HIGH);
delay(100);
}

Oleh: Zainal Abidin ~ coztutorial.com Halaman 6


MODUL WORKSHOP ARDUINO ROBOTIC CONTROL 2016

C. BAGIAN 3 (Pengembangan Tingkat Lanjut)


1. Lampu Penyebrangan
Tujuan : Membuat program Lampu Penyebrangan dengan Switch
Komponen : Arduino, Switch, Resistor 220 Ohm, LED, Kabel Jumper & Project Board
Program :
void setup() {
pinMode(13, OUTPUT);
pinMode(8, INPUT);
pinMode(9, INPUT);
}

void loop() {
if (digitalRead(8)==digitalRead(9))
digitalWrite(13, LOW);
else
digitalWrite(13, HIGH);
}
2. Indikator Banjir
Tujuan : Membuat program Indikator Banjir berbasis sensor jarak dan LED
Komponen : Arduino, Ultrasonik, LED, Resistor 220 Ohm , Kabel Jumper & Project Board
Program :
#define echo1 6
#define triger1 7

unsigned long pulseTime1 = 0;


unsigned long jarak1 = 0;

void setup() {
Serial.begin(9600);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(triger1, OUTPUT);
pinMode(echo1, INPUT);
}
void loop() {
digitalWrite(triger1, HIGH);
delayMicroseconds(10);

Oleh: Zainal Abidin ~ coztutorial.com Halaman 7


MODUL WORKSHOP ARDUINO ROBOTIC CONTROL 2016

digitalWrite(triger1, LOW);
pulseTime1 = pulseIn(echo1, HIGH);
jarak1 = (pulseTime1 / 58);

Serial.print("Jarak : ");
Serial.print(jarak1);
Serial.println(" cm");

If (jarak1<100 && jarak>75){


digitalWrite(8, HIGH);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
}
else if (jarak1<75 && jarak>50){
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
}
else if (jarak1<50 && jarak>25){
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
}
else if (jarak1<25){
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
}
else if (jarak1>100){
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
}
delay(100);
}

Oleh: Zainal Abidin ~ coztutorial.com Halaman 8

Anda mungkin juga menyukai