라즈베리파이 관련해서 질문이 있습니다.

   조회 3088   추천 0    

우선은 라즈베리파이를 활용해 공기청정기를 만드는 프로젝트를 구상하고 있습니다.

PC용 PWM 팬을 활용해 측정된 값에 따라 기준치보다 높으면 최대 성능으로 돌아가게끔 하고, 

기준치보다 낮으면 최저속도로 동작해서 소음 면에서 이득을 보려고 합니다.

우선은 PWM 기능을 확인해보고자 나름대로 찾아보고 실험을 했는데요,

아두이노의 경우 PC용 PWM(팬속도 제어 기능) 팬을 제어할 수 있는 방법이 있어서 실험해봤는데 잘 작동했습니다.

비슷하게 라즈베리파이에서도 구현할 수 있을 것 같은데, 소스 코드를 어떻게 고쳐야 할 지를 모르겠네요.

라즈베리파이에서 작성한 C 코드와 참고한 링크 일단 첨부합니다. 일단 컴파일 단계에서는 

오류는 발생하지 않는데, 이제 실행하면 작동하지 않습니다.


라즈베리파이 GPIO 사용하기 https://blog.naver.com/PostView.nhn?blogId=alsrb968&logNo=221030697770&proxyReferer=https%3A%2F%2Fwww.google.com%2F
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
#include <wiringPi.h>
 
 
#define fanSpeed  0 
#define fanPWM   1  
#define fanSensor 5  
#define Puls 3     
 
int Speed = 50
 
int main(void){
 
  wiringPiSetup();
  pinMode(fanSensor, INPUT);
  pinMode(fanSpeed, INPUT);
  digitalWrite(fanSensor, HIGH);
 
while(1){
 digitalWrite(3,Speed);
}
  return 0;
}
 
cs


감사합니다. 

짧은글 일수록 신중하게.
하드웨어는 잘 연결하셨다는 가정하에 while 루틴안에 pwm파형을 만드는 온오프가 없으니 안되는게 맞습니다.
라즈베리파이 내부 함수 사용하세요.
http://www.rasplay.org/?p=7495
     
안개속영원 2019-04
참고하고 도전해보겠습니다. 감사합니다!
TLaJ3KtYGr 2019-04
digital write는 1 혹은 0을 출력하는 함수 입니다. speed를 넣어봣자 데이터가 제대로 들어가지 않아서 발생하는 문제입니다.
pwm 함수를 이용하세요


QnA
제목Page 4786/5714
2014-05   5186939   정은준1
2015-12   1720004   백메가
2020-12   3113   태연팬
2021-02   3113   덴데
2021-09   3113   모자란트
2018-11   3113   길가던뉴비
2023-11   3112   H425
2017-05   3112   신은왜
2018-11   3112   캔위드
2015-07   3112   윈도우10
2021-04   3112   VSPress
2019-11   3112   프라다다
2020-08   3112   레몬트리7
2020-04   3112   백룡
2021-02   3112   VSPress
2021-03   3112   파피푸페
2022-12   3111   lenux8
2018-08   3111   뽀칠이
2021-06   3111   힙합느낌
2018-11   3111   유호준
2021-02   3111   사랑하라
2018-01   3111   프레지던트