Tugas Pendahuluan 2








Sertakan Touch sensor dan 4 LED , saat Touch Sensor berlogika HIGH maka ketika keypad ditekan kombinasi LED hidup

(P4K6)

1.Prosedur

Langkah-langkah percobaan :

1. Rangkai semua komponen sesuai kondisi yang dipilih

2. buat program di aplikasi arduino IDE

3. setelah selesai masukkan program ke arduino di proteus

4. jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi

5. Selesai

2. Hardware dan Diagram Blok

1. Sensor touch

2. LED

3. Arduino Uno

4. Keypad

3. Rangkaian Simulasi dan Prinsip Kerja

Rangkaian Awal.

Hasil Rangkaian


Prinsip Kerja

     Pada rangkaian ini digunakan mikrokontroler Arduino, keypad, sensor sentuh, dan LED. Pin untuk LED diatur sebagai OUTPUT, sedangkan pin untuk sensor sentuh diatur sebagai INPUT_PULLUP. Hal ini berfungsi pada mikrokontroler dalam menerima input dari keypad dan mengontrol LED. Keypad dihubungkan dengan Arduino menggunakan baris (ROWS) dan kolom (COLS) sebagai input. Keypad ini digunakan untuk memasukkan data seperti angka dan karakter khusus untuk mengkombinasi LED.

Rangkaian ini diatur agar mikrokontroler secara terus menerus membaca input dari keypad dan memeriksa apakah sensor sentuh aktif. Jika sensor sentuh aktif (dibaca sebagai HIGH), maka program akan memeriksa input dari keypad dan menangani aktivasi LED berdasarkan input yang diberikan.   

Setiap kali tombol pada keypad ditekan dengan syarat sensor berlogika High, nilai tombol tersebut dibaca oleh mikrokontroler. Jika tombol yang ditekan adalah angka (0-9) maka angka tersebut ditambahkan ke dalam password. Selanjutnya LED akan dinyalakan sesuai dengan urutan angka yang dimasukkan. LED yang tidak terpakai akan dimatikan. Namun jika panjang password mencapai 4 digit, maka akan ditambahkan delay sebelum password di-reset. Saat tombol "#" ditekan, password di-reset dan semua LED dimatikan, namun jika sensor berlogika low maka ini tidak bekerja.

A. Flowchart

B. Listing Program

#include <Keypad.h> // Constants for row and column sizes const byte ROWS = 4; const byte COLS = 4; // Array to represent keys on keypad char hexaKeys[ROWS][COLS] = { {'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} }; // Connections to Arduino for LED const byte LED_Pins[4] = {A0, A1, A2, A3}; const byte touchPin = 13; // Connections to Arduino for keypad byte rowPins[ROWS] = {9, 8, 7, 6}; byte colPins[COLS] = {5, 4, 3, 2}; // Create keypad object Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); // Variables to track password entry String password = ""; int passwordIndex = 0; void setup() { // Setup LED pins as OUTPUT for (int i = 0; i < 4; i++) { pinMode(LED_Pins[i], OUTPUT); } // Setup touch sensor pin as INPUT pinMode(touchPin, INPUT_PULLUP); // Setup serial monitor Serial.begin(9600); } void loop() { // Get key value if pressed char customKey = customKeypad.getKey(); // Check if touch sensor is activated if (digitalRead(touchPin) == HIGH) { // Handle LED activation based on keypad input if ((customKey >= '0' && customKey <= '9') || customKey == '#') { if (customKey == '#') { // Reset password and turn off all LEDs if '#' key is pressed password = ""; passwordIndex = 0; for (int i = 0; i < 4; i++) { digitalWrite(LED_Pins[i], LOW); } } else { // Append key to password password += customKey; // Increment password index passwordIndex++; // Activate LEDs sequentially for (int i = 0; i < passwordIndex; i++) { digitalWrite(LED_Pins[i], HIGH); } // Turn off any remaining LEDs from previous passwords for (int i = passwordIndex; i < 4; i++) { digitalWrite(LED_Pins[i], LOW); } // If password length is 4 if (passwordIndex == 4) { // Add delay after all LEDs are activated delay(500); // Reset password and password index password = ""; passwordIndex = 0; } } } } if (customKey) { // Print key value to serial monitor Serial.print("Tombol : "); Serial.println(customKey); } }


Sertakan Touch sensor dan 4 LED , saat Touch Sensor berlogika HIGH maka ketika keypad ditekan kombinasi LED hidup.



Tidak ada komentar:

Posting Komentar