1. 오늘의 목표
: 아래 사진과 같이 회로도 구성하기
2. 회로도 구성
- 전원을 공급하기 위해 또 다른 빨강 점퍼선으로 50a에 연결
- 저항은 4.7k(=4700)이므로 노랑-보라-빨강 순으로 되어있는 저항 연결해야함
- 저항은 50b와 45b에 연결
- 흰색 수컷-암컷 점퍼선을 STM PCB의 PB0와 45a에 연결
- 노랑 수컷-수컷 점퍼선 이용하여 45c와 20d에 연결
- 파랑 수컷-수컷 점퍼선 이용하여 18d와 같은 세로라인의 그라운드(-)에 연결
2-1. 코딩
- PB0의 GPIO Input으로 설정 후 아래 사진과 같이 설정
- HAL_Delay에 breakpoint 걸고 디버깅 하면 button_state=1 이었다가 스위치 누르고 다음으로 넘어가면 0이 됨
3. 버튼을 누르면 LED켜지도록 회로 구성하기
- 수컷-수컷 빨강 점퍼선으로 전원 공급받기 위해 +라인 59번과 f60에 연결
- LED의 (+)를 g60과 g57에 연결
- 220v 저항을 h57과 h50에 연결
- 주황 수컷-암컷 점퍼선 이용하여 저항과 PB6 연결(i50)
- 이때, GPIO가 Low가 되어야 3.3v에서 PB6으로 전류가 흘러서 LED가 켜지게 됨
3-1. 코딩
- 버튼을 누르면 HAL_GPIO_ReadPin 함수의 반환값이 0이 되기 때문에 if문에서 !을 붙여준다
- 버튼을 누르면 if문안에 들어오게 되고 이때 GPIO가 Low여야 전원이 켜지기 때문에 WritePin으로 0을 써준다
- else문을 통해 High로 바꾸어서 만약 버튼을 누르지 않으면 High가 출력되어 최종적으로 led가 켜지지 않도록 한다
'임베디드' 카테고리의 다른 글
[오제이 튜브의 임베디드 강의] 20강. SPI통신 제대로 배워보자! (0) | 2025.01.25 |
---|---|
[오제이 튜브의 임베디드 강의] 19강. FND제어(실무 노하우) (1) | 2025.01.24 |
[오제이 튜브의 임베디드 강의] 17강. 내 힘으로 LED회로 만들어서 제어하기! (0) | 2025.01.24 |
[오제이 튜브의 임베디드 강의] 16강. printf()도 쉽지 않다구!! (1) | 2025.01.23 |
[오제이 튜브의 임베디드 강의] 13강. 멀티미터기 사용방법 (0) | 2025.01.22 |