• Tidak ada hasil yang ditemukan

Software and Hardware Selection

3.1.1 Software Selection

For the software of the mobile application, there are two software that can be considered for designing the mobile application, Blynk, and MIT App Inventor.

Blynk is a software that focuses on IoT, or device-based development, which means the software can add buttons, graphs, gauges, and text boxes that can make a nice application interface for the mobile application. However, the software does not allow you to modify the programming code, while the coding will be required to be put in place on the destination device, and it is not possible to generalize the application development. As for MIT App Inventor, it is a software for a general- purpose application development environment that employs Google’s block-based programming language. Hence, all programming can be accomplished by moving several blocks around. Additionally, MIT App Inventor has database storage, and a simple design system, although the software lacks slightly in terms of aesthetics (Cunningham, 2020).

Each software is compatible with the Arduino board. However, to make a user registration for security improvement of the elevator, MIT App Inventor is a better choice as Blynk will require some fees to publish the mobile application for the user registration feature, while MIT App Inventor does not require any fees.

Additionally, the user registration feature will be created using MIT App Inventor

along with Firebase, a platform developed by Google for its database storage. This approach of creating the user registration feature using Firebase as its database storage is originally developed by The Coding Bus from the YouTube platform (The Coding Bus, 2020). As mentioned earlier, the MIT App Inventor has its own database storage, which is TinyDB and TinyWebDB. TinyDB is a small database that stores data on the Android device itself. This is appropriate for personal-use apps that do not need to share data among users. TinyWebDB is like TinyDB but allows the user to store data using a web database. However, the TinyWebDB database is required to be set up on a personal server or Google’s servers. As for the Firebase, it is like TinyWebDB, however, it has a built-in ability to support multiple applications and users and is able to alert each application if the data from the Firebase was modified (Mitchell, 2016).

3.1.2 Hardware Selection

For the hardware of this project, Arduino board is used as the microcontroller to control the elevator. From the senior’s project, an Arduino Uno Rev3 was used for the registration and memory storage for an RFID card. Arduino Uno is a microcontroller board designed by Arduino, with the ATmega328P as its microcontroller. However, as the total amount of pins on the Arduino Uno might not be sufficient for this project, Arduino Mega 2560 Rev3 is chosen for the elevator system for this project. Additionally, if there are any further modifications in the future, it is possible to modify the circuit without connecting any extra microcontrollers through serial communication.

Both Arduino boards mainly consist of built-in LED pins, digital I/O pins, analogue input pins, pulse-width modulation (PWM) pins, universal asynchronous receiver-transmitter (UART), inter-integrated circuit (I2C), serial peripheral interface (SPI), static random-access memory (SRAM), flash memory, and electrically erasable programmable read-only memory (EEPROM). The comparison of technical specifications between Arduino Uno Rev3 and Arduino Mega 2560 Rev3 is shown in Table 3.1 below.

Table 3.1: Comparison of Technical Specifications Between Arduino Uno Rev3 and Arduino Mega 2560 Rev3 (Arduino, n.d.)

Board Name Arduino Uno

Rev3

Arduino Mega 2560 Rev3 Microcontroller ATmega328P ATmega2560

USB connector USB-B

Pins

Built-in LED pins 13

Digital I/O pins 14 54

Analogue input pins 6 16

PWM pins 6 15

Communication

UART Yes Yes, 4

I2C Yes

SPI Yes

Power

I/O voltage 5 V

Input voltage

(nominal) 7 – 12 V

DC current per I/O

pin 20 mA

Supported battery - 9 V battery Power supply

connector Barrel Plug

Clock Speed Main processor ATmega328P 16 MHz

ATmega2560 16 MHz USB-serial processor ATmega16U2 16 MHz

Memory

2 KB SRAM 32 KB FLASH 1 KB EEPROM

8 KB SRAM 256 KB FLASH 4 KB EEPROM

Dimensions

Weight 25 g 37 g

Width 53.4 mm 53.3 mm

Length 68.6 mm 101.5 mm

For the wireless connection between the smartphone and the Arduino board, two types of wireless connection were considered, Wi-Fi and Bluetooth. However, although Bluetooth requires less energy than Wi-Fi, a Wi-Fi connection is used in this project due to the wider range of wireless communication compared to Bluetooth (Arellano, 2019). As for the module for connecting the Arduino board to the internet wirelessly, Cytron Wi-Fi Shield is used as the add-on module for the Arduino board due to the Arduino Wi-Fi Shield having retired (Arduino, 2022).

Cytron Wi-Fi shield consists of an ESP-WROOM-02 module that provides a Wi-Fi connection to the Arduino board, which is based on the ESP8266 Wi-Fi system-on-a-chip (SoC) (Cytron, 2016). The ESP-WROOM-02 module is a highly integrated Wi-Fi module that connects embedded devices to the internet wirelessly while consuming very little power. It is a 32-bit microcontroller that interacts with transmission control protocol/internet protocol (TCP/IP) network stacks and is embedded with the ESP8266 (Cytron, n.d.).

Dokumen terkait