Project 6

[라즈베리파이] 기초 세팅

라즈베리파이 기초 세팅 개요 이번 시간에는 임베디드 리눅스 기반 개발 보드 중 하나인 라즈베리 파이를 세팅하는 방법에 대해 알아보도록 하겠다. 필자는 라즈베리 파이 버전 4를 사용하고 있으므로, 해당 모델을 기준으로 설명하도록 하겠다. 본문 설치 라즈베리파이는 전체 컴퓨터 시스템으로서 작동한다. 즉, 이를 위해 파일 시스템, 사용자 인터페이스, 네트워킹, 드라이버 지원 등을 제공하는 운영 체제가 필요하다. 따라서 내장 하드 드라이브가 없는 라즈베리파이는 SD 카드를 이용해 운영 체제 이미지를 복사하고, 필요한 부팅 설정을 구성해야 한다. 먼저 해당 링크를 타고 들어가서 라즈베리 파이 OS Imager를 설치해 주자. 그러면 다음과 같은 Imager 프로그램이 실행될 것이다. 어떤 종류의 디바이스인지 골라..

[아두이노] 기본 설정 방법

아두이노 개요 개요 아두이노(Arduino)는 AVR 기반의 마이크로컨트롤러다. 필자가 사용하는 UNO R3는 ATmega328P 8비트 컨트롤러를 이용하여 다양한 임베디드 개발을 진행할 수 있다. 이번 시간에는 아두이노를 이용해 개발하기 전 기초적인 환경 세팅을 진행하도록 하겠다. 본문 IDE 설치 먼저 아두이노 IDE를 설치하기 위해 다음 링크를 들어가 자신의 환경에 맞는 IDE를 설치해 주자. 이때 설치 파일 경로에 한글이 포함되면 에러가 발생할 수 있으므로, 한글이 들어가지 않도록 하자. IDE 설치가 완료되었으면, 아두이노를 PC에 연결하자. 그러면 위와 같이 드라이버 설치 문구가 뜰탠데, 해당 드라이버를 설치해주면 된다. 그리고 자신이 사용하고 있는 보드를 고르고, PC와 연결되어 있는 포트를..

Project/Arduino 2024.01.21

[Dictionary] 영어 단어 시험지 ver 1.1 (코드 리뷰) with Notion

영어 단어 시험지 코드 리뷰 본문 구성 ver 1.1 기준으로 해당 프로그램은 다음과 같이 API를 호출하는 부분(get_api.h/get_api.cpp), JSON 파일을 파싱해 단어를 저장하는 부분(get_vocabulary.h/get_vocabulary.cpp), 시험을 출력하는 부분(test.h/test.cpp), 메인 함수(main.cpp)로 구성되어 있다. 즉, 프로그램을 실행하면 Notion의 API를 호출하여 데이터베이스와 연결하고, 단어들을 JSON 구조로 추출하여 DOS 창에서 단어가 나오면 정답을 입력하게 되어 있다. 자세한 코드는 해당 리포지토리를 확인하면 된다. API 호출 저번 게시글에서도 언급했듯이, C++에서 Notion API를 호출하는 것은 번거로운 작업이다. 그래서 sy..

Project/Dictionary 2023.09.06

[Dictionary] 영어 단어 시험지 ver 1.1 (사용법) with Notion

ver 1.1 개요 지난 ver 1.0과 비교하였을 때, 메인 함수에 묶여 있는 코드들을 헤더 파일과 구현 파일로 분리하여 코드의 재사용성과 가독성을 보완했다. 또한 이번 게시글에서는 간단한 사용 방법을 설명하고, 다음 게시글에서는 코드 리뷰를 진행해 보도록 하겠다. 본문 사용법 해당 시험지를 사용하기 위해선 Notion의 API 키와 단어장이 저장되어 있는 데이터베이스의 ID가 필요하다. 먼저 노션의 API를 호출하기 위해 key를 발급받아 보자. 해당 링크(노션 Developers)를 타고 들어가 View my integrations(내 통합)으로 이동한다. 그 후 Create new intergration을 클릭해 새 API를 만든다. 여기에 어느 계정의 API 키를 받아올 것인지를 Associat..

Project/Dictionary 2023.09.05

[Dictionary] 영어 단어 시험지 ver 1.0 with Notion

영어 단어 테스트 프로그램 개요 개발자들은 영어로 된 자료를 접할 일이 많다. 이는 프로그래밍의 역사가 미국에서 시작되었기 때문이고, 영어가 국제적인 커뮤니케이션 언어로 널리 사용되기 때문이다. 이런 배경 하에 필자는 영어로 된 기술 자료를 읽을 때마다 알게 된 새로운 단어나 표현들을 Notion에 기록해왔다. 그러나, 그저 단어를 기록하는 것만으로는 기억에 오래 남기에는 부족하다고 느껴졌다. 이 단어들을 효과적으로 외우고 활용하기 위해서는 반복적인 연습이 필요하다. 이런 고민에서 출발하여, 필자는 이 단어들을 테스트할 수 있는 간단한 프로그램을 개발하게 되었다. 본문 기본 아이디어 API 호출 → 단어 저장 → 단어 시험 → 결과 출력 노션은 사용자가 직접 데이터베이스를 구축할 수 있는 기능을 제공하며..

Project/Dictionary 2023.08.29

[TeamCreator] ver 1.0

Team Creator ver 1.0 개요 "Team Creator"는 친구들과 함께 League of Legends 5대5 내전을 진행할 때 항상 팀 구성의 밸런스를 맞추는 것이 어려워 개발하게 되었다. 이 프로그램은 각 사용자의 티어를 기반으로 점수를 부여하고, 팀원들의 총 점수가 비슷하게 배치될 수 있도록 밸런스를 조정하는 것을 목표로 한다. 이 프로젝트의 시작은 간단한 아이디어에서 출발했다. 현재 팀의 밸런스를 시각적으로 보여주는 것이다. 그러나 프로젝트의 목표는 단순히 시각적으로 표시하는 것을 넘어서, 팀을 자동으로 구성하고 이를 GUI로 구현하는 것까지 확장할 예정이다. 이를 통해 사용자는 더욱 직관적이고 편리하게 팀을 구성하고 게임의 밸런스를 유지할 수 있게 되길 바란다. 기본 아이디어 해당..

Project/TeamCreator 2023.07.24