TUGAS PENDAHULUAN 2
1. Prosedur
[Kembali]
Prinsip Kerja
a. Listing Program
5. Kondisi
[Kembali]
MODUL 1
PERCOBAAN 4 KONDISI 5
- 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
1. Sensor touch
2. LED
3. Arduino Uno
4. Keypad
b. Digram Blok
3. Rangkaian Simulasi dan Prinsip kerja
[Kembali]
Rangkaian Sebelum Simulasi
Rangkaian Setelah Simulasi
Sistem ini menggunakan 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.
Sistem ini sudah 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, 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.
4. FlowChart
[Kembali]
#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);
}
}
b. Flowchart
Kondisi →Percobaan 4 Kondisi 6
Sertakan Touch sensor dan 4 LED, saat Touch Sensor berlogika HIGH maka ketika keypad ditekan kombinasi LED hidup
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 TOUCH SENSOR klik disini
Download Datasheet Keypad klik disini
Tidak ada komentar:
Posting Komentar