0% found this document useful (0 votes)
119 views77 pages

Docu

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
119 views77 pages

Docu

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 77

61

References
62

[1] S. M. Metev and V. P. Veiko, Laser Assisted Microtechnology, 2nd ed., R. M.


Osgood, Jr., Ed. Berlin, Germany: Springer-Verlag, 1998.

[2] J. Breckling, Ed., The Analysis of Directional Time Series: Applications to Wind
Speed and Direction, ser. Lecture Notes in Statistics. Berlin, Germany: Springer,
1989, vol. 61.

S. Zhang, C. Zhu, J. K. O. Sin, and P. K. T. Mok, “A novel ultrathin elevated


channel low-temperature poly-Si TFT,” IEEE Electron Device Lett., vol. 20, pp.
569–571, Nov. 1999.

[3] M. Wegmuller, J. P. von der Weid, P. Oberson, and N. Gisin, “High resolution fiber
distributed measurements with coherent OFDR,” in Proc. ECOC’00, 2000, paper
11.3.4, p. 109.

[4] R. E. Sorace, V. S. Reinhardt, and S. A. Vaughn, “High-speed digital-to-RF


converter,” U.S. Patent 5 668 842, Sept. 16, 1997.

[5] (2002) The IEEE website. [Online]. Available: http://www.ieee.org/

[6] M. Shell. (2002) IEEEtran homepage on CTAN. [Online]. Available:


http://www.ctan.org/tex-archive/macros/latex/contrib/supported/IEEEtran/

[7] FLEXChip Signal Processor (MC68175/D), Motorola, 1996.

[8] “PDCA12-70 data sheet,” Opto Speed SA, Mezzovico, Switzerland.

[9] A. Karnik, “Performance of TCP congestion control with rate feedback: TCP/ABR
and rate adaptive TCP/IP,” M. Eng. thesis, Indian Institute of Science, Bangalore,
India, Jan. 1999.

[10] R. Ford and C. Coulston, Design for Electrical and Computer Engineers,
International ed. New York: McGraw-Hill, 2008, ch. 4, sec. 1.1, pp. 4-14.
63

Appendix A.
Executive Summary
(IEEE Format)
64

Wireless Game Controller using


Bluetooth Technology
Bryan C. Gutierrez1, Josh Rienier M. Ramos2, Jasier E. Sahagun3
Christian Lee Sam4, Fifth Author5
Computer Engineering Department
Adamson University, Philippines
1first.author@first.edu
2second.author@second.edu
3jasier.sahagun@gmail.com
4fourth.author@fourth.edu
5fifth.author@fifth.edu

Abstract— This document gives formatting instructions for The general objective of this study is to develop a Wireless
authors preparing papers for publication in the Proceedings of an Game Controller using Bluetooth Technology.
IEEE conference. The authors must follow the instructions given
in the document for the papers to be published. You can use this In line with this, the study aims to achieve the following
document as both an instruction set and as a template into which
specific objectives:
you can type your own text.

 To design a controller that can harvest energy


through magnetic induction.
Keywords— Include at least 5 keywords or phrases  To develop a program for energy charging
distribution and voltage management.
I. INTRODUCTION  To develop a charging medium to allow handheld
Video games are increasingly being popular as of now. As devices to be charged using harvested energy.
many people enjoy playing video games as one of their
activities in their daily lives, the video game industry continues III. METHODOLOGY
to thrive greatly. The industry reaches out to many potential Place methodology here.
gamers by creating different genre of games for different
consoles or platforms. [1] As long as someone plays video IV. SUMMARY OF FINDINGS
games, that person is considered as a gamer. [2] Place summary of findings here.

One of the popular genre of games people like to play are V. CONCLUSIONS
rhythm games. The common theme in these games is to Place conclusions here.
perform an action according to the rhythm beat and visual cues.
It challenges the eye-body coordination of the player in
response to music. Fighting games on the other hand, is also VI. RECOMMENDATIONS
pressing buttons to outwit the player’s movement. Place recommendations here.
In general, game controllers are devices that can be used in
accepting input to control the players’ video game. Keyboard, ACKNOWLEDGMENT
mouse or the PS/Xbox gamepad has been popular among Place acknowledgment here.
gamers. The game platform will often dictate how players
navigate the game. Controller design also influences player REFERENCES
video game play style. Most rhythm games are accompanied by [1] R. Ford and C. Coulston, Design for Electrical and Computer Engineers,
customized controllers that are specific to their game play to International ed. New York: McGraw-Hill, 2008, ch. 4, sec. 1.1, pp. 4-
suit their theme and novelty of their game. [3] For example, in 14
[2] Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)
rhythm games, Dance Dance Revolution (DDR) can be played Specification, IEEE Std. 802.11, 1997.
with a “dance pad” where players step on a specific part of the
pad to hit notes during the game. [4]

II. OBJECTIVES
61

Appendix B.
Design Project Poster
62

Begin content here.


Your design project poster is an image file designed using Adobe Photoshop. It must
include:
 title of design project,
 abstract,
 pictures of design project,
 picture of group members, and
 school logo.
63

Appendix C.
Pictures of the Prototype
64

This is the actual prototype. It has 8 action buttons, 3 menu buttons and a joystick.

On the right side of the controller, there are 3 LED, the red indicates that the main
battery is 10% remaining, while the green indicates that the device is ON and the blue
indicates the status of the Bluetooth of the prototype.
65

Appendix D.
User Manual
66

How to connect the game controller using Bluetooth:


1. Press the red button that can be found at the right side of the prototype. Once the
button is pressed, the blue led will be ON indicating that the Bluetooth is active otherwise
the Bluetooth is OFF.

Fig XX: Blue LED indicates the status of the Bluetooth

2. On the computer, turn on the Bluetooth by clicking the Start menu and select
Setting as shown in Fig XX.

Fig XX: show the location of the Setting in Windows 10


67

3. Click Devices

Fig XX: show the content of the Setting

4. Move the Bluetooth toggle to the desired setting

Fig XX: Shows how to turn on/off the Bluetooth


68

5. Add the Bluetooth device by clicking Add Bluetooth or other devices from Fig
XX, then choose Bluetooth

Fig XX: Shows on how to add a device


69

6. The Bluetooth name of the controller is MEIN. Click on the name MEIN to
pair it to your computer.

Fig XX: Shows the list on all available Bluetooth Device

7. Wait for a moment until it is finish connecting to the controller

Fig XX: show that the Game controller is ready to use


70

8. To test its connectivity or change its calibration, go to Control Panel >


Hardware and Sound > Devices and Printers

Fig XX: shows the directory of the paired devices of the computer
71

9. Right click on keyboard icon with the name MEIN and choose Game
Controller Setting

Fig XX: shows where how to find the game controller settings.

10. Then a new window will open .To show the button mappings, click Properties

Fig XX: Shows the installed game controller devices connected to the computer.
72

11. Another form will open and whenever a button is pressed the numbers will light
up

Fig XX: Shows the button map of the game controller.

12. Open any games. Go to its settings and change the controls of the game.

Fig XX: Setting of different games


73

Appendix E.
Hardware Component Specification
74

ARDUINO DUE R3 ARM

Fig xx: Arduino DUE R3 ARM

TABLE XX:
SPECIFICATIONS OF ARUINO DUE R3 ARM
Microcontroller AT91SAM3X8E
Operating Voltage 3.3V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-16V
Digital I/O Pins 54 (of which 12 provide PWM output)
Analog Input Pins 12
Analog Outputs Pins: 2 (DAC)
DC Current for 3.3V Pin 800 mA
DC Current for 5V Pin 800 mA
512 KB all available for the user
Flash Memory
applications
SRAM 96 KB (two banks: 64KB and 32KB)
Clock Speed 84 MHz
Length 10152 mm
Width 53.3 mm
Weight 36 g
75

HC-05 BLUETOOTH MODULE

FIG XX: BLUETOOTH HC 05 MODULE

TABLE XX:
SPECIFICATIONS OF HC 05 BLUETOOTH MODULE
 Built-in CSR company Bluetooth chip BC417143
 Bluetooth® Technology v2.0 + EDR
 TTL data transparent transfer between a host Bluetooth device
 Compatible with all Bluetooth adapters that support SPP
 Coverage up to 30 ft / 10 m
 Built in antenna
 Power input: +3.3VDC (bluetooth module)
 Can set the module control parameters and control commands via AT commands
 The maximum serial baud rate: 1382400 bps, support for hardware flow control
transfer
 Provide seven input and output ports
 Connection/non-connection status indicators
76

TP4056-1A LI-ION USB BATTERY CHARGER MODULE

FIG XX: TP4056 LI-ION USB BATTERY CHARGER

TABLE XX:
SPECIFICATIONS OF TP4056 LI-ION BATTERY CHARGER
Input Supply Volatage 5 VDC
Input Supply Current 150 uA
BAT Pin Current 500 mA
PCB Dimensions 22mm x 19.2mm
77

RELAY MODULE 10A 4 CHANNEL

FIG XX: RELAY MODULE

TABLE XX:
SPECIFICATIONS OF RELAY MODULE 10A 4 CHANNEL
Control Voltage 5 VDC
Max Control Capacity 10A at 250VAC or 10A at 30VDC
78

FTDI BASIC BREAKOUT 3.3 / 5V ARDUINO COMPATIBLE

FIG XX: FTDI BASIC BREAKOUT BOARD

TABLE XX:
SPECIFICATIONS OF RELAY MODULE 10A 4 CHANNEL
 3.3 5V output(switchable via Jumpers)
79

Appendix F.
Schematic Diagram and Layout
80

Fig 00: Schematic Diagram of Arduino Due Shield


81

Fig 00: PCB Layout of Arduino Due Shield


82

Appendix G.
Data Sheet
83

ARDUINO DUE

INTRODUCTION

The Arduino Due is the first Arduino board based on a 32-bit ARM core microcontroller. It is
suitable for large scale projects and it differ from other Arduino kits as it runs at 3.3V as the
maximum voltage.

ARDUINO DUE PHYSICAL COMPONENTS

It based on Atmel SAM3X8E ARM Cortex-M3 microcontroller is a member of a family of Flash


microcontrollers based on the high performance 32-bit ARM Cortex-M3 RISC processor. It
operates at a maximum speed of 84 MHz and up to 512 Kbytes of Flash memory and up to 100
Kbytes of SRAM. And its features as follow
84

• Core
o ARM Cortex-M3 revision 2.0 running at up to 84 MHz o Memory Protection Unit
(MPU) o 24-bit SysTick Counter o Nested Vector Interrupt Controller

• Memories
o 256 to 512 Kbytes embedded Flash, 128-bit wide access, memory accelerator,
dual bank o 32 to 100 Kbytes embedded SRAM with dual banks
o 16 Kbytes ROM with embedded bootloader routines (UART, USB) and IAP routines
o Static Memory Controller (SMC): SRAM, NOR, NAND support. NFC with 4 Kbyte
RAM buffer and ECC

• System
o Embedded voltage regulator for single supply operation
o Power-on-Reset (POR), Brown-out Detector (BOD) and Watchdog for safe reset o
Quartz or ceramic resonator oscillators: 3 to 20 MHz main and optional low power
32.768 kHz for RTC or device clock
o High precision 8/12 MHz factory trimmed internal RC oscillator with 4 MHz
default frequency for fast device
• startup o Slow Clock Internal RC oscillator as permanent clock for device clock in low-
power mode o One PLL for device clock and one dedicated PLL for USB 2.0 High Speed
Mini Host/Device o Temperature Sensor
o Up to 17 peripheral DMA (PDC) channels and 6-channel central DMA plus
dedicated DMA for High-Speed USB
o Mini Host/Device and Ethernet MAC
• Low-power Modes o Sleep, Wait and Backup modes, down to 2.5 µA in Backup mode
with RTC, RTT, and GPBR

ARDUINO DUE FEATURES


85

Microcontroller AT91SAM3X8E

Operating Voltage 3.3V

Input Voltage (recommended) 7-12V

Input Voltage (limits) 6-16V

Digital I/O Pins 54 (of which 12 provide PWM output)

Analog Input Pins 12

Analog Output Pins 2 (DAC)

Total DC Output Current on all I/O lines 130 mA

DC Current for 3.3V Pin 800 mA

DC Current for 5V Pin 800 mA

Flash Memory 512 KB all available for the user applications

SRAM 96 KB (two banks: 64KB and 32KB)

Clock Speed 84 MHz

Length 101.52 mm

Width 53.3 mm

Weight 36 g
86

HC-05
-Bluetooth to Serial Port Module

Overview

HC-05 module is an easy to use Bluetooth SPP (Serial Port Protocol) module, designed for
transparent wireless serial connection setup.

Serial port Bluetooth module is fully qualified Bluetooth V2.0+EDR (Enhanced Data Rate)
3Mbps Modulation with complete 2.4GHz radio transceiver and baseband. It uses CSR
Bluecore 04-External single chip Bluetooth system with CMOS technology and with
AFH(Adaptive Frequency Hopping Feature). It has the footprint as small as 12.7mmx27mm.
Hope it will simplify your overall design/development cycle.
87

Specifications

Hardware features

 Typical -80dBm sensitivity


 Up to +4dBm RF transmit power
 Low Power 1.8V Operation ,1.8 to 3.6V I/O
 PIO control
 UART interface with programmable baud
rate
 With integrated antenna
 With edge connector

Software features

 Default Baud rate: 38400, Data bits:8, Stop bit:1,Parity:No parity, Data control: has.
Supported baud rate: 9600,19200,38400,57600,115200,230400,460800.
 Given a rising pulse in PIO0, device will be disconnected.
 Status instruction port PIO1: low-disconnected, high-connected;
 PIO10 and PIO11 can be connected to red and blue led separately. When master and
slave are paired, red and blue led blinks 1time/2s in interval, while disconnected only
blue led blinks 2times/s.
 Auto-connect to the last device on power as default.
 Permit pairing device to connect as default.
 Auto-pairing PINCODE:”0000” as default
 Auto-reconnect in 30 min when disconnected as a result of beyond the range of
connection.
88

Hardware
89
90

AT command Default:

How to set the mode to server (master):


1. Connect PIO11 to high level.
2. Power on, module into command state.
3. Using baud rate 38400, sent the “AT+ROLE=1\r\n” to module, with “OK\r\n”
means setting successes.
4. Connect the PIO11 to low level, repower the module, the module work as server
(master).

AT commands: (all end with \r\n)


1. Test command:

Command Respond Parameter


AT OK
2. Reset
91

Command Respond Parameter


AT+RESET OK

3. Get firmware version


Command Respond Parameter
AT+VERSION? +VERSION:<Param> Param : firmware version

OK
Example:

AT+VERSION?\r\n

+VERSION:2.0-20100601

OK

4. Restore default

Command Respond Parameter


AT+ORGL OK
Default state:
Slave mode, pin code :1234, vice name: H-C-2010-06- 38400 bits/s.
de 01 ,Baud

5. Get module address


Command Respond Parameter
AT+ADDR? +ADDR:<Param> Param: address of Bluetooth
module
OK
Bluetooth address: NAP: UAP : LAP
Example:

AT+ADDR?\r\n
92

+ADDR:1234:56:abcdef

OK

6. Set/Check module name:

Command Respond Parameter


AT+NAME=<Param> OK Param: module
AT+NAME? +NAME:<Param> Bluetooth
name
OK (/FAIL)
(Default :HC-05)
Example:

AT+NAME=HC-05\r\n set the module name to “HC-05”

OK

AT+NAME=ITeadStudio\r\n

OK

AT+NAME?\r\n

+NAME: ITeadStudio

OK

7. Get the Bluetooth device name:

Command Respond Parameter


AT+RNAME?<Param1> 1. +NAME:<Param2> Param1,Param 2 : the
OK address of Bluetooth device

2. FAIL
Example: (Device address 00:02:72:od:22:24,name:ITead)
93

AT+RNAME? 0002,72,od2224\r\n

+RNAME:ITead

OK

8. Set/Check module mode:

Command Respond Parameter


AT+ROLE=<Param> OK Param:
AT+ ROLE? +ROLE:<Param> 0- Slave
OK 1-Master

2-Slave-Loop

9. Set/Check device class

Command Respond Parameter


AT+CLASS=<Param> OK Param: Device Class
AT+ CLASS? 1. +CLASS:<Param>
OK
2. FAIL

10. Set/Check GIAC (General Inquire Access Code)

Command Respond Parameter


AT+IAC=<Param> 1.OK Param: GIAC
2. FAIL
(Default : 9e8b33)
AT+IAC +IAC:<Param>

OK
Example:

AT+IAC=9e8b3f\r\n
94

OK

AT+IAC?\r\n

+IAC: 9e8b3f

OK

11. Set/Check -- Query access patterns

Command Respond Parameter


AT+INQM=<Param>,<Param2>, 1.OK Param:
2.
<Param3> 0——
FAIL
inquiry_mode_standard
AT+ INQM? +INQM :
<Param>,<Param2>, 1——inquiry_mode_rssi
<Param3> Param2: Maximum number
OK of Bluetooth devices to
respond to
Param3:

Timeout (1-48 :
1.28s to

61.44s)

Example:

AT+INQM=1,9,48\r\n

OK

AT+INQM\r\n
95

+INQM:1, 9, 48

OK

12. Set/Check PIN code:

Command Respond Parameter


AT+PSWD=<Param> OK Param: PIN code
AT+ PSWD? + PSWD :<Param> (Default 1234)
OK

13. Set/Check serial parameter:

Command Respond Parameter


AT+UART=<Param>,<Param2>,< OK Param1: Baud

Param3> Param2: Stop bit


AT+ UART? +UART=<Param>,<Param2>,
Param3: Parity
<Param3>

OK
Example:

AT+UART=115200,1,2,\r\n

OK

AT+UART?

+UART:115200,1,2

OK
96

14. Set/Check connect mode:

Command Respond Parameter


AT+CMODE=<Param> OK Param:
AT+ CMODE? + CMODE:<Param> 0 - connect fixed
address
OK
1 - connect any address
2 - slave-Loop

15. Set/Check fixed address:

Command Respond Parameter


AT+BIND=<Param> OK Param: Fixed address
AT+ BIND? + BIND:<Param> (Default
OK 00:00:00:00:00:00)
Example:

AT+BIND=1234,56,abcdef\r\n

OK

AT+BIND?\r\n

+BIND:1234:56:abcdef

OK

16. Set/Check LED I/O

Command Respond Parameter


AT+POLAR=<Param1,<Param2> OK Param1:
AT+ POLAR? + POLAR=<Param1>,<Param2> 0- PIO8 low drive LED
OK 1- PIO8 high drive LED
97

Param2:

0- PIO9 low drive LED


1- PIO9 high drive LED

17. Set PIO output

Command Respond Parameter


AT+PIO=<Param1>,<Param2> OK Param1: PIO number

Param2: PIO level

0- low
1- high

Example:

1. PIO10 output high level

AT+PI0=10,1\r\n

OK

18. Set/Check – scan parameter

Command Respond Parameter


AT+IPSCAN=<Param1>,<Param2 OK Param1: Query
time
>,<Param3>,<Param4>
AT+IPSCAN? +IPSCAN:<Param1>,<Param2>,<P interval
aram3>,<Param4> Param2:Query
OK duration
98

Param3:Paging
interval

Param4:Call
duration
Example:

AT+IPSCAN =1234,500,1200,250\r\n

OK

AT+IPSCAN?

+IPSCAN:1234,500,1200,250

19. Set/Check – SHIFF parameter

Command Respond Parameter


AT+SNIFF=<Param1>,<Param2>, OK Param1: Max time

<Param3>,<Param4> Param2: Min time


AT+ SNIFF? +SNIFF:<Param1>,<Param2>,<Par
Param3: Retry time
am3>,<Param4>
Param4: Time out
OK

20. Set/Check security mode

Command Respond Parameter


AT+SENM=<Param1>,<Param2> 1. OK Param1:
2. FAIL
0——sec_mode0+off
AT+ SENM? + SENM:<Param1>,<Param2>
1——
sec_mode1+non_se
99

OK cure

2——
sec_mode2_service

3——sec_mode3_link
4——
sec_mode_unknow
n

Param2:

0——hci_enc_mode_off
1——
hci_enc_mode_pt_t
o_pt
2——
hci_enc_mode_pt_t
o_pt_and_bcast

21. Delete Authenticated Device


Command Respond Parameter
AT+PMSAD=<Param> OK Param:
Authenticated Device

Address
Example:

AT+PMSAD =1234,56,abcdef\r\n

OK

22. Delete All Authenticated Device

Command Respond Parameter


100

AT+ RMAAD OK

23. Search Authenticated


Devic e
Command Respond Parameter
AT+FSAD=<Param> 1. OK Param: Device address
2. FAIL

24 . Get Authenticated
Device C ount
Command Respond Parameter
AT+ADCN? +ADCN:<Param> Param: Device Count
OK

25. Most Recently Used Authenticated Device

Command Respond Parameter


AT+MRAD? + MRAD:<Param> Param: Recently
OK Authenticated Device

Address

26. Get the module working state

Command Respond Parameter


101

AT+ STATE? + STATE:<Param> Param:


OK “INITIALIZED”

“READY”

“PAIRABLE”

“PAIRED”

“INQUIRING”

“CONNECTING”

“CONNECTED”

“DISCONNECTED”

“NUKNOW”

27. Initialize the SPP profile lib

Command Respond Parameter


AT+INIT 1. OK
2. FAIL

28. Inquiry Bluetooth Device

Command Respond Parameter


AT+INQ +INQ: <Param1> , <Param2> , Param1:Address
<Param3> Param2:Device Class
….
Param3 : RSSI Signal
OK
strength
Example:

AT+INIT\r\n
102

OK

AT+IAC=9e8b33\r\n

OK

AT+CLASS=0\r\n

AT+INQM=1,9,48\r\n

At+INQ\r\n

+INQ:2:72:D2224,3E0104,FFBC

+INQ:1234:56:0,1F1F,FFC1

+INQ:1234:56:0,1F1F,FFC0

+INQ:1234:56:0,1F1F,FFC1

+INQ:2:72:D2224,3F0104,FFAD

+INQ:1234:56:0,1F1F,FFBE

+INQ:1234:56:0,1F1F,FFC2

+INQ:1234:56:0,1F1F,FFBE

+INQ:2:72:D2224,3F0104,FFBC

OK

28. Cancel Inquiring Bluetooth Device

Command Respond Parameter


AT+ INQC OK

29. Equipment Matching

Command Respond Parameter


103

AT+PAIR=<Param1>,<Param2> 1. OK Param1:Device
2. FAIL Address

Param2:Time out

30. Connect Device


Command Respond Parameter
AT+LINK=<Param> 1. OK Param:Device
2. FAIL Address
Example:

AT+FSAD=1234,56,abcdef\r\n

OK

AT+LINK=1234,56,abcdef\r\n

OK

31. Disconnect

Command Respond Parameter


AT+DISC 1. +DISC:SUCCESS Param:Device Address
OK

2. +DISC:LINK_LOSS
OK

3. +DISC:NO_SLC
OK

4. +DISC:TIMEOUT
OK

5. +DISC:ERROR
104

OK

32. Energy-saving mode

Command Respond Parameter


AT+ENSNIFF=<Param> OK Param:Device Address

33. Exerts Energy-saving


mode

Command Respond Parameter


AT+ EXSNIFF =<Param> OK Param:Device Address

Revision History
Rev. Description Release date
v1.0 Initial version 7/18/2010
105
106
107
108
109
110
111

Appendix H.
Cost of Hardware Fabrication
112

Arduino Due PHP 1,059.00


TP4056-1A LI-ON USB Battery Charger PHP 22.50
Module
HC-05 Bluetooth module Master-Slave PHP 399.75
Push Button PHP 25.00
PCB PHP
113

Appendix I.
Software Component Specification
114

ARDUINO IDE A cross-platform application that is


written in JAVA. It is used to write and
upload programs to arduino compatible
boards
EAGLE An electronic design automation software.
Enabling printed circuit board designers to
seamlessly connect schematic diagrams,
component placement, PCB routing and
comprehensive library content
115

Appendix J.
Source Code
116

ARDUINO CODES
#include <Joystick.h>
B00000000,B00000000,B00000000,B00
#define BTModule Serial1 000000};
byte joyCurrent[8]=
//baudwidth for RN-42 {B00000000,B00000000,B00000000,B0
int bauds = 115200; 0000000,

//pin configuration of the adruino due B00000000,B00000000,B00000000,B00


int relay1=35, relay2=36, relay3=37, 000000};
relay4=38;
//for isHold property
// Constant that maps the phyical pin bool isHold1=false, isHold2=false;
to the game button.
const int pinToButtonMap = 2; //for Joystick_
Wired Joystick(JOYSTICK_DEFAULT_REPO
const int buttonMap=2; //for RT_ID,JOYSTICK_TYPE_GAMEPAD
Bluetooth ,
16, 0, // Button Count, Hat
// Constant that maps the phyical pin Switch Count
to the joystick button. true, true, false, // X and Y, but no
const int joyMap = 10; Z Axis
true, true, false, // Rx, Ry, but no
// Last state of the button and joystick Rz
int lastButtonState[12] = false, false, // No rudder or
{0,0,0,0,0,0,0,0,0,0,0,0}; throttle
int lastJoyState[12] = false, false, false); // No accelerator,
{0,0,0,0,0,0,0,0,0,0,0,0}; brake, or steering

//for sending reports to RN-42 void setup() {


byte state1=B00000000, // Initialize Button Pins
state2=B00000000; pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
//storage of the states pinMode(4, INPUT_PULLUP);
byte binaryCurrent[8]= pinMode(5, INPUT_PULLUP);
{B00000000,B00000000,B00000000,B0 pinMode(6, INPUT_PULLUP);
0000000, pinMode(7, INPUT_PULLUP);
pinMode(8, INPUT_PULLUP);
62

pinMode(9, INPUT_PULLUP); else{


test();
//Initialize joystick and button pins joyStick();
pinMode(10, INPUT_PULLUP); sendReportIn(state1,state2);
pinMode(11, INPUT_PULLUP); if(isHold1==false && isHold2==
pinMode(12, INPUT_PULLUP); false)
pinMode(13, INPUT_PULLUP); clearAllCurrent();
pinMode(14, INPUT_PULLUP); }
pinMode(15, INPUT_PULLUP); }
pinMode(16, INPUT_PULLUP);
pinMode(17, INPUT_PULLUP); void checkBatt(){
Joystick.begin(); int RawValue = analogRead(A0);
float voltage = (RawValue /
//Initialize for the input of the 1023.0)*5;
battery SerialUSB.println(voltage);
pinMode(A0, INPUT); if (voltage > 2.95){
digitalWrite(relay2,HIGH);
//for relay module digitalWrite(45,HIGH);
pinMode(relay1, OUTPUT); digitalWrite(44,LOW);
pinMode(relay2, OUTPUT); }
pinMode(relay3, OUTPUT); if (voltage <1.00){
pinMode(relay4, OUTPUT); digitalWrite(relay2,LOW);
digitalWrite(45,LOW);
//for LED digitalWrite(44,HIGH);
pinMode(43,OUTPUT);//green }
pinMode(44,OUTPUT);//red else{
pinMode(45,OUTPUT);//blue digitalWrite(relay2,HIGH);
digitalWrite(45,HIGH);
//for bluetooth Module digitalWrite(44,LOW);
BTModule.begin(bauds); }
} }

//for bluetooth state bool checkStateUSB(){


bool valState = false; bool val;
if(digitalRead(33) == LOW){
void loop() { val=true;
checkBatt(); digitalWrite(relay1,LOW);
valState = checkStateUSB(); digitalWrite(43,HIGH);
if(valState == false) }
readButtonValues(); if(digitalRead(33) == HIGH){
63

val=false; case 10: joyCurrent[0] =


digitalWrite(relay1,HIGH); convertion(10); break;
digitalWrite(43,LOW); case 11: joyCurrent[1] =
} convertion(11); break;
return val; case 12: joyCurrent[2] =
} convertion(12); break;
case 13: joyCurrent[3] =
//buttons convertion(13); break;
void readButtonValues(){ case 14: joyCurrent[4] =
for (int index = 0; index < 18; convertion(14); break;
index++) case 15: joyCurrent[5] =
{ convertion(15); break;
int currentButtonState = case 16: joyCurrent[6] =
!digitalRead(index + pinToButtonMap); convertion(16); break;
if (currentButtonState != case 17: joyCurrent[7] =
lastButtonState[index]) convertion(17); break;
{ }
Joystick.setButton(index, state2 = combineStick();
currentButtonState); isHold2=true;
lastButtonState[index] = }
currentButtonState; else{
}
} switch(index+joyMap){
delay(50); case 10: joyCurrent[0] =
} convertion(0); break;
case 11: joyCurrent[1] =
//Joystikc convertion(0); break;
void joyStick(){ case 12: joyCurrent[2] =
for (int index = 0; index < 10; convertion(0); break;
index++) case 13: joyCurrent[3] =
{ convertion(0); break;
int currentButtonState = case 14: joyCurrent[4] =
!digitalRead(index + joyMap); convertion(0); break;
if (currentButtonState != case 15: joyCurrent[5] =
lastJoyState[index]) convertion(0); break;
{ case 16: joyCurrent[6] =
lastJoyState[index] = convertion(0); break;
currentButtonState; case 17: joyCurrent[7] =
if(currentButtonState == 1){ convertion(0); break;
switch(index+joyMap){ }
64

state2 = combineStick(); state1 = combineButton();


checkStates(); isHold1=true;
} }
} else{
} switch(val){
delay(30); case 2: binaryCurrent[0] =
} convertion(0); break;
case 3: binaryCurrent[1] =
void test(){ convertion(0); break;
int val; case 4: binaryCurrent[2] =
for (int index = 0; index < 10; convertion(0); break;
index++) case 5: binaryCurrent[3] =
{ convertion(0); break;
int currentButtonState = case 6: binaryCurrent[4] =
!digitalRead(index + buttonMap); convertion(0); break;
val = index+buttonMap; case 7: binaryCurrent[5] =
if (currentButtonState != convertion(0); break;
lastButtonState[index]) case 8: binaryCurrent[6] =
{ convertion(0); break;
lastButtonState[index] = case 9: binaryCurrent[7] =
currentButtonState; convertion(0); break;
if(currentButtonState == 1){ }
switch(val){ state1 = combineButton();
case 2: binaryCurrent[0] = checkStates();
convertion(2); break; }
case 3: binaryCurrent[1] = }
convertion(3); break; }
case 4: binaryCurrent[2] = delay(30);
convertion(4); break; }
case 5: binaryCurrent[3] =
convertion(5); break; void checkStates(){
case 6: binaryCurrent[4] = if(state1==B00000000)
convertion(6); break; isHold1=false;
case 7: binaryCurrent[5] = else
convertion(7); break; isHold1=true;
case 8: binaryCurrent[6] = if(state2==B00000000)
convertion(8); break; isHold2=false;
case 9: binaryCurrent[7] = else
convertion(9); break; isHold2=true;
} }
65

BTModule.write((byte)0x00);//X
void clearAllCurrent(){ BTModule.write((byte)0x00);//Y

state2=B00000000;state1=B00000000; BTModule.write((byte)0x00);//Rotx
for (int index = 0; index < 11;
index++) { BTModule.write((byte)0x00);//ROTy
BTModule.write(btn); //button
binaryCurrent[index]=B00000000; BTModule.write(btn2);//joystick
joyCurrent[index]=B00000000; }
}
} byte convertion(int btnNum){
byte val;
byte combineStick(){ switch(btnNum){
byte val = B00000000; //button
for (int index = 0; index < 8; case 2: val = B00000001; break;
index++) { case 3: val = (byte)0x02; break;
val = val+joyCurrent[index]; case 4: val = (byte)0x04; break;
} case 5: val = (byte)0x08; break;
return val; case 6: val = (byte)0x10; break;
} case 7: val = (byte)0x20; break;
case 8: val = (byte)0x40; break;
byte combineButton(){ case 9: val = (byte)0x80; break;
byte val = B00000000; //joystick
for (int index = 0; index < 8; case 10: val = (byte)0x01; break;
index++) { case 11: val = (byte)0x02; break;
val = val+binaryCurrent[index]; case 12: val = (byte)0x04; break;
} case 13: val = (byte)0x08; break;
return val; case 14: val = (byte)0x10; break;
} case 15: val = (byte)0x20; break;
case 16: val = (byte)0x40; break;
void sendReportIn(byte btn,byte case 17: val = (byte)0x80; break;
btn2){ default : val = (byte)0x00; break;
}
BTModule.write((byte)0xFD);//send return val;
HID REPORT }
BTModule.write((byte)0x6);//
62
63

Appendix K.
Multiple Constraints Analysis
64

Attach forms here.


65

Appendix L.
Evidence of Proofreading
66

Attach letter or evidence of proofreading here.


67

Researchers’ Profile
68

BRYAN C. GUTIERREZ

Contact Details
Mobile Number: 09328883096
Email: bry082497@gmail.com
Home Address: 2294 Linceo St. Pandacan, Manila
Home Phone Number: N/A
Provincial Address: N/A
Provincial Phone Number: N/A

Personal Information
Date of Birth: August 24, 1997
Place of Birth: Manila
Citizenship: Filipino
Gender: Male
Civil Status: Single

Education
College | 2014-Present | Address: Adamson University 900 an Marcelino Street, Ermita,
1000 Manila
High School | 2010-2014 | Adamson University 900 San Marcelino Street, Ermita, 1000
Manila
Elementary |2004-2006| 2142 Jesus St. Pandacan, Manila
|2006-2010| 900 San Marcelino St. Pandacan, Manila

Seminars and Trainings Attended


Digital Marketing 101 | March 6, 2019 | OZ AVR
Trends in IE 2019: Blockchain of Things | March 30, 2019 | AdU Theater
Why Do Startups Usually Fail? | March 13,2019 | OZ AVR
69

Place 1.5”x1.5”
ID picture here

JOSH RIENIER M. RAMOS

Contact Details
Mobile Number: 09339432322
Email: joshr.ramos77@yahoo.com
Home Address: 2518 Oro B. st. San Andress Bukid, Manila
Home Phone Number: N/A
Provincial Address: Maharlika Street, Sisa, Wawa, Nasugbu, Batangas
Provincial Phone Number: N/A

Personal Information
Date of Birth: July 3
Place of Birth: Manila
Citizenship: Filipino
Gender: Male
Civil Status: Single

Education
College | Year | Address: Adamson University | 2019 | 900 | San Marcelino Street, Ermita,
1000 Manila
High School | Year | Address: Adamson University | 2015 | 900 San Marcelino Street,
Ermita, 1000 Manila
Elementary | Year | Address: Holy Family Parochial School | 2009 | Sagrada Familia, San
Andres Bukid, Maynila

Seminars and Trainings Attended


Title | Date | Venue: PalEEEtan Go | September 17, 2016 | NCPAG, UP Diliman
Title | Date | Venue: 7th Engineering Research Congress - “Growing Focus on Excellence
Research: Learning from the Experts| February 13, 2017 | AdU Theater,
Adamson University
70

Title | Date | Venue: Security and Ethical Hacking | November 24, 2017 | 8th Floor, Citynet
Central, Sultan St. Brgy. Highway Hills, Mandaluyong City
Title | Date | Venue: ICpEp.SE – NCR Symposium 2018: Protecting the internet | February
17, 2018 | Br. Andrew Gonzalez Hall, De La Salle University – Manila
Title | Date | Venue: 9th Adamson Leaders Congress | May 9-11, 2018 | Adamson
University
71

Place 1.5”x1.5”
ID picture here

JASIER E. SAHAGUN

Contact Details
Mobile Number: +639480943536
Email: jasier.sahagun@gmail.com
Home Address: 0635 Quirino Avenue San Dionision, Parañaque City
Home Phone Number:
Provincial Address: N/A
Provincial Phone Number: N/A

Personal Information
Date of Birth : April 09, 1997
Place of Birth : Parañaque City
Citizenship : Filipino
Gender : Male
Civil Status : Single

Education
College | Year | Address:
Adamson University | 2019 | 900 San Marcelino Street Ermita, 100 Manila
High School | Year | Address:
St. Andrew’s School | 2014 | 457 Quirino Avenue, La Huerta, Parañaque City
Elementary | Year | Address:
St. Andrew’s School | 2014 | 457 Quirino Avenue, La Huerta, Parañaque City

Seminars and Trainings Attended


Title | Date | Venue:
Title | Date | Venue:
Title | Date | Venue:
72

Title | Date | Venue:


Title | Date | Venue: Trends in IE 2019 – The Blockchain of Things: Driving Industries
toward the Emergence of a New Paradigm | March 30, 2019 | Adamson
University
Title | Date | Venue: 7th National Computer Research and Engineering Symposium 2019 |
February 08, 2019 | Polytechnic University of the Philippines – Manila

Title | Date | Venue: Philippine Auto Industry – Academia Linkage Congress 2018 |
September 28, 2018 | Technological Institutional of the Philippines –
Quezon City

Title | Date | Venue: Samsung Algorithm Workshop | April 17, 2018 | Adamson University

Title | Date | Venue: ICpEP.SE 1st Regional Convention: Computer Engineering Without
Borders | April 04-06, 2018 | FEU Institute of Technology – Manila

Title | Date | Venue: ICpEP.SE NCR Symposium 2018: Protecting the Internet | February
17, 2018 | De La Salle University - Manila
73

CHRISTIAN LEE V. SAM

Contact Details
Mobile Number: 09279468060
Email: csam.lee25@gmail.com
Home Address: 1451 B ilang –ilang st. Zamora,Pandacan Manila
Home Phone Number: N/A
Provincial Address: N/A
Provincial Phone Number: N/A

Personal Information
Date of Birth: Manila
Place of Birth: Chinese General Hospital
Citizenship: Filipino
Gender: Male
Civil Status: Single

Education
College | Year | Address: Address: Adamson University 2019 900 an Marcelino Street,
Ermita, 1000 Manila

High School | Year | Address: 1521 Paz St. Paco Manila, 1007 Metro,Manila Paco Catholic
School 2013
Elementary | Year | Address: 1521 Paz St. Paco Manila, 1007 Metro,Manila Paco Catholic
School 2007

Seminars and Trainings Attended


74

Title | Date | Venue: Security and Hacking | Feburary 2019 | OZ Conference, Adamson
University
Title | Date | Venue: I/O “Mechatronix” | March 2019 | JP AVR, Adamson University

You might also like