본문 바로가기

분류 전체보기112

[오제이 튜브의 임베디드 강의] 31강. 흉내낸 쓰레드 크리티컬 섹션 문제 해결! 0. 문제점과 해결7 세그먼트에 4개의 숫자를 표현할 수 있는 led가 있는데, 동시에 같은 숫자는 표현이 가능하지만 다른 숫자는 xex) 8888(ㅇ), 123(x)이 문제점을 해결하기 위해 각각의 다른 숫자를 빠르게 껐다키면서 1-2-3-4번째 led가 on-off되는 것을 switching시키면서 우리 눈에는 동시에 다른 숫자들을 볼 수 있도록 구현 그럼, 이 숫자를 표현하기 위해 main함수 내의 while(1) 문을 수행해야하는데 숫자만 표현하고 있으면 다른 일은 할 수 없는 상태가 됨 따라서, while문에서 작업하지 않도록 타이머를 이용하여 100마이크로세컨드마다 1-2-3-4번째 led의 switching을 하여 숫자 표현을 하도록 한 상태 이때, 숫자 표현을 할 때를 제외한 다른 시간에서.. 2025. 2. 12.
[오제이 튜브의 임베디드 강의] 30강. 쓰레드 흉내내기! 0. 오늘의 목표 : 7 세그먼트에 온도 나타내기  1. 기존의 second 프로젝트 복사하여 third 프로젝트 생성 C:\Users\mj492\STM32CubeIDE\third 경로로 하여 STM32 실행첫번째 사진처럼 기존의 second 프로젝트 삭제 (단, 체크박스는 절대 XX)2/3번째 사진처럼 third-second 폴더 선택하여 불러오기 프로젝트 이름은 3rd로 바꾸면 알아서 3rd.ioc로도 바뀜 Run-Debug Configuration 설정 2. 문제점: 4개의 led가 동시에 불이 들어오는 게 아닌 shift연산으로 왔다갔다하면서 켜짐   => 타이머를 이용하자  3. 타이머 인터럽트 생성현재 main()내 while(1)이 돌고 있을 때, systick, timer 인터럽트가 돌고 .. 2025. 2. 12.
[오제이 튜브의 임베디드 강의] 29강. 난방실 만들기(온도에 따른 드라이기 제어) 0. 아래 사진들과 같이 소켓과 릴레이 연결소켓을 먼저 전선과 연결하고 계속해서 쇼트테스트릴레이도 같은 전선을 릴레이의 COM과 NO에 연결하고 계속해서 쇼트테스트STM PCB에서 5V/3V/GND에 핀이 배치되어지지않아서 직접 납땜 작업 등등등... 계속해서 선들의 전기적 신호 연결이 제대로 되었는지 모두 확인하며 사전준비 완료   지난 시간에 릴레이 작업하여 전기적 신호를 주면 딸깍- 소리가 나며 NC-COM이 끊어지고 COM-ON이 연결됨을 확인 1. GPIO 제어 PB5를 GPIO_Output으로 설정 후 아래 사진과 같이 옵션 설정   2. 온도센서 회로도 구성     모듈의 vcc와 빵판의 +모듈의 gnd와 빵판의 -모듈의 dat와 stm보드의 PA3 pin과 연결 (PA2는 오타)추가적으로,.. 2025. 2. 11.
데이터베이스 총정리 [유튜브 생활코딩 DATABASE2 MySQL 강의] 4강. MySQL의 구조 : sql에서는 서로 연관된 표들을 grouping하여 서로 연관되어있지 않는 표들과 분리하는데 사용하는 파일의 폴더같은 역할이 데이터베이스  ⇒ 표들을 grouping한 게 데이터베이스? ⇒  mysql에서는 '데이터베이스'와 함께 '스키마' 표현 사용*스키마 : 표들을 서로 grouping할 때 사용하는 일종의 폴더 ⇒  스키마들이 많아지면 이것들을 관리하는 데이터베이스 서버가 존재  ⇒  표 - 데이터베이스(스키마) - 데이터베이스 서버  5강. MySQL 서버접속 : 데이터베이스는 자체적인 보안체계를 가지고 있기에 데이터를 안전하게 보관 가능 : 권한 기능도 존재하기에 각 사용자마다 테이블과 스키마에 대해 읽기/쓰기/삭제 기능 권한 부여 가능   C:\Program Fil.. 2025. 2. 7.
[오제이 튜브의 임베디드 강의] 28강. 드라이기를 내 마음대로 껐다, 켰다 해보자 1. 목표7세그먼트를 통해 온도표현온도 센서를 이용해 온도 정보 get온도 정보를 통해 드라이기로 온도 조절 ex) 원하는 온도가 될 때까지 드라이기 켰다가 그 온도가 되면 드라이기를 off 하며 계속해서 on-off하며 온도 조절 2. 릴레이 모듈 ( ≒ 스위치): GPIO 신호를 릴레이에 주면 릴레이에 연결된 선들이 붙게 됨 => 전압을 가하면 붙고, 가하지 않으면 떨어지게 하는 부품2-1. 릴레이옵션 설정High로 두면 low -> high로 올라가면 동작 이때, 데이터 시트를 보면 Low Level Trigger로 되어있음  High로 평상시에 있다가 low로 떨어지면 동작  즉, Low로 스위치 옮겨야함 * Low Level Trigger : 입력 신호가 LOW(0V 또는 GND)에 도달하면 릴.. 2025. 2. 5.
[오제이 튜브의 임베디드 강의] 27강. 온도센서 검증하기! 1. 지난 시간에 했던 Init 소스 다시 분석해보기온도센서 제어 : 처음 초기화 하는 부분인 Ds18b20_Init(); 함수 + 실질적인 온도 가져오는 부분인  Ds18b20_ManualConvert();  함수로 구성 Ds18b20_Init();  함수 : 1-Wire 통신 자체에 대한 부분 + 온도 센서와 통신하는 부분1-1. Ds18b20_Init(); 함수의 1-Wire 통신 자체에 대한 부분 bool Ds18b20_Init(void) : 온도 센서 초기화OneWire_Init(&OneWire,_DS18B20_GPIO ,_DS18B20_PIN); // 타이머 시작, GPIO 세팅OneWire_First(&OneWire); // 0xF0 명령어를 통해 장치 하나 찾기OneWire_GetFullR.. 2025. 2. 5.