가상현실프로그래밍 9주차

2021. 11. 12. 01:27·학교수업
반응형

아두이노 IDE

- 작고 간단한 통합개발환경

- 초보자를 위해 꼭 필요한 기능들만으로 구성

- 한 번의 클릭으로 컴파일에서 업로드까지 진행

- JAVA로 구현하여 OS 간 이식성이 뛰어남

- 디버깅 기능이 존재하지 않음

 

pinMode : 지정한 핀(pin)의 모드(mode) 설정

- void pinMode(uint8_t pin, uint8_t mode);

digitalWrite : 지정한 핀(pin)으로 값(value) 출력

- void digitalWrite(uint8_t pin, uint8_t value);

digitalRead : 지정한 핀(pin)의 상태를 반환

- int digitalRead(uint8_t pin);

 

Unity & Arduino 연결

- PC는 외부 장비와 통신하기 위해 시리얼 통신(키보드, 마우스)과 병렬 통신(프린터)을 제공

- 시리얼 통신은 병렬 통신에 비해 더 멀리 보낼 수 있다.

- Baud Rate(통신속도)

1) 1초당 전송되는 bit수(bit per second)

2) 통신 속도에 영향을 받지 않으면 통상9600

3) 아두이노는 최대 115200 bps까지 지원

 

시리얼 통신 함수

- Serial.begin(통신속도) : 시리얼 통신의 소도를 설정

- Serial.print(출력값) : 데이터를 문자열 단위로 출력

- Serial.write() : 데이터를 byte 단위로 출력

- Serial.available() : 수신되어 저장되어 이는 byte수 리턴(최대 64)

- Serial.read() : 버퍼에서 1 바이트 read, 버퍼가 비어 있으면 -1 리턴

- Serial.end() : 통신 종료

- Serial.flush() : 현재 전송하고 있는 시리얼 데이터가 전송완료가 될 때까지 대기

 

아두이노 IDE 혹은 시리얼 monitor 와 unity를 동시에 사용할 수 없음.

-> 동일한 포트를 2개 application에서 사용 불가

Upload 할 때도 unity가 실행되어 있으면 안된다.(확인 중요)

 

Unity에서 시리얼 데이터 읽기

- 시리얼 통신 함수 사용을 위해 Api Compatibility Level 을 .NET 2.0 -> .NET 4.0으로 변경

-> start에서 arduino = new SerialPort("COM3", 9600); arduino.Open();으로 연결

-> update에서 int k = arduino.ReadByte(); print(k);

 

ReadByte함수는 읽을 데이터가 있을 때 까지 무한 대기 

-> Update에서 ReadByte 호출 시 Update가 제대로 실행이 안됨

-> 이를 해결하기 위해 start에 arduino.ReadTimeout = 10;을 이용해 읽는 것을 최대 10ms만 대기하고 데이터가 없으면 에러 발생을 시킴(try~catch를 이용하여 update함수를 구현)

 

ReadByte함수 대신 ReadLine함수를 호출해 line단위로도 데이터를 읽을 수 있다.

 

VSPE(Virtual Serial Port Emulator)로 가상 포트 만들기 가능

반응형
저작자표시 (새창열림)

'학교수업' 카테고리의 다른 글

임베디드기초 10주차  (0) 2021.11.15
웹개발기초 11주차  (0) 2021.11.14
정보보호개론 9주차  (1) 2021.11.09
임베디드 기초 9주차  (0) 2021.11.08
사물인터넷의 이해 9주차  (0) 2021.11.07
'학교수업' 카테고리의 다른 글
  • 임베디드기초 10주차
  • 웹개발기초 11주차
  • 정보보호개론 9주차
  • 임베디드 기초 9주차
숯불돼지왕갈비
숯불돼지왕갈비
게임 개발을 목표로 학습하는 블로그 입니다!
  • 숯불돼지왕갈비
    게임 개발 공부기
    숯불돼지왕갈비
  • 전체
    오늘
    어제
    • 분류 전체보기 (314)
      • 학교수업 (165)
      • 취업강의 (6)
      • C++ (52)
        • 코딩 테스트 (5)
      • Unreal Engine 5 (26)
        • MMORPG 개발 (26)
      • Unreal Engine 4 (44)
        • Omak Project (3)
        • Unreal Engine 4 개발일지 (9)
        • Unreal Engine 4 (32)
      • Unity (1)
        • 개발 일지 (1)
      • 수학 (3)
        • 소프트웨어 공학용 수학 (3)
      • DirectX 11 (4)
      • 게임 디자인 패턴 (2)
      • 포트폴리오 (1)
      • 자격증 (9)
        • 컴퓨터 활용능력 (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    프로그래머스
    알고리즘
    백준
    자료구조
    정렬
    코딩
    c++
    코딩테스트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
숯불돼지왕갈비
가상현실프로그래밍 9주차
상단으로

티스토리툴바