Senin, 18 Maret 2024

LA 2



MODUL 2
PERCOBAAN 3 KONDISI 5

1. Prosedur
[Kembali]

+ Rangkai semua komponen sesuai kondisi yang dipilih
+ buat program di aplikasi arduino IDE
+ setelah selesai masukkan program ke arduino di proteus
+ jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
+ Selesai

2. Hardware dan diagram blok [Kembali]
      a. hardware


b. arduino uno


c. seven segment.


d. dipswitch.


e. jumper.




                                
1. 2N1711
2. 7SEG-MPX2-CA-BLUE
3. Arduino Uno
4. 10WATT0RI
5. BATTERY
6. BUZZER
7. DIODE
8. DIPSW 
9. LED-RED
10. LMO16L
11. RELAY
12. RESISTOR


            b. Digram Blok



3. Rangkaian Simulasi dan Prinsip kerja [Kembali]





PRINSIP KERJA
    
        Dalam rangkaian M2P3 yang melibatkan TIMER, 7-segment display, dan DIP switch, prinsip kerja pada kondisi 5 diaktifkan saat 2 switch dari DIP switch menjadi aktif. Pada kondisi ini, rangkaian diatur untuk memulai sebuah operasi hitung maju menggunakan TIMER sebagai basis waktu. Awalnya, 7-segment display tidak menunjukkan nilai 2,0,2,4; operasi hitung maju dimulai dari nilai awal yang ditentukan dan berlangsung hingga mencapai nilai tertentu, dalam kasus ini adalah 3. Setelah nilai hitung maju mencapai 3, rangkaian kemudian menginstruksikan 7-segment display untuk menampilkan kombinasi angka 2,0,2,4. Operasi hitung maju ini dapat berbasis detik atau interval waktu lainnya yang ditentukan, dan perubahan nilai pada 7-segment display dikontrol secara elektronik melalui logika pemrograman pada mikrokontroler yang terhubung dengan TIMER dan DIP switch.

4. FlowChart [Kembali]

a. Listing Program 

#include  <LiquidCrystal_I2C.h>

#define tombol 2   // pin 2 (pin interrupt) bernama tombol
#define motorPin 11  // pin 11 untuk motor

#define motorDelay 5000 // Waktu rotasi motor dalam milidetik
#define stopDelay 3000  // Waktu motor berhenti dalam milidetik
#define restartDelay 7000 // Waktu sebelum penghitungan dimulai ulang dalam milidetik

volatile int count = 50; // Mulai dari 50

LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  lcd.init();
  lcd.backlight();
  pinMode(tombol, INPUT);
  pinMode(motorPin, OUTPUT);
  attachInterrupt(digitalPinToInterrupt(2), tombol_ditekan, FALLING);
}

void loop() { // Main Program
  // Rotasi motor ke kanan selama 5 detik
  digitalWrite(motorPin, HIGH);
  delay(motorDelay);

  // Stop motor selama 3 detik
  digitalWrite(motorPin, LOW);
  delay(stopDelay);

  // Rotasi motor ke kiri selama 5 detik
  digitalWrite(motorPin, HIGH);
  delay(motorDelay);

  // Stop motor selama 3 detik
  digitalWrite(motorPin, LOW);
  delay(stopDelay);

  // LCD menampilkan counting dari 50 sampai 0
  lcd.setCursor(0, 0);
  lcd.print("Count: ");
  lcd.setCursor(0, 1);
  lcd.print(count);
 
  // Pengurangan integer count dengan angka 1
  count -= 1;

  // Jika count mencapai 0, reset kembali ke 50 dan tunggu 3 detik
  if (count < 0) {
    count = 50;
    delay(stopDelay);
  }
}

// Fungsi interrupt tombol ditekan
void tombol_ditekan() {
  count = 50; // Mengatur ulang hitungan
  delay(restartDelay);
}


b. Flowchart







5. Kondisi [Kembali]
Kondisi  →Percobaan 2 Kondisi 7
    M2P2 (Interrupt Arduino - LCD,LED, dan Motor DC)
Motor ke kanan 5 detik lalu mati 3 detik berputar ke kiri 5 detik dan mati 7 detik ,LCD menampilkan counting dari 50 sampai 0, interrupt counting diulang dari 50 dan motor DC berhenti 3 detik
        

6. Video Simulasi [Kembali]




7. Download File [Kembali]

Download HMTL Klik disini
Download Simulasi Rangkaian klik disini
Download Video Simulasi klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet LCD 2X16 klik disini
Download listing program klik disini

Tidak ada komentar:

Posting Komentar