TT2A - 06 - ALMAS ABYAN SAFWAH - Jobsheet Galoy 4
TT2A - 06 - ALMAS ABYAN SAFWAH - Jobsheet Galoy 4
NIM : 2031130036
NO. ABSEN : 06
KELAS : 2A
Jobsheet 3 : Sensors
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
3
Jobsheet Praktikum
4
Jobsheet Praktikum
5
Jobsheet Praktikum
Materi Singkat
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.
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.
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);
}
delay(1000);
Serial.println();
Serial.println();
Serial.println("====================================");
Serial.println();
Serial.println();
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);
}
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