TUGAS PENDAHULUAN MODUL 2 PERCOBAAN 6 KONDISI 6

Modul 2 PWM, ADC, dan Interrupt


 

  • 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

a. Rangkaian Simulasi
Gambar Rangkaian Sebelum Disimulasikan

Gambar Rangkaian Setelah Disimulasikan

b. Prinsip Kerja
Pada percobaan 6 kondisi 6 ini kita menggunakan sensor LDR sebagai input dan motor stepper sebagai output. Disini kita menggunakan motor driver ULN2003A yang mana berfungsi untuk meningkatkan tegangan keluaran yang telah dikeluarkan oleh arduino agar dapat menjalankan motor stepper. 
Sesuai dengan kondisi yang diminta, ketika tegangan yang terbaca pada sensor LDR < 2.5 maka sensor akan berlogika 0, sedangkan ketika sensor LDR > 2.5 maka akan mengaktifkan sensor LDR sehingga inputan yang masuk ke arduino bernilai 1. Hal ini akan mengaktifkan pin 8,9,10,11 yang mana akan aktif sesuai dengan kondisi yang telah dimasukkan pada program arduino yang mana akan mengaktifkan motor stepper sehingga motor stepper akan berputar sesuai dengan kondisi yang telah kita masukkan.
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






Komentar

Postingan populer dari blog ini

TUGAS BESAR: KONTROL TANAMAN BAYAM PADA GREEN HOUSE

MODUL 1 : 8 x SWITCH SPDT DAN LCD

MODUL 2 : Kontrol Putaran Motor Stepper