MODUL 2
PERCOBAAN 6 KONDISI 1
1. Rangkai semua komponen sesuai kondisi yang dipilih
2. Buat program di aplikasi arduino IDE
3. Setelah selesai masukkan program ke arduino di proteus
4. Jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
5. Selesai
2. Hardware dan diagram blok
[Kembali]
a. hardware
1. Arduino Uno
2. Push Button
3. Motor Stepper
2. Push Button
3. Motor Stepper
4. LM35
4. Driver
4. Driver
b. Digram Blok
3. Rangkaian Simulasi dan Prinsip kerja
[Kembali]
Rangkaian sebelum disimulasi
PRINSIP KERJA
Pada rangkaian tersebut, LM35 berperan sebagai input yang dihubungkan ke kaki analog arduino serta Push Button yang juga berfungsi sebagai input. outputnya yaitu Motor Stepper.
Rangkaian dapat disimulasikan setelah kodingan arduino dari arduino IDE dimasukkan ke arduino pada proteus. Dimana kodingan arduino diatur untuk membuat motor stepper berputar searah jarum jam sesuai dengan kondisi yang diberikan. Maksudnya, ketika suhu diatas 30 derajat, maka motor stepper akan berputar searah jarum jam.
4. FlowChart
[Kembali]
a. Listing Program
#define A 8
#define B 9
#define C 10
#define D 11
#define PB1 2
#define PB2 3
#define PB3 4
#define PB4 5
#define LM35 A0 // Pin untuk sensor LM35
void setup() {
Serial.begin(9600);
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(PB1, INPUT_PULLUP);
pinMode(PB2, INPUT_PULLUP);
pinMode(PB3, INPUT_PULLUP);
pinMode(PB4, INPUT_PULLUP);
pinMode(LM35, INPUT); // Inisialisasi pin LM35 sebagai input
}
void pergerakan_1(){
digitalWrite(A,0);
digitalWrite(D,1);
digitalWrite(B,0);
digitalWrite(C,1);
}
void pergerakan_2(){
digitalWrite(A,1);
digitalWrite(D,1);
digitalWrite(B,0);
digitalWrite(C,0);
}
void pergerakan_3(){
digitalWrite(A,1);
digitalWrite(D,0);
digitalWrite(B,1);
digitalWrite(C,0);
}
void pergerakan_4(){
digitalWrite(A,0);
digitalWrite(D,0);
digitalWrite(B,1);
digitalWrite(C,1);
}
void nonpergerakan(){
digitalWrite(A,0);
digitalWrite(D,0);
digitalWrite(B,0);
digitalWrite(C,0);
}
bool isLM30Above30() {
// Baca nilai analog dari LM35
int sensorValue = analogRead(LM35);
// Konversi nilai analog ke suhu dalam derajat Celsius
float temperature = (sensorValue / 1024.0) * 500.0;
return temperature > 30; // Kembalikan true jika suhu di atas 35 derajat Celsius
}
void loop() {
if (isLM30Above30()) { // Cek apakah suhu di atas 30 derajat Celsius
int b4 = digitalRead(PB4);
int b3 = digitalRead(PB3);
int b2 = digitalRead(PB2);
int b1 = digitalRead(PB1);
if (b4 == LOW) {
pergerakan_4(); // Pindahkan servo ke 270 derajat
}
else if (b3 == LOW) {
pergerakan_3(); // Pindahkan servo ke 180 derajat
}
else if (b2 == LOW) {
pergerakan_2(); // Pindahkan servo ke 90 derajat
}
else if (b1 == LOW) {
pergerakan_1(); // Pindahkan servo ke 0/360 derajat
}
else {
nonpergerakan();
delay(100);
}
}
else {
nonpergerakan(); // Jika suhu di bawah 30 derajat Celsius, hentikan pergerakan servo
delay(100);
}
}
b. Flowchart
Percobaan 6 Kondisi 1
Sertakan dengan LM35 dan 7-Segment, ketika suhi bernilai > 30 motor searah jarum jam.u bernilai >30 motor searah jarum jam
6. Video Simulasi
[Kembali]
7. Download File
[Kembali]
Download HMTL Klik disini
Download Simulasi Rangkaian Klik disini
Download Video Simulasi Klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet push button klik disini
Download Datasheet motor stepper klik disini
Download Datasheet LM35 klik disini
Download Datasheet driver ULN2003A klik disini
No comments:
Post a Comment