목록2025/03 (19)
printf("ho_tari\n");

2025.03.18 오늘의 학습 목표1. Data Sheet 보고 Coding하기2. 동기식 protocol(1) I2C protocol 분석 DHT11- 온도와 습도를 모두 측정할 수 있는 센서- 온도 : 0 ~ 50도- 습도 : 20 ~ 90% DHT11 통신 방식- single bus data format으로 single-wire Two-way 방식- 1번 측정하는데 4ms 정도 소요- data는 40bit로 구성, 습도 정수 8bit 습도 소수 8bit 온도 정수 8bit 온도 소수 8bit checksum 8bit- Data Format : 8bit integral RH data + 8bit decimal RH data + 8bit integral T data + 8bit decimal T d..
2025.03.04 ~ 2025.03.16 ATmega128A를 이용하여 세탁기 (Washing Machine) 구현 프로젝트 진행 🔧 프로젝트 개요MCU: ATMega128A구성 요소: 버튼 4개, FND, LED, 초음파 센서, PWM 기반 DC 모터 (L298N), 부저주요 기능세탁기 3단계 작동 시퀀스 (기본/수동 모드) 구현FND로 남은 시간 표시 및 애니메이션 출력초음파 센서로 장애물 감지PWM 기반 모터 제어 (정회전/역회전)버튼을 통한 사용자 입력 조작🚀 주요 동작 흐름1. 초기화 및 대기 상태전원 ON 전까지 모든 장치는 대기 모드(system_on = 0)전원이 켜지면 Idle 상태 진입 (phase = 0)FND에는 현재 선택된 phase (또는 STOP)가 표시됨2. 버튼 기능버..

2025.03.14 Piezo Buzzer - 전기 신호를 소리로 변환시켜 주는 장치- 전자석으로 진동판을 빠른 속도로 움직여 진동판의 진동에 의해 소리 발생- 수정진동자를 이용하여 소리를 낸다.- 수정 진동자에 단속적(일정한 주기에 따라)으로 전류를 보내어 수정진동자의 늘어짐과 수축을 발생 시키므로써 공기를 진동시켜 소리를 내는 장치- PWM 신호에 의한 스피커 제어- 50% 듀티 사이클의 PWM 신호로 스피커 제어- 재생하고자 하는 음의 주파수에 맞는 구형파로 제어 구형파 생성 방법 (1번 / 3번 타이머 / 카운터 사용)- 4번 CTC 모드 사용- OCR1A 레지스터의 비교일치 값 조절을 통해 주파수 제어 가능(Toggle: 비교일치가 되면 1번은 high 1번은 Low)- 8번 위상 및 주파수 교..

2025.03.13 오늘의 학습 목표1. stack / interrupt review2. 과제 review3. PWM제어4. Data sheet coding STACK (LIFO : Last In First Out) - 데이터를 차곡차곡 쌓아 올린 형태의 자료구조- 한쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO(Last In First Out) 형 가장 마지막에 삽입된 자료가 가장 먼저 output 되는 구조를 가진다.- Stack은 정해진 방향으로 만 쌓을 수 있다.- Top으로 정해진 곳을 통해서만 접근 가능 새로 삽입된 data는 top이 가리키는 맨 위에 놓이게 됨 자료를 꺼낼떄도 top을 통해서 가능 하다.- 삽입 : push, 출력: pop- top : 가장 최근에 보관한 자료의 위치. ..

2025.03.12 LED CONTROL with Bluetooth Serial Port /* * 01.LED_CONTROL.c * * Created: 2025-03-04 오후 4:25:34 * Author : microsoft */ #define F_CPU 16000000UL // 16MHZ#include #include // _delay_ms _delay_us#include // sei()#include // printf, scanf, fgets, puts, gets 등이 들어있다.#include "button.h"#include "def.h"extern int led_main(void); // 선언extern void init_button(void);extern int get_butt..

2025.03.11 오늘의 학습 목표1. 회로도 작성 완료- 새로운 모듈 작성2. UART 오실로스코프 확인3. EXTERNAL INT4. Ultrasonic Application5. Timer 16 PWM 제어 심볼 제작(편집) with KiCADex) Texas Instruments 7400 회로도에 심볼 불러오기 오실로스코프와 파워서플라이 오실로스코프와 ATmega128A 연결 (PE1 : +, GND : -) printf("12\n");'1' : 0011 0001'2' : 0011 0010'\n' : 0x0A : 0000 1010 전화번호 뒷자리 출력pritnf("5951\n");'5' : 0011 0101'9' : 0011 1100'5' : 0011 0101'1' : 0011 0001'\n..

2025.03.10 오늘의 학습 목표1. UART 통신- RX INT- Circular Queue 적용- uart command programming2. 회로도 작성 Comport Master 다운로드 UART 시리얼 통신- 마이크로컨트롤러는 비트 단위의 데이터를 핀 단위로 전송- 바이트 단위 데이터 전송을 위한 방법 - 병렬 전송 : 8개의 핀을 통해 1번에 1바이트 데이터 전송 - 연결이 복잡해짐 - 핀 수가 제한된 마이크로컨트롤러에서는 핀 부족으로 연결이 불가능할 수 있음 - 직렬 전송 : 1개의 핀으로 8번에 나누어 1바이트 데이터 전송 - UART 통신은 시리얼/직렬 통신의 한 종류임 - UART 통신은 비동기식 통신임 -..

2025.03.07 오늘의 학습 목표1. Timer INT2. delay 함수를 Timer로 변경 처리3. FND timer 처리4. 과제 code review 폴링 vs. 인터럽트 폴링- 코드 나열 순서에 의해 실행 순서 결정- 모든 코드는 동일한 실행 우선 순위를 가짐- 코드 A에 의해 코드 B의 실행이 지연될 수 있음- 정해진 순서에 따라 실행되는 구조로 하드웨어의 지원은 필요하지 않음- 코드 작성 및 이해가 쉬움 인터럽트- 우선 순위에 따라 실행 순서 결정- 인터럽트에 따라 서로 다른 실행 우선 순위를 가짐- (우선 순위가 낮은) 코드 A에 의해 (우선 순위가 높은) 코드 B의 실행이 지연되지 않음- (우선 순위가 높은) 비정상적인 코드를 먼저 실행되는 구조로 하드웨어에 의해 우선 순위에 따른 처..