반응형
엔비디아 Jetson GPIO PWM 예제 구현
Jetson GPIO PWM 활성화
테스트 환경
- Jetson Nano (B01) + JetPack 4.6
Jetson Nano 에서 하드웨어 PWM 를 사용하려면 Pinmux 를 수정해야한다. 다행히도 Jetpack 에서 jetson-io 라는 도구를 제공해주기 때문에 jetson-io 통해서 PWM 을 사용할 수 있는 dtb 를 생성하고 업데이트 할수있다.
우선, Jetson 에서 다음의 명령을 실행한다.
sudo /opt/nvidia/jetson-io/jetson-io.py
메뉴에서 Configure Jetson 40pin Header > Configure header pins manually 를 선택하여, 다음과 같이 pwm0(32), pwm(33) 을 스페이스로 [*] 활성화 시킨다. 이후에 Save + Reboot 을 수행한다.
Jetson GPIO PWM 테스트
코드작성
Python 을 사용하여 아래와 같이 PWM (33 PIN) 을 생성하는 프로그램을 작성한다. (50 HZ, 50% Duty 비)
#!/usr/bin/env python
import Jetson.GPIO as GPIO
import time
PWM_PIN = 33
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(PWM_PIN, GPIO.OUT)
pwm = GPIO.PWM(PWM_PIN, 50)
pwm.start(50.0)
while True:
time.sleep(1)
print("hello, pwm")
pwm.stop()
GPIO.cleanup()
실험환경 준비
Jetson Nano 의 33번과 GND 에 오실로스코프를 연결한다.
실험결과
오실로스코프로 보면 50 HZ (Active + Inactive 20ms), 50% Duty 비율이 정확히 설정되어 동작하는 것을 알수있다.
참고자료
반응형
'NVIDIA Jeston > Jetson BSP' 카테고리의 다른 글
[Jetson] JTOP 시스템 프로파일러 도구 (0) | 2022.07.03 |
---|---|
[Jetson] Xavier NX 방열팬 제어 (0) | 2022.06.30 |
[Jetson] V4L2 C++ 로 카메라 정보 확인하기 (0) | 2022.06.30 |
[Jetson] QtCAM 카메라 어플리케이션 (0) | 2022.05.24 |
[Jetson] AX720 Jetpack SDK 설치하기 (0) | 2022.02.25 |
[Jetson] python 실행 중 Illegal instruction 오류 (0) | 2022.02.19 |
[Jetson] Jetpack 4.6 AGX Xavier 커스텀 커널 적용 (0) | 2022.02.19 |
Aetina AX720 (AGX Xavier) 이미지 백업 (0) | 2022.01.29 |