반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- level3
- dfs
- python
- 코딩테스트
- DP
- programmers
- 힙
- 운영체제
- 구현
- BOJ
- MYSQL
- N과M
- 수학
- level0
- 브루트포스
- 파이썬
- 가상메모리 관리
- 다이나믹 프로그래밍
- 다익스트라
- 가상메모리
- level2
- 딕셔너리
- BFS
- 그리디
- 재귀
- level1
- 프로그래머스
- 백준
- 스택
- 에라스토테네스의 체
Archives
- Today
- Total
동캄의 코딩도장
스피커 및 센서를 활용한 ‘음악아 친해지자' 기기 본문
반응형
https://github.com/dongkam5/SystemProgramming_work <-- 코드 링크
프로젝트 개요
- 독거 노인의 증가로 노인 우울증 비중이 크게 증가
- 해당 기기에 참여하여 노인의 성취감을 높여 우울증 개선 목표
응용 시스템 제작
- 다음과 같이 입력, 메인 , 출력 파이를 구성
기술 분석
PWM을 이용한 소리 출력
- PWM를 이용해 주파수 및 음향 크기 조절- 스피커 구현 스피커를 통해 입력 받은 신호에 따라 알맞은 소리를 출력하도록 하거나 미리 구성되어 있는 음악을 출력
IC2 통신을 이용하여 LDC 구현
-I2C 통신을 통한 LCD 구현 LCD를 통해 게임 진행 결과, 메뉴 정보, 리듬 게임의 박자에 맞는 블록 등을 사용자들에게 시각적으로 표현
게임 진행
- 버튼을 통해 어떠한 메뉴를 진행할지 선택하고 메뉴가 선택되었다면 그에 맞는 디바이스들을 활성화하여 작동하여 실행. 기능 실행 중간에 나가고 싶다면 홈 버튼을 통해 다시 메뉴로
돌아감. 각각의 메뉴가 끝나고 점수 출력이 필요하다면 LCD를 통해 출력
소켓 통신
- 입력 Pi -> 메인Pi 메인 Pi -> 출력 Pi 서로 다른 세가지 라즈베리파이간의 정보 전달을 하기 위한 창구 역할로 메뉴 번호, 주파수, 게임의 점수 등을 수송신한다.
스레딩
- LCD와 스피커 수신과 송신 스레딩을 통해 프로세스를 여러 실행 단위로 나누어 각각의 기능들에 대한 관리의 중복성을 최소화 시키고 기능을 지닌 함수들의 병행 실행
기능
- 메뉴 선택
필요장치: 버튼 4개 LCD 1개
(각 버튼을 누르면 해당 서비스에 해당하는 메뉴로 넘어간다.)
LCD를 통해 메뉴를 출력한다. - 1번 버튼을 누르면, 피아노 메뉴로 넘어간다.
- 2번 버튼을 누르면, 녹음 실행 메뉴로 넘어간다.
- 3번 버튼을 누르면, 절대 음감 테스트 메뉴로 넘어간다.
- 4번 버튼을 누르면, 저장된 첫 번째 음악 출력 메뉴로 넘어간다.
- 5번 버튼을 누르면, 저장된 두 번째 음악 출력 메뉴로 넘어간다.
역할 분담
ME - 전체적인 알고리즘 구현, 입력PI 코드 작성, 입력 PI와 입력 PI에 사용되는 IO 장치 연결
A - 메인PI-출력 PI 코드 작성, 출력 PI에 사용되는 IO 장치 연결
B - 최종 코드 점검, 메인PI-출력PI 코드 작성, 출력 PI에 사용되는 IO 장치 연결
반응형
'프로젝트' 카테고리의 다른 글
일본 여행 기념 히라가나/가타카나 연습 페이지 (0) | 2023.03.15 |
---|---|
카카오맵 API 이용, 지역화폐(동백전) 가맹점 검색 및 지도 표시 기능 구현 (FLASK,PANDAS,SQLITE3,GPS) (0) | 2023.03.15 |
자바스크립트로 만든 공 없애기 게임 페이지 (0) | 2023.03.12 |
일본 여행 기념 가타카나 연습 페이지 (0) | 2023.03.12 |
FLASK 게시판 사이트 (0) | 2023.03.12 |