#라즈베리파이 # c언어
-
초음파센서 제어라즈베리파이 2024. 1. 12. 13:06
초음파 센서는 주파수를 보냈을때의 시간과 주파수를 보낸후 반사되어 돌아오는 시간의 차이를 측정해서 대략적인 거리를 알 수 있게하는 센서이다. Trig핀에 10u/s의 트리거 신호를 주면 초음파를 발생시켜서 물체에 쏘고, Echo 핀에서 초음파가 돌아오는 시점의 시간을 측정하여 거리를 재는 원리이다. 초음파센서의 간단하게 실행시켜보았다. -digitalRead(echopin) == LOW가 참인 동안 start 변수에 현재 시간을 기록합니다. 이는 초음파 펄스가 에코 핀에 도달하기 직전의 시간이다. -digitalRead(echopin) == HIGH가 참인 동안 stop 변수에 현재 시간을 기록합니다. 이는 초음파 펄스가 에코 핀에 도달하기 시간이다. -이 두 시간의 차이는 초음파 펄스가 목표물에 부딪치..
-
서보모터(Servo motor) 제어라즈베리파이 2024. 1. 10. 13:58
먼저 모터의 종류를 알아보자. 모터의원리 • DC 모터 - 가장흔한모터, 입력전류방향으로(+, -) 회전방향제어 - 고회전에유리, RC카, 쿼드콥터등 광범위하게 사용 - 회전수와 방향제어를 위해서는 드라이버모듈이 필요 • 서보모터(Servo motor) - 보통0~180 사이를 움직이며위치를 정확히제어가능 -RC카의방향타, 로봇관절등 회전각 제어에적합 - PWM 신호로 간단히 위치제어가능 • 스텝모터(Stepper motor) - 회전방향 뿐 아니라 회전각을 정밀히제어할수있음 - DC 모터와 서보모터의 장점을 합친 모터 - 상대적으로 고회전이 요하지 않고 정밀한 제어가 필요한 경우 - 3D 프린터의 핵심모터 003- 제어가 복잡하므로 스텝모터드라이버모듈을이용해서 제어 그중에 내가 사용할 서보모터(Serv..
-
온습도 센서( DHT11) 제어하기라즈베리파이 2024. 1. 3. 23:15
이번에 온습도 센서 제어를 위해 사용할 부품은 DHT11이다. DHT11은 VCC(3.3V), GND, GPIO 핀을 각각 연결해서 일정한 계산을 통해 온습도의 값을 얻을 수 있는 센서이다. DHT11은 생김새랑 성능은 밑을 참고하자. DHT11을 사용하기위해 먼저 WiringPi를 포함한 나머지 헤더파일들을 입력해준다. 그리고 data[5]라는 데이터 저장용 변수 배열을 선언해준다. Uint8_t 의 경우 1byte를 가지며, 255의 숫자를 max값으로 쓰기위해 laststate같은 변수를 선언해준다. 그리고 DHT11에서 오는 신호를 검출 및 데이터 비트를 추출한다. 동작을 구현해보면 화면에 Humidity(습도) Temperature(온도)가 소수점 한자리 까지 2초마다 출력값을 낸다. 그리고 정..
-
7-segment, pwm 제어라즈베리파이 2023. 12. 20. 20:53
PWM은 Pulse Width Modulation의 약자로, 디지털 신호를 상용하여 아날로그 신호를 모사하는 방법이다. PWM은 주로 디지털 출력핀을 사용하여 다양한 작업에 활용된다. 라즈베리파이에서는 GIPO핀을 통해 PWM 신호를 생성 할 수 있다. 그리고 라즈베리 파이의 PWM은 주로 LED의 밝기 제어, 서보 모터의 각도 제어, 소리 발생기의 음량 제어등 다양한 분야에서 사용된다. PWM을 사용하면 아날로그 신호를 모사하느것이 가능해져, 다양한 장치와의 연동이 용이해진다. 원래는 라이브러리를 설치해야하지만 Gpio핀은 일반적으로 소프트웨어 제어를 진행할 때 pwm모드로 설정이 가능하다. (단, 하드웨어적으로 진행할 때는 PWM핀은 물리핀인 12번, 32번(pwm0), 33번(pwm1)만 진행가능하..