Tugas Pendahuluan 2 Modul 2




Percobaan 6 Kondisi 2
Sertakan dengan LM35 dan 7-Segment, ketika suhu bernilai <25 motor berlawanan arah jarum jam

1. Prosedur
[Kembali]
  • 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]
  • Sebelum bekerja

  • Setelah bekerja

Prinsip kerja:
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

 BAHAN PRESENTASI UNTUK MATA KULIAH ELEKTRONIKA 2022 NAMA : AKMAL APRIMANTHA NIM : 2110951046 ELEKTRONIKA B DOSEN PENGAMPU : DARWISON.M.T.  ...