목록분류 전체보기 (437)
printf("ho_tari\n");

2025.04.15 파이썬 개발 환경 안내 및 설치파이썬 개발 환경 설치 안내방법1-1 : Python 배포판 Anaconda 설치 + Jupyter Notebook IDE 사용Anaconda 설치 시 Jupyter Notebook 같이 설치됨Jupyter Notebook : 오픈소스 (Open source) 기반의 웹 플랫폼 ⇒ 필요 시 가상환경 구성하여 진행방법1-2 : Python 배포판 Anaconda 설치 + Visual Studio Code(VS Code) IDE 사용방법2 : Python 설치 + Visual Studio Code(VS Code) IDE 사용Anaconda 로 설치한 파이썬 + VS Code에서 연결 or 독립적으로 설치한 파이썬 + VS Code에서 연결방법3 : 코랩(Go..

2025.04.14 01.오리엔테이션 및 인공지능 개요 인공지능 (Artificial Intelligence, AI)- 지능 : 문제를 해결할 수 있는 능력- 지능작업 : 학습, 추론, 지각(시각, 청각), 자연언어의 이해 능력 등- 인공지능 : 인간의 지능 작업을 기계 등에 인공적으로 시연(구현)한 것 인공지능 발달 과정 머신러닝- 인공지능의 한 연구 분야로 컴퓨터가 명시적으로 프로그램되지 않고도 학습할 수 있도록 하는 연구 분야 머신러닝 vs 컴퓨터 프로그래밍 딥러닝- 다량의 데이터나 복잡한 자료들 속에서 핵심적인 내용/기능을 요약하여 알고리즘으로 사용하는 머신러닝의 한 분야 머신러닝과 딥러닝의 차이 인공지능이 풀고자 하는 문제들- 수치예측 : 내일 이 종목의 가격은?- 분류 : 이 이미지는 어떤 ..
2025.04.09 ~ 2025.04.11 - RTOS 기반 실행- I2CLCD : HAL func쓰지 말고 I2C protocol 구현- DS1302 활성화 : 시계를 LCD에 표시- BUZZER 동작- LED BAR 동작- Dotmatrix 동작- BUTTON 제어 : 층수 선택 / 복수층 선택 / 층수 선택 취소 기능 1. 시스템 구성 및 각 모듈의 역할1.1. 스텝 모터 및 층 선택 모듈주요 기능:엘리베이터의 이동을 위해 스텝 모터를 제어합니다.사용자의 버튼 입력을 통해 여러 층을 선택하거나 취소할 수 있도록 합니다.현재 위치와 목표 층을 비교하여 모터가 전진(FORWARD) 또는 후진(BACKWARD)하도록 방향을 결정합니다.선택된 층 목록은 고정 크기 배열로 관리되며, 도착 시 부저 알림을 발..

2025.04.09 오늘의 학습목표1.thread 작성2. mutex / semaphore 작성3. project 수행 Mutex : 공유자원 1개에 하나의 사용자만 사용 가능- 뮤텍스는 화장실이 하나 뿐이 없는 식당과 비슷하다. 화장실을 가기 위해서는 카운터에서 열쇠를 받아 가야 한다. 당신이 화장실을 가려고 하는데 카운터에 키가 있으면 화장실에 사람이 없다는 뜻이고 당신은 그 열쇠를 이용해 화장실에 들어갈 수 있다.- 공유된 자원의 데이터 혹은 임계영역 등에 하나의 process 혹은 thread가 접근하는 것을 막아줌(동기화 대상이 하나)- 임계구역을 가진 스레드들의 실행시간이 서로 겹치지 않고 각각 단독으로 실행(상호배제)되도록 하는 기술 Semaphore 세마포어- 손님이 화징실을 좀 더 쉽게 ..

2025.04.08 오늘의 학습 목표1. step motor 제어2. ext INT & phto TR3. thread & mutex (free RTOS) STEP MOTOR /* * stepmotor.c * * Created on: Apr 8, 2025 * Author: microsoft */#include "stepmotor.h"#include "button.h"// btn0 : idle(stop)// btn1 : FW BW#define IDLE 0#define FORWARD 1#define BACKWARD 2uint8_t stepmotor_state = IDLE;void set_rpm(int rpm);void stepmotor_main(void);int stepmotor_drive(..
2025.04.04 ~ 2025.04.07 BMP180 (I2C)I2C3 PA8 - SCL PC9 - SDA 1. 기본 구조 및 레지스터 정의I2C 주소 및 레지스터 주소코드에서는 BMP180_ADDRESS가 0x77 BMP180 데이터시트(예, Table 5, 페이지 14)에 따르면 센서의 7비트 기본 주소는 0x77이며, HAL에서는 8비트 주소 형식을 사용하므로 왼쪽 시프트를 적용BMP180_REG_CALIB_START (0xAA), BMP180_REG_CONTROL (0xF4) 및 BMP180_REG_OUT_MSB (0xF6)는 데이터시트의 메모리 맵(페이지 19~20)에서 보정 데이터와 측정 결과 레지스터 주소로 지정온도 및 기압 측정 명령어(BMP180_CMD_READ_TEMP 0x2E, BM..

2025.04.04 오늘의 학습 목표1. code review2. keypad matrix application3. project 수행 KEYPAD 키 매트릭스- 버튼을 매트릭스 형태로 배치- 적은 수의 입력 핀으로 많은 버튼 입력 검사- LED 매트릭스의 잔상효과와 기본적으로 동일한 방식 사용- LED 매트릭스는 출력, 키 매트릭스는 입력을 위한 방법임에 차이가 있음 키 매트릭스의 회로도 키 매트릭스 열 단위 스캔 풀다운 저항 추가 루프 형성1 루프 형성2 다이오드 추가 - 루프 형성 방지 4x4 키 매트릭스 회로도 키 매트릭스 모듈 키 매트릭스 모듈 연결 회로도 타이머 인터럽트 코드void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){ /*..

2025.04.03 DOTMATRIX 제어- LED를 매트릭스 형태로 배치하여 문자와 기호를 표시할 수 있도록 만들어진 출력 장치- 8x8 크기가 흔히 사용됨- 행과 열 제어를 위해 각각 8개, 총 16개 제어선 필요- 제어 회로 / 칩이 포함된 모듈도 흔히 사용 #include "main.h"extern SPI_HandleTypeDef hspi2;void dotmatrix_main_test();void init_dotmatrix(void);int dotmatrix_main(void);int dotmatrix_main_func(void);uint8_t allon[] = { // allon 문자 정의 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b1111111..