본문 바로가기

분류 전체보기105

디컴파일러(역컴파일러) 이번 포스팅에서는 디컴파일러에 대해 알아보겠습니다. 컴파일러가 소스코드를 바이너리 결과물로 만드는 것이라면 디컴파일러는 바이너리 결과물로부터 소스코드를 복원하는 것을 말합니다. 즉 실행파일로부터 개발 소스코드를 추출해 낼 수 있습니다. 비록 개발자가 작성한 원본과 완벽하게 같은 것은 아니지만 역컴파일된 소스코드로 다시 컴파일을 할 수 있을 정도는 되기 때문에 EXE/DLL 상태의 어셈블리 파일을 분석하는데 매우 큰 도움을 받을 수 있습니다. 닷넷 디컴파일러로 가장 유명한 제품으로는 ".NET Reflector"가 있는데 유료로 전환되어 개인적으로 연구 및 학습을 위해 사용하기엔 부담이 아닐 수 없습니다. 여기서는 Telerik 사에서 개발한 무료 제품 "JustDecompile"을 설치하여 역컴파일 방법.. 2021. 1. 31.
PIR 센서(HC-SR501) 적외선 인체감지 센서 이번 포스팅에서는 적외선 인체감지 센서(PIR, Passive Infrated Sensor)를 라즈베리파이에 연결하여 사람의 움직임을 감지하는 기능을 구현해 보겠습니다. 사용할 적외선 인체감지 센서는 HC-SR501 센서로 엘레** 등에서 이천 원 정도에 구매하실 수 있습니다. 데이터 시트 - working voltage range: DC 4.5 - 20V - Quiescent Current : 50uA - high output level 3.3V / Low 0V - Trigger L trigger can not be repeated / H repeated trigger - circuit board dimensions: 32*24 mm - maxium 110º angle sensor - 7m maximu.. 2021. 1. 5.
PWM으로 서보모터 제어 이번 포스팅에서는 GPIO 모듈의 PWM을 이용한 서보모터 제어에 대해 정리해 보겠습니다. 이번에 사용할 서보모터는 아래와 같습니다. 서보모터의 연결선이 주황색, 빨간색, 갈색으로 되어 있습니다. 주황색은 GPIO 18번에 연결하고 빨간색은 VCC(5V), 갈색은 GND에 연결하도록 하겠습니다. 아래 이미지처럼 각각의 선을 보드 확장 쉘드에 연결해 주었습니다. 이제 파이썬으로 서보모터 제어를 위한 소스코드를 작성해 보겠습니다. 각도 제어를 위해 기준이 되는 주파수는 50hz의 신호로 Duty Cycle을 아래와 같이 설정해 주겠습니다. 주파수(hz) Duty Cycle 각도 변이 50 2.5 0 7.5 90 12.5 180 import RPi.GPIO as GPIO import time GPIO.setw.. 2020. 12. 26.
PWM LED 제어하기 이번 포스팅에서는 라즈베리파이에서 PWM을 통해 LED를 제어하는 방법에 대해 알아보겠습니다. PWM(Pulse Width Modulation)은 주기적으로 반복되는 ON/OFF 신호를 통해서 모터나 팬의 속도, LED의 밝기를 소프트웨어적으로 제어할 수 있습니다. 반복되는 Pulse 신호의 주기(0~3.3V 파형)에서 ON 신호가 지속되는 시간의 비율을 Duty Cycle이라고 하며 Duty Cycle이 클수록 속도나 밝기가 커집니다. PWM을 사용하기 위해서는 RPi.GPIO 모듈이 제공하는 PWM 클래스를 이용하여 PWM 객체를 먼저 생성해야 합니다. pwm = GPIO.PWM(channel, frequency) pwm 객체를 생성한 후에는 아래와 같이 pwm을 시작하여 사용할 준비를 해 줍니다. .. 2020. 12. 25.