Percobaan 6 Kondisi 2
Sertakan dengan LM35 dan 7-Segment, ketika suhu bernilai <25 motor berlawanan arah jarum jam
Sertakan dengan LM35 dan 7-Segment, ketika suhu bernilai <25 motor berlawanan arah jarum jam
- Rangkailah semua komponen
- Buat program di aplikasi arduino IDE
- Setelah selesai, masukkan program ke arduino
- Jalankan program pada simulasi dan lakukan sesuai kondisi
2. Hardware dan diagram blok
[Kembali]
a. hardware
- Arduino UNO
- LM35
- Ic ULN 2003A
- Seven Segmen
- Motor Stepper
b. Digram Blok
3. Rangkaian Simulasi dan Prinsip kerja
[Kembali]
jadi pada percobaan ini, menggunakan sensor suhu sebagai input, ketika suhu yang dideteksi kurang dari 25 maka motor stepper akan berputar berlawanan arah jarum jam dan menampilkan angka 1 pada 7segmen. namun ketika suhu yang dideteksi lebih atau sama dengan 25 maka motor stepper akan berputar searah jarum jam dan menampilkan angka 0 pada 7segmen.
4. FlowChart
[Kembali]
a. Listing Program
#define A 8
#define B 9
#define C 10
#define D 11
#define LM35 A0 // Pin untuk sensor suhu LM35
#define delay_time 500
#define delay2 1000
const int Pin1 = 0;
const int Pin2 = 2;
const int Pin3 = 3;
const int Pin4 = 4;
const int Pin5 = 5;
const int Pin6 = 6;
const int Pin7 = 7;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(Pin1,INPUT);
pinMode(Pin2,INPUT);
pinMode(Pin3,INPUT);
pinMode(Pin4,INPUT);
pinMode(Pin5,INPUT);
pinMode(Pin6,INPUT);
pinMode(Pin7,INPUT);
}
void pergerakan_1(){
digitalWrite(A, 1);
digitalWrite(D, 0);
digitalWrite(B, 0);
digitalWrite(C, 0);
}
void pergerakan_2(){
digitalWrite(A, 0);
digitalWrite(D, 1);
digitalWrite(B, 0);
digitalWrite(C, 0);
}
void pergerakan_3(){
digitalWrite(A, 0);
digitalWrite(D, 0);
digitalWrite(B, 1);
digitalWrite(C, 0);
}
void pergerakan_4(){
digitalWrite(A, 0);
digitalWrite(D, 0);
digitalWrite(B, 0);
digitalWrite(C, 1);
}
void nonpergerakan(){
digitalWrite(A, 0);
digitalWrite(D, 0);
digitalWrite(B, 0);
digitalWrite(C, 0);
}
void loop() {
float suhu = bacaSuhu(); // Baca suhu dari sensor LM35
if (suhu < 25) { // Jika suhu kurang dari 25 derajat Celsius
digitalWrite(Pin1, 0);
digitalWrite(Pin2, 0);
digitalWrite(Pin3, 0);
digitalWrite(Pin4, 0);
digitalWrite(Pin5, 1);
digitalWrite(Pin6, 1);
digitalWrite(Pin7, 0);
nonpergerakan();
delay(delay2);
pergerakan_4(); // Putar motor berlawanan arah jarum jam
delay(delay_time);
pergerakan_3();
delay(delay_time);
pergerakan_1();
delay(delay_time);
pergerakan_2();
delay(delay_time);
} else { // Jika suhu 25 derajat Celsius atau lebih
digitalWrite(Pin1, 1); // Mengatur pin ke logika rendah
digitalWrite(Pin2, 1);
digitalWrite(Pin3, 1);
digitalWrite(Pin4, 1);
digitalWrite(Pin5, 1);
digitalWrite(Pin6, 1);
digitalWrite(Pin7, 0);
nonpergerakan();
delay(delay2);
pergerakan_2(); // Putar motor berlawanan arah jarum jam
delay(delay_time);
pergerakan_1();
delay(delay_time);
pergerakan_3();
delay(delay_time);
pergerakan_4();
delay(delay_time);
}
}
float bacaSuhu() {
int sensorValue = analogRead(LM35); // Baca nilai analog dari sensor suhu
float milliVolts = (sensorValue / 1024.0) * 5000; // Ubah ke mV
float suhuCelsius = milliVolts / 10; // Ubah ke suhu dalam derajat Celsius
return suhuCelsius; // Kembalikan nilai suhu dalam derajat Celsius
}
b. Flowchart
5. Kondisi
[Kembali]
Sertakan dengan LM35 dan 7-Segment, ketika suhu bernilai <25 motor berlawanan arah jarum jam
6. Video Simulasi
[Kembali]
7. Download File
[Kembali]
- HTML
- Video
- Rangkaian
- Arduino
- LM35
- 7segmen
- ULN2003A
- Motor Stepper





Tidak ada komentar:
Posting Komentar