Kamis, 21 Maret 2024

TP 2 M2


Percobaan 6

Kontrol Putaran Motor Stepper

1. Prosedur [Kembali]

  • Rangkailah seperti rangkaian berikut
  • Buka Arduino IDE dan masukan listing program
  • Upload program ke arduino
  • Variasikan nilai ADC dan amati keluarannya pada LCD

2. Hardware dan Diagram Blok [Kembali]

    1. Arduino Uno

    2. Sensor LM35


    3. ULN2003A


    4. 7 Segment


    5. Power supply

    6. Ground

    7. Motor Stepper

Diagram Blok:







    Prinsip Kerja :
        Pada rangkaian ini menggunakan input perupa sensor suhu LM35, dan ouutputnya berupa 7segment dan motor steper.
               Prinsip kerja dari rangkaian ini yaitu arduino telah di program sebelumnya agar saat suhu pada LM35 menunjukkan nilai <25 maka motor akan berputar berlawanan arah jarum jam dan 7-Segment akan menampilkan karakter berupa angka di digit 1 7-Segment. Ketika suhu bernilai >= 25, maka motor akan berputar searah jarum jam dan 7-Segment akan menampilkan karakter berupa angka di digit 2 7-Segment.
 

4. Flowchart dan Listing Program [Kembali]

    Flowchart:


    Listing Program:
#define A 8
#define B 9
#define C 10
#define D 11
#define LM A0

// Deklarasi pin 7-segment
const int segPins[7] = {1, 2, 3, 4, 5, 6, 7};
int digitPins[] = {12, 13};

void setup() {
  // Inisialisasi pin output dan baud rate
  pinMode(A, OUTPUT);
  pinMode(B, OUTPUT);
  pinMode(C, OUTPUT);
  pinMode(D, OUTPUT);
  Serial.begin(9600);

  // Inisialisasi 7-segment
  for (int i = 0; i < 7; i++) {
    pinMode(segPins[i], OUTPUT);
  }

  // Inisialisasi pin digit
  for (int i = 0; i < 2; i++) {
    pinMode(digitPins[i], OUTPUT);
  }
}

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

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

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

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

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

void displayNumber(int number, int digit) {
  // Array untuk menampilkan angka pada 7-segment
  const int numSegments[10][7] = {
    {1, 1, 1, 1, 1, 1, 0}, // 0
    {0, 1, 1, 0, 0, 0, 0}, // 1
    {1, 1, 0, 1, 1, 0, 1}, // 2
    {1, 1, 1, 1, 0, 0, 1}, // 3
    {0, 1, 1, 0, 0, 1, 1}, // 4
    {1, 0, 1, 1, 0, 1, 1}, // 5
    {1, 0, 1, 1, 1, 1, 1}, // 6
    {1, 1, 1, 0, 0, 0, 0}, // 7
    {1, 1, 1, 1, 1, 1, 1}, // 8
    {1, 1, 1, 1, 0, 1, 1}  // 9
  };

  // Pilih digit yang aktif
  for (int i = 0; i < 2; i++) {
    digitalWrite(digitPins[i], LOW);
  }
  digitalWrite(digitPins[digit], HIGH);

  // Menampilkan angka pada 7-segment
  for (int i = 0; i < 7; i++) {
    digitalWrite(segPins[i], numSegments[number][i]);
  }
}

void loop() {
  int suhu = analogRead(LM) * 500 / 1024;

  // Menampilkan angka pada 7-segment
  if (suhu < 25) {
    displayNumber(0, 0); // Digit 1 menunjukkan angka 0
    displayNumber(0, 1); // Digit 2 menunjukkan angka 0
  } else {
    displayNumber(0, 1); // Digit 1 menunjukkan angka 0
    displayNumber(0, 0); // Digit 2 menunjukkan angka 0
  }

  Serial.print("Nilai Suhu: ");
  Serial.println(suhu);

  if (suhu < 25) {
    nonpergerakan();
    delay(300);
    pergerakan_1();
    delay(300);
    pergerakan_4();
    delay(300);
    pergerakan_3();
    delay(300);
    pergerakan_2();
    delay(300);
  } else {
    nonpergerakan();
    delay(300);
    pergerakan_2();
    delay(300);
    pergerakan_3();
    delay(300);
    pergerakan_4();
    delay(300);
    pergerakan_1();
    delay(300);
  }
}

5. Kondisi [Kembali]

    Pada percobaan kali ini yaitu percobaan 6 kondisi 2. Sertakan dengan LM35 dan 7-Segment, ketika suhu bernilai <25 motor berlawanan arah jarum jam

HTML↠ klik disini
Rangkaian Simulasi ↠ klik disini
Video Simulasi ↠ klik disini
Listing Program ↠ klik disini













Tidak ada komentar:

Posting Komentar

MODUL 4

    [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Pendahuluan 2. Tujuan 3. Alat dan Bahan 4. Dasar Teori 5. Percobaan Per...