Renesas 보드와 MPU6050의 자이로센서를 이용해, 펌웨어로 제작한 Air Mouse 프로젝트입니다.
MPU 6050의 자이로 센서를 이용해 빵판을 기울였을 때 변경되는 가속도 값을 I2C 통신으로 MCU보드에 전송합니다.
이후, MCU에서 PC와 UART 통신을 이용해 데이터를 전송합니다.
visual studio에서 Windows API를 이용해, 들어오는 데이터에 따라 마우스를 제어합니다.
Renesas 보드 Quick Start(Board Layout) link : Renesas 회원가입 필요
GND ↔ GND, P100 ↔ TXD, P101 ↔ RXDVCC, GND: 빵판의 5v, GND에 연결
SCL : P400과 연결 + VCC(5v)와 10k옴 저항으로 연결
SDA : P401과 연결 + VCC(5v)와 10k옴 저항으로 연결
스위치 3개 각각 빵판의 GND에 연결 + VCC(5v)와 10k옴 저항으로 연결(pull up 저항 구성)
각각 P302, P105, P409에 연결
require HW: FPB-RA6E1, FT23BL, MPU 6050
requre SW: Visual Studio, e2 studio
P302, P105, P409를 usr_SW1, usr_SW2, usr_SW3로 이름 변경
SCI0설정변경 - Asynchronouse UART
1. New Stack → Connectivity → UART (r_sci_uart): name - g_uart0, channel - 0, baud rate - 115200,
callback -user_uart_callback으로 설정
2. New Stack → Connectivity → I2C Master (r_iic_master): slave Addres - 0x68, callback - iic_callback
3. New Stack → input → External IRQ: handler name - g_external_irq5, channel - 5, triger - falling, callback - irq_callback
4. New Stack → input → External IRQ: handler name - g_external_irq0, channel - 0, triger - falling, callback - irq_callback
5. New Stack → input → External IRQ: handler name - g_external_irq6, channel - 6, triger - falling, callback - irq_callback
heap size: 0x1000 configuration 이후 code generation으로 생성되면,
기존의 hal_entry.c 대신 깃허브의 hal_entry.c로 복사 붙여넣기, src에 uart.c 추가하기 1. open Visual studio2022, make new C++ project (새 프로젝트 만들기 → 빈 프로젝트 → 만들기)
2. add source file : user.cpp (보기 → 솔루션 탐색기 → 소스파일 우클릭 → 추가 → 새항목 → user.cpp 추가 후 내용 붙여넣기)
3. add header file : user.cpp (보기 → 솔루션 탐색기 → 헤더파일 우클릭 → 추가 → 새항목 → serial.h 추가 후 내용 붙여넣기)
4. Change project properties: File → Project 속성 → C/C++ → SDL 검사 : 아니요 적용
1. 윈도우 키보드 버튼 클릭 → 장치 관리자 → Serial port 번호 체크 (for me, COMP10)
2. change port number on user.cpp
3. run MCU on e2 studio (debug 버튼 클릭 → 녹색 실행 버튼 두 번 클릭)
4. run user.cpp (visual studio에서 ctrl + F5)