Toggle navigation
Toggle navigation
This project
Loading...
Sign in
2021-1-capstone-design1
/
JSH_Project3
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
김윤지
2021-06-17 11:54:09 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
6891cd5b2cda75f58548c02ccf1fc3ab808a1bd8
6891cd5b
1 parent
f6fb80d1
Upload README file
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
98 additions
and
0 deletions
README.md
README.md
0 → 100644
View file @
6891cd5
# haptic README.md
본 프로젝트는
*새로운 피드백 요소가 추가된 게임 컨트롤러 제작*
을 주제로 2021학년도 1학기에 진행되었다. 열 피드백을 주제로, 각각 높은 온도와 낮은 온도를 어떻게 전달해야 할지에 주안점을 둔다.
## Environment
---
`Unity 2019.4.18f1`
`Arduino 1.8.15 (Windows)`
## Directory
---
`code`
Arduino code를 포함한다.
`PADMOTOR.ino`
실제 기기를 구동시키는 코드
`reports`
면담보고서, 기초조사서 등을 포함한다.
`test`
테스트를 위한 Unity 파일을 포함한다.
## Code
---
### PADMOTOR.ino
```
c
int
Mosfet1
=
7
;
// 펠티어 연결 모스펫 7번포트
int
Mosfet2
=
6
;
// 모터 연결 모스펫 6번포트
char
data
;
// 데이터 입력 종류
void
setup
()
{
Serial
.
begin
(
9600
);
pinMode
(
Mosfet1
,
OUTPUT
);
pinMode
(
Mosfet2
,
OUTPUT
);
}
```
연결 포트를 선언한다. Mosfet1은 펠티어에, Mosfet2는 모터로 연결되었다.
```
c
void
loop
()
{
if
(
Serial
.
available
()
>
0
)
// 입력된 데이터가 있다면
{
data
=
Serial
.
read
();
// 데이터에 입력값 넣기
}
if
(
data
==
'f'
)
// f를 입력했을 경우 펠티어 모스펫 on
{
digitalWrite
(
Mosfet1
,
HIGH
);
}
else
if
(
data
==
'd'
)
// d를 입력했을 경우 펠티어 모스펫 off
{
digitalWrite
(
Mosfet1
,
LOW
);
}
else
if
(
data
==
's'
)
// s를 입력했을 경우 모터 on
{
digitalWrite
(
Mosfet2
,
HIGH
);
}
else
if
(
data
==
'a'
)
// a를 입력했을 경우 모터 off
{
digitalWrite
(
Mosfet2
,
LOW
);
}
}
```
각각
`f`
,
`d`
,
`s`
,
`a`
의 값을 받아 ON/OFF를 처리하도록 했다.
### SerialHandler.cs
```
csharp
public
string
portName
=
"COM1"
;
public
int
baudRate
=
9600
;
```
아두이노와 Unity 사이는 유선으로 연결해, 시리얼 통신으로 진행했다.
### Player.cs
Unity 내에서 Player의 움직임에 따라 아두이노로 데이터를 보내는 부분이다.
```
csharp
private
void
OnTriggerEnter
(
Collider
other
)
{
if
(
other
.
name
==
"ColdSphere"
)
serialHandler
.
Write
(
"s"
);
else
if
(
other
.
name
==
"HotSphere"
)
serialHandler
.
Write
(
"f"
);
}
private
void
OnTriggerExit
(
Collider
other
)
{
if
(
other
.
name
==
"ColdSphere"
)
serialHandler
.
Write
(
"a"
);
else
if
(
other
.
name
==
"HotSphere"
)
serialHandler
.
Write
(
"d"
);
}
```
\ No newline at end of file
Please
register
or
login
to post a comment