TUGAS PENDAHULUAN MODUL 2 PERCOBAAN 6 KONDISI 6

 [KEMBALI KE MENU SEBELUMNYA]


DAFTAR ISI
1. Prosedur
2. Rangkaian Simulasi dan Prinsip Kerja
3. Flowchart dan Listing Program
4. Kondisi
5. Video Simulasi
6. Download File

 

1. Prosedur [kembali]

  • Buatlah rangkaian sesuai dengan kondisi yang telah dipilih
  • Buat Program pada software Arduino IDE
  • Masukkan program yang telah dibuat pada software Arduino IDE sebagai library Arduino
  • Jalankan rangkaian, sesuai dengan kondisi yang diinginkan

2. Rangkaian Simulasi dan Prinsip Kerja [kembali]
a. Rangkaian Simulasi


Gambar Rangkaian Sebelum Disimulasikan


Gambar Rangkaian Setelah Disimulasikan

b. Prinsip Kerja
Percobaan 6 kondisi 6 menggunakan sensor LDR sebagai input dan motor stepper sebagai output.

Disini kita akan menggunakan driver motor ULN2003A yang akan meningkatkan tegangan output yang dikeluarkan Arduino sehingga kita dapat menggerakkan motor stepper.

Sesuai kondisi yang diminta, sensor LDR aktif bila tegangan yang diukur oleh sensor LDR <2> 2,5, sehingga input Arduino adalah 1.

Ini akan mengaktifkan pin 8, 9, 10, dan 11 sesuai kondisi yang dimasukkan ke dalam program Arduino, mengaktifkan motor stepper, dan memutar motor stepper sesuai kondisi yang dimasukkan.

3. Flowchart dan Listing Program [kembali]

a. Flowchart

b. Listing Program
#include <Stepper.h>

#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 PB5 A1

const int stepsPerRevolution = 200; // Banyak langkah perputaran
// Inisialisasi objek Stepper
Stepper myStepper(stepsPerRevolution, A, B, C, D);

void pergerakan_1() {
  digitalWrite(A, LOW);
  digitalWrite(D, HIGH);
  digitalWrite(B, LOW);
  digitalWrite(C, HIGH);
}

void pergerakan_2() {
  digitalWrite(A, HIGH);
  digitalWrite(D, HIGH);
  digitalWrite(B, LOW);
  digitalWrite(C, LOW);
}

void pergerakan_3() {
  digitalWrite(A, HIGH);
  digitalWrite(D, LOW);
  digitalWrite(B, HIGH);
  digitalWrite(C, LOW);
}

void pergerakan_4() {
  digitalWrite(A, LOW);
  digitalWrite(D, LOW);
  digitalWrite(B, HIGH);
  digitalWrite(C, HIGH);
}

void nonpergerakan() {
  digitalWrite(A, LOW);
  digitalWrite(D, LOW);
  digitalWrite(B, LOW);
  digitalWrite(C, LOW);
}

void pergerakan() {
  pergerakan_1();
  delay(100);
  pergerakan_2();
  delay(100);
  pergerakan_3();
  delay(100);
  pergerakan_4();
  delay(100);
}

void setup() {
  // Put your setup code here, to run once:
  pinMode(PB5, INPUT);
  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);
  Serial.begin(9600);
}

void loop() {
  int b4 = digitalRead(PB4);
  int b3 = digitalRead(PB3);
  int b2 = digitalRead(PB2);
  int b1 = digitalRead(PB1);
  int sensorLDRValue = analogRead(PB5); // Membaca nilai dari sensor LDR
  float voltage = sensorLDRValue * (5.0 / 1023.0); // Mengonversi nilai bacaan menjadi tegangan (diasumsikan 5V)

  Serial.print("Voltage: ");
  Serial.println(voltage); // Mencetak nilai tegangan (opsional)

  // Motor stepper
  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);
  }

  // Check nilai sensor LDR
  if (voltage > 2.5) {
    Serial.println("LDR SENSOR active. Stepper motor rotating.");
    // Eksekusi stepper
    pergerakan();
  } else {
    Serial.println("Stepper Motor rotating.");
    // Eksekusi stepper
    myStepper.step(0);
  }
  delay(100);
}

Sertakan dengan LDR ketika bernilai >2.50 putaran motor searah jarum jam



Download HTML klik disini
Download Rangkaian Proteus klik disini
Download Program Arduino klik disini
Download Video klik disini
Download Datasheet Driver IC ULN2003A klik disini
Download Datasheet Arduino klik disini
Download Datasheet Motor Stepper klik disini
Download Datasheet Sensor LDR klik disini
Download Datasheet Push Button klik disini

Tidak ada komentar:

Posting Komentar

 Bahan Presentasi untuk mata kuliah kimia         Oleh : Zhafir Ibnu Tanjung 2010953028     Dosen Pengampu: Darwison...