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

   조회 3197   추천 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 1382/5730
2015-12   1790475   백메가
2014-05   5265502   정은준1
2022-02   4308   죠슈아
2010-08   8267   빌더짱
2016-03   3968   머라카는데
2018-05   4281   거니네
2014-12   4503   고디o0
2017-02   6326   분당김동수
2010-09   6903   뭄바이
2020-09   2859   영산회상
2023-10   2361   화란
2016-03   5915   DoWoo
2010-09   8553   cjsrbc
2018-05   4578   으라차차차
2015-01   3820   유정호샤콘느
2017-02   5037   쿠쿠다스
2015-01   19395   건전지
2016-03   4448   신우섭
2019-07   2448   박문형
2022-03   2424   네이쳐
2013-08   18921   KPD
2016-03   5589   미수맨