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. LM35 (Sensor Suhu)
3. Push Button
2. LM35 (Sensor Suhu)
3. Push Button
4. Driver
5. Motor Stepper
b. Digram Blok
3. Rangkaian Simulasi dan Prinsip kerja
[Kembali]
Rangkaian sebelum disimulasi
PRINSIP KERJA
komponen yang berperan sebagai inputan ialah LM35 yang dihubungkan ke pin analog arduino dan pushbutton yang dihubungkan ke pin digital arduino. sebagai keluaran dari simulasi ini ialah pergerakan pada step motor.
prinsip kerja dari rangkaian simulasi ialah, kodingan diatur dengan dibuat ketika LM35 menampilkan angka > 30 maka akan dapat mengaktifkan motor stepper dengan setiap step motor stepper akan diaru berdasarkan push button yang diaktifkan.
Push button yang digunakan pada rangakain kali ini ialah 4 buah, dan hal ini telah diatur dari kodingan arduino bahwa motor stepper akan step sebanyak 4 kali dengan setiap stepnya itu besar sudutnya 90 derajat. Yang mana arah dari step motor stepper ketika telah memenuhi kondisi (LM35 menampikan >30) ialah searah dengan 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 isLM35Above35() {
// 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 (isLM35Above35()) { // Cek apakah suhu di atas 35 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 45 derajat
}
else if (b3 == LOW) {
pergerakan_3(); // Pindahkan servo ke 45 derajat
}
else if (b2 == LOW) {
pergerakan_2(); // Pindahkan servo ke 45 derajat
}
else if (b1 == LOW) {
pergerakan_1(); // Pindahkan servo ke 45 derajat
}
else {
nonpergerakan();
delay(100);
}
}
else {
nonpergerakan(); // Jika suhu di bawah 35 derajat Celsius, hentikan pergerakan servo
delay(100);
}
}
b. Flowchart
Percobaan 6 Kondisi 1
Sertakan dengan LM35 dan ketika suhu 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
Tidak ada komentar:
Posting Komentar