전체 글 125

STM32으로 Fan을 제어해보자 2)

이전 포스팅과 이어지니 확인바란다. Fan을 외부전압 5V에 연결하고, fan을 제어한다.내 보드가 3.3V여서 pwm을 제어할 때  5V Fan을 제어하기 어렵지 않을까?라고 생각했지만 3.3V도 High인식하여 문제가 없었다. 이전 포스팅에서의 코드를 그대로 사용하여 fan을 제어해보자 https://youtube.com/shorts/1zVyQvP8EvU?feature=share 점점 속도가 빨라지는 것을 볼수 있다. 그리고 최고 속도에 도달하면 다시 0부터 시작하여 속도가 낮아졌다가 다시 시작하는 것을 알 수 있다. 나는 value를 200 즉, 듀티사이클을 20%로 구동시켜보았는데  오실로스코프에서는 다음과 같은 결과를 얻었다.  PWM은 우리가 정해준 on off만 잘 동작하는 지 확인하면 된다..

STM32 2024.11.12

STM32으로 Fan을 제어해보자 1)

먼저 내가 사용할 Fan은 아래와 같다.https://www.devicemart.co.kr/goods/view?no=12494456&srsltid=AfmBOoo0L6lNkEaUiHM2kXaG34qWmAfQiTO9e2QsaqqR-gdEINd9-38V Jetson Nano PWM 제어 FAN 4020 5V [SZH-JET001]젯슨 나노 방열판에 사용 가능한 방열 팬입니다. PWM 제어를 통해 팬을 가동합니다.www.devicemart.co.kr 외부 전압을 이용할 예정이다.일단 보드의 데이터 시트를 보고 Timer를 선택하자 ( PWM제어를 할 예정임) 살펴보니 38번핀에 PA15번인 TIM2 채널 1이 있다. 이것을 이용해보겠다. ( TIM3이 아니고 2이다.) 이것을 설정해주고, 우리는 외부 크리스탈을..

STM32 2024.11.12

i2c로 받은 데이터 server에 post - Jetson Nano requests a value from Arduino via i2c, then uploads it to a server

먼저 바뀐 보드 듀에에 i2c 연결을 하고 연결이 되었는지 체크하자. 일단 하나만 연결하겠다.sudo i2cdetect -r -y 1  전체 코드는 나의 깃헙을 참고하라 (코드때문에 길이가 너무 길다..)https://github.com/PCY00/KSensor/tree/main/24_11_8/HTTP_I2C/basic KSensor/24_11_8/HTTP_I2C/basic at main · PCY00/KSensorContribute to PCY00/KSensor development by creating an account on GitHub.github.com 깃헙 안에 있는 코드를 수행하면 아래 서버에 다음과 같이 값이 올라가는 것을 확인할 수 있다.  * 원래 i2c 함수에서 return 방식을 b..

i2c로 받은 데이터 server에 post - send data with Jetson nano

i2c통신으로 젯슨나노와 서로 값을 주고 받는 것은 해보았다. 이제 제목대로 서버에 값을 올릴려면 여러 단계를 거쳐야한다.그 단계를 천천히 밟아 나가보겠다. 첫번째 단계인 Jetson Nano에서 값을 올리는 것이다.일단 http.h와 http.cpp를 만들어 준다. 잠시 먼저 라이브러리를 설치해주자 json과 curl을 사용하기 때문에 둘다 설치해준다.sudo apt update sudo apt install libcurl4-openssl-dev libjsoncpp-dev *  주의사항만약 json.h를 찾지 못할 경우 json.h의 위치를 알아야한다.sudo apt install mlocatelocate json.h 확인해보니 include 안에 jsoncpp안에 json안에 json.h가 있다. 따..

7세그먼트 코드 수정

7새그먼트 코드에서 이전 포스팅 영상을 보면 숫자 부분에 전부 불이 들어오는 걸 볼수 있다.만약 숫자가 카운트 되는 곳만 LED가 들어오길 원할 수 있고, 나도 시험삼아 다시 코드를 짜보겠다. 먼저 저번 코드를 보자 if(HAL_GPIO_ReadPin(GPIOB, PB_9_BUTTON_Pin) == HIGH){ display_number(Index, 50); continue; }else { display_number(Index, 50); ++Index; } // 함수부분 void display_number(int number, int repetitions) { int n1, n2, n3, n4; // 0~9 uint8_t num..

STM32 2024.11.10

버튼 누르면 1씩 올라가는 7세그먼트

저번 포스팅이 너무 길어져 2개로 나누었다. 일단 다음과 같이 세팅을 해주자     위와 같이 설정을 하고 코드를 입력하여 진행한다. /* USER CODE BEGIN Header *//** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * Copyright (c) 2024 STMicroelectronics. * Al..

STM32 2024.11.10

HAL_Driver로 7세그먼트와 Button 다루기

제목을 HAL Driver로 바꾸었다.STM32보다는 현재 내가 하고 있는 포스팅이 HAL Driver를 사용하는 거기 때문이다.HAL Driver로 어떻게 MCU가 다루어 지는지 나중에 자세히 포스팅해보겠다. Button & LED 먼저 택트 버튼과 LED를 준비한다. 누르면 전부 연결되는거 같다.   (테스터기로 검사해보고 진행하자) 저번에 LED 제어했던거 중에서 PB7만 남겨두고 전부 제거했다. 그리고 간단하게 한번 버튼을 사용하여 제어해보았다. https://youtu.be/XZDE1D-rU58 간단한 회로 이다. 이제 세그먼트를 제어해보겠다.먼저 세그먼트에 대해 알아야 한다. 내가 사용할 세크먼트에 들어가는 칩은 TM74HC595이다. 구글에 TM74HC595 데이터 시트 쳐서 데이터 시트 다..

STM32 2024.11.09

GPIO를 사용하여 LED 제어

설치된 STM32 Cube IDE에서 로그인을 하지 않아서 패키지를 다운하지 못했었다. 여기에 로그인을 하고 다시 설정하니 패키지까지 다운되는 것을 확인할 수 있었다. 자자 이제 개발하면서 부딪혀 보겠다. 먼저 우리는 디버깅을 하면서 분석해볼 예정이므로 칩설정에서 디버깅을 켜주자.  SYS에서 Debug를 클릭하여 Serial Wire로 변경한다.그럼 칩에 다음과 같이 변한다. 다음으로 GPIO를 설정해줄건데 칩쪽에 가서 PB7,8,9를 전부 GPIO output으로 변경해준다.그리고 옆에 GPIO를 클릭하여 다음과 같이 설정해준다.  여기서 아래 설정 값들에 대해 궁금한 점이 있을 것이다.이름설명GPIO output levelGPIO 핀의 초기 출력 상태를 설정Low (0V): 초기 상태가 0V, 즉 ..

STM32 2024.11.08

제품 변경 (아두이노 Due)

제품을 변경하게 된 이유는 내가 쓰고 있는 아두이노는 메가인데, 메가 2560은 인터럽트 핀이 총 6개이다.하지만 내가 하고 있는 프로젝트에서 통신 방법을 시리얼통신으로 하고 있는데 이것을 i2c통신으로 바꾸게 되면서 인터럽트 핀를 쓰고 있던 자리가 뺏겼다.  메가2560Due인터럽트 핀 번호2, 3, 18, 19, 20, 21모든 디지털 핀 따라서 모든 디지털 핀이 인터럽트를 제공하는 Due로 바꾸게 되었다. Due에 대한 간단한 IDE 설정을 보자 툴에서 보드 매니저를 클릭한다.  이후 위에 due를 입력하여 보드의 패키지를 다운받는다.2개의 포트가 있는데 아래와 같은 이유로 우리는 programming port를 사용할 예정이다. 이렇게 해서 듀에를 업로드 해서 이용하면 된다. 만약 본인이 사용하는..

문제 풀이 2)

3, 4, 5, 6에 대한 문제 풀이이다. 3번 4번 5번 6번 4,5번 시뮬레이터가 -값으로 나타나서 계산결과와 정답은 양수로 나온다.흠,, 이 현상에 대해서는 나중에 알게되면 포스팅해보겠다. - 수정 11-8시뮬레이터는 정상이다.  지식인에 질문해서 좋은 답변을 받았으니 이해되길 바란다.https://kin.naver.com/qna/detail.naver?d1id=11&dirId=1118&docId=477465906&answerNo=2# 기초전자회로 질문전자회로를 복습하는 와중 제가 이해하지 못한 부분이 있어서 가져왔습니다. 해당 문제에서 답을 구해서 정답체크까지 확인을 하였습니다. 분명 양수값인데, 제가 시뮬레이션을 돌리는 프로...kin.naver.com

기초전자회로 2024.11.06