Bab III rev
Bab III rev
METODE PERANCANGAN
IR Sensor
LED
Gambar 3-1
Diagram Blok Perancangan
Tabel 3-5 koneksi pin antara Servo SG90 dengan Arduino Mega
Inisialisasi
Menampilkan kondisi
slot parkir pada monitor
IR Sensor
deteksi mobil
Apakah ada
mobil
Tidak
Ya
Palang buka
Tidak
Ya
LED hijau
END
3.3.2.1 Perancangan Program
Perangkat lunak yang digunakan dalam penelitian dan
pembuatan alat ini adalah IDE Arduino versi 1.8.13 software ini
digunakan untuk menulis program dan mengupload ke Arduino
Mega Board.
#include <SPFD5408_Adafruit_GFX.h>
#include <SPFD5408_Adafruit_TFTLCD.h>
#include <SPFD5408_TouchScreen.h>
#include <Servo.h>
Servo servo1;
#if defined(__SAM3X8E__)
#undef __FlashStringHelper::F(string_literal)
#define F(string_literal) string_literal
#endif
#define LCD_CS A3
#define LCD_CD A2
#define LCD_WR A1
#define LCD_RD A0
#define LCD_RESET A4
void setup()
{
Serial.begin(9600);
tft.reset();
tft.begin(0x9341);
tft.setRotation(135);
tft.fillScreen(WHITE);
pinMode (analogInPin15,INPUT);
pinMode (analogInPin14,INPUT);
pinMode (analogInPin13,INPUT);
pinMode (analogInPin12,INPUT);
pinMode (analogInPin11,INPUT);
pinMode (analogInPin10,INPUT);
pinMode(servo_sensor1,INPUT);
servo1.attach(servo_1);
pinMode (red1, OUTPUT);
pinMode (green1,OUTPUT);
pinMode (red2, OUTPUT);
pinMode (green2,OUTPUT);
pinMode (red3, OUTPUT);
pinMode (green3,OUTPUT);
pinMode (red4, OUTPUT);
pinMode (green4,OUTPUT);
pinMode (red5, OUTPUT);
pinMode (green5,OUTPUT);
pinMode (red6, OUTPUT);
pinMode (green6,OUTPUT);
tft.setTextSize(2.35);
tft.setTextColor(BLACKM, WHITE);
tft.setCursor(40, 15);
tft.print("MONITOR LAHAN PARKIR");
void loop() {
value_1 = analogRead(servo_sensor1);
if (analogRead(A9)<200) {
servo1.write(90);
delay(3000);
}
if (analogRead(A9)>200) {
servo1.write(0);
delay(60);
}
if (analogRead(A15)<200) {
digitalWrite(red1, HIGH);
digitalWrite(green1, LOW);
tft.fillRect(15, 50, 90, 80, RED);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("A1");
delay(100);
}
else if (analogRead(A15)>200) {
digitalWrite(red1, LOW);
digitalWrite(green1, HIGH);
tft.fillRect(15, 50, 90, 80, GREEN);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("A1");
delay(100);
}
if (analogRead(A14)<200) {
digitalWrite(red2, HIGH);
digitalWrite(green2, LOW);
tft.fillRect(15, 50, 90, 80, RED);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("A2");
delay(100);
}
else if (analogRead(A14)>200){
digitalWrite(red2, LOW);
digitalWrite(green2, HIGH);
tft.fillRect(15, 50, 90, 80, GREEN);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("A2");
delay(100);
}
if (analogRead(A13)<200){
digitalWrite(red3, HIGH);
digitalWrite(green3, LOW);
tft.fillRect(15, 50, 90, 80, RED);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("A3");
delay(100);
}
else if (analogRead(A13)>200){
digitalWrite(red3, LOW);
digitalWrite(green3, HIGH);
tft.fillRect(15, 50, 90, 80, GREEN);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("A3");
delay(100);
}
if (analogRead(A12)<200){
digitalWrite(red4, HIGH);
digitalWrite(green4, LOW);
tft.fillRect(15, 50, 90, 80, RED);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("B1");
delay(100);
}
else if (analogRead(A12)>200) {
digitalWrite(red4, LOW);
digitalWrite(green4, HIGH);
tft.fillRect(15, 50, 90, 80, GREEN);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("B1");
delay(100);
}
if (analogRead(A11)<200){
digitalWrite(red5, HIGH);
digitalWrite(green5, LOW);
tft.fillRect(15, 50, 90, 80, RED);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("B2");
delay(100);
}
else if (analogRead(A11)>200) {
digitalWrite(red5, LOW);
digitalWrite(green5, HIGH);
tft.fillRect(15, 50, 90, 80, GREEN);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("B2");
delay(100);
}
if (analogRead(A10)<200) {
digitalWrite(red6, HIGH);
digitalWrite(green6, LOW);
tft.fillRect(15, 50, 90, 80, RED);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("B3");
delay(100);
}
else if (analogRead(A10)>200) {
digitalWrite(red6, LOW);
digitalWrite(green6, HIGH);
tft.fillRect(15, 50, 90, 80, GREEN);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("B3");
delay(100);
}
Pengujian yang dilakukan pada IR sensor tehadap LCD TFT 2. Inci dan LED
menunjukan bahwa keberhasilan pembacaan sensor. Dari data hasil pengujian
di atas ditunjukkan semua komponen dapat bekerja dengan baik