Anda di halaman 1dari 14

Jobsheet 3 : Sensors

NAMA : ALMAS ABYAN SAFWAH

NIM : 2031130036

NO. ABSEN : 06

KELAS : 2A

JURUSAN : TEKNIK ELEKTRO

PRODI : D3 TEKNIK TELEKOMUNIKASI

Praktikum Mikrokontroller Galih Putra Riatma, S.ST., M.T.


Jobsheet Praktikum

Jobsheet 3 : Sensors

Praktikum Mikrokontroller Galih Putra Riatma, S.ST., M.T.


2
Jobsheet Praktikum

INSTRUCTIONS
1. Buka tinkercad.com
2. Login menggunakan username dan password yang sudah dibuat
3. Masuk ke submenu Circuits
4. Buat rangkaian dengan sensor seperti di bawah (Pin output bebas)

5. Sesuaikan pinout sensor dengan pin Arduino gunakan datasheet dari setiap sensor yang ada
6. KUMPULKAN DATASHEET YANG KALIAN GUNAKAN (FILE TERPISAH)
7. Pada pojok kanan atas, masuk ke menu Code, ubah ke Text dan pastikan device yang diedit
adalah Arduino UNO R3

8. Coba dan Analisa potongan kode di bawah ini

3
Jobsheet Praktikum

4
Jobsheet Praktikum

5
Jobsheet Praktikum
Materi Singkat

Sensor PIR menggunakan Passive Infrared untuk melakukan mapping sederhana


terhadap arah dari sensor, Ketika ada benda bergerak maka akan terjadi “gangguan”
pada gelombang infra merah yang dihasilkan oleh sensor. Sensor menganggap gangguan
tersebut sebagai Gerakan dan akan menghasilkan output HIGH. Ketika tidak ada
Gerakan, sensor akan mengeluarkan output LOW.

Sensor temperature adalah sensor analog yang artinya output yang dihasilkan adalah
sebuah range tegangan (contoh 800mV pada suhu -40C hingga 1200mV pada suhu
120C) maka dibutuhkan banyak konversi untuk mendapatkan hasil akhir berupa suhu
dalam Celsius.

Sensor Ultrasonic menggunakan gelombang ultrasonic 40KHz untuk mendapatkan


perkiraan jarak, maka dari itu cara kerja sensor ultrasonic akan berhubungan dengan
kecepatan rambat gelombang suara pada media yang digunakan (udara).

6
Jobsheet Praktikum

Tugas :
1. Tambahkan 1 LED RGB yang menyala merah Ketika ultrasonic mendeteksi
benda di jarak < 100cm
2. Buat agar LED menyala biru Ketika PIR mendeteksi Gerakan
3. Buat kode agar LED menyala hijau Ketika thermometer mendeteksi suhu di
bawah 30C
4. Dari tugas teori anda, rangkai rangkaian dan buat baris kode nya agar dapat
berfungsi.
Jawaban :
1.

2.

7
Jobsheet Praktikum

3.

Coding untuk nomer 1,2 dan 3


8
Jobsheet Praktikum
// C++ code
//
int movement= 2;
int ultrasonic= 7;
int temperature= A0;
int warnamerah = 6;
int warnabiru = 5;
int warnahijau = 3;

void setup()
{
Serial.begin(9600);
pinMode(temperature, INPUT);
pinMode(movement, INPUT);
pinMode(warnamerah, OUTPUT);
pinMode(warnabiru, OUTPUT);
pinMode(warnahijau, OUTPUT);
}

void loop()
{
// TEMPERATURE=========================
int tegangansensor;
float analogconvert;
long duration;

tegangansensor= analogRead(temperature);
analogconvert= (float)tegangansensor/1024;
analogconvert= analogconvert*5;
analogconvert= analogconvert - 0.5;
analogconvert= analogconvert*100;
String kalimat= "Room Temperature: " + String( analogconvert);
Serial.println(kalimat);

if(analogconvert <=30)
{
nyalakanLED(0,0,255);
delay(2000);
}
else
{
nyalakanLED(0,0,0);
}

// MOVEMENT==============================
int statusmovement = digitalRead(movement);
if(statusmovement ==1)
{
Serial.println("Detecting Movement!!!");
nyalakanLED(0,255,0);
9
Jobsheet Praktikum
delay(2000);
}
else if(statusmovement ==0)
{
Serial.println("All Clear!");
nyalakanLED(0,0,0);
}
else
{
Serial.println("ERROR!!!!!!!");
}

//ULTRASONIC=============================
pinMode(ultrasonic, OUTPUT);
digitalWrite(ultrasonic, LOW);
delayMicroseconds(2);
digitalWrite(ultrasonic, HIGH);
delayMicroseconds(10);
digitalWrite(ultrasonic, LOW);

pinMode(ultrasonic, INPUT);
duration = pulseIn(ultrasonic, HIGH);

if(duration/28.6/2 <=100)
{
nyalakanLED(255,0,0);
}
else
{
nyalakanLED(0,0,0);
}

Serial.println("Range to Target; ");


Serial.println(duration/28.6/2);

delay(1000);
Serial.println();
Serial.println();
Serial.println("====================================");
Serial.println();
Serial.println();

void nyalakanLED(int nilaimerah, int nilaibiru, int nilaihijau)


{
10
Jobsheet Praktikum
analogWrite(warnamerah, nilaimerah);
analogWrite(warnabiru, nilaibiru);
analogWrite(warnahijau, nilaihijau);
}

4.
Coding Pergerakan
// C++ code
//
int movement= 2;
int ultrasonic= 7;
int temperature= A0;
int warnamerah = 6;
int warnabiru = 5;
int warnahijau = 3;

void setup()
{
Serial.begin(9600);
pinMode(temperature, INPUT);
pinMode(movement, INPUT);
pinMode(warnamerah, OUTPUT);
pinMode(warnabiru, OUTPUT);
pinMode(warnahijau, OUTPUT);
}

void loop()
{
// MOVEMENT==============================
int statusmovement = digitalRead(movement);
if(statusmovement ==1)
{
Serial.println("Detecting Movement!!!");
nyalakanLED(0,255,0);
delay(2000);
}
else if(statusmovement ==0)
{
Serial.println("All Clear!");
nyalakanLED(0,0,0);
}
else
{
Serial.println("ERROR!!!!!!!");
}
}
void nyalakanLED(int nilaimerah, int nilaibiru, int nilaihijau)
{
analogWrite(warnamerah, nilaimerah);
analogWrite(warnabiru, nilaibiru);
11
Jobsheet Praktikum
analogWrite(warnahijau, nilaihijau);
}

Coding Suhu Ruangan


// C++ code
//
int movement= 2;
int ultrasonic= 7;
int temperature= A0;
int warnamerah = 6;
int warnabiru = 5;
int warnahijau = 3;

void setup()
{
Serial.begin(9600);
pinMode(temperature, INPUT);
pinMode(movement, INPUT);
pinMode(warnamerah, OUTPUT);
pinMode(warnabiru, OUTPUT);
pinMode(warnahijau, OUTPUT);
}

void loop()
{
// TEMPERATURE=========================
int tegangansensor;
float analogconvert;
long duration;

tegangansensor= analogRead(temperature);
analogconvert= (float)tegangansensor/1024;
analogconvert= analogconvert*5;
analogconvert= analogconvert - 0.5;
analogconvert= analogconvert*100;
String kalimat= "Room Temperature: " + String( analogconvert);
Serial.println(kalimat);

if(analogconvert <=30)
{
nyalakanLED(0,0,255);
delay(2000);
}
else
{
nyalakanLED(0,0,0);
}
}
void nyalakanLED(int nilaimerah, int nilaibiru, int nilaihijau)
{
12
Jobsheet Praktikum
analogWrite(warnamerah, nilaimerah);
analogWrite(warnabiru, nilaibiru);
analogWrite(warnahijau, nilaihijau);
}

13
Jobsheet Praktikum

14

Anda mungkin juga menyukai