정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

코딩문의 드려요~~
호진 | 2015-07-06

아래 조건을 만족하는 코드 좀 알려주세요.....

 

DC모터를 돌릴 건데, 온습도 센서, 즉 DHT11 센서를 이용할건데,

습도가 40%이하면 모터를 순방향으로 돌리고,

습도가 40% 초과면 오터를 역방향으로 돌릴 수 있는 코드가 필요해요.

꼭 부탁드려요.

고맙습니다.

프로필사진

SaBo 2015-07-07 09:07:32

Kocoafab은 특정인에 한해 코드를 만들어주는 곳이 아닙니다. 또한 질문자 님께서 하드웨어를 어떻게

설계하셨는지 아무 정보가 없는 상태에서 코드에 대한 질문을 하시면 답변 드릴 수 없습니다.

 

DHT11 사용법과 DC 모터 사용법 링크 올려드립니다.

DHT11

DC모터

DC모터 드라이버

 

이전 글에도 말씀드렸듯이 아직 모듈이나 센서 등을 제어하기엔 C언어 또는 개발환경에 대한 지식이 부족해보입니다.

 

프로필사진

APPLE 2015-07-07 13:37:13

#include <DHT11.h>       // DHT11 라이브러리 추가
DHT11 dht11(5);          // DHT11 데이터핀을 5번 핀에 연결

void setup()
{
  pinMode(3, OUTPUT);   // 모터 연결한 핀
}

void loop()
{
  if((err=dht11.read(humi, temp))==0)   // 온습도 데이터 받아오기
  {
     if(humi > 40)                      // 습도 40 이상일 때
     {
        digitalWrite(3, HIGH);          // 모터 핀 신호 o (모터 구동)
     }
     else if(humi < 40)                 // 습도 40 이하일 때
     {
        digitalWrite(3, LOW);           // 모터 핀 신호 x
     }
  }
}

 

대충 이런 식으로 하시면 됩니다. 핀 연결은 예를 들어서 말씀드린거니까 사용자의 회로에 맞게 번호를 바꿔주셔야 해요~

모터는 정회전 역회전을 제어하기 위해서는 모터드라이버라는 것이 필요합니다. 모터 드라이버는 질문자님께서 어떤걸 쓰는지

알아야 예시로 라도 답변을 드릴 수 있기 때문에 제가 임의로 작성한 소스는 모터를 키고 끄는 것으로 했습니다.

 

확실한 제어를 위해서는 사보님의 말대로 C언어와 전자적인 기본지식이 어느정도 있어야 합니다.

프로필사진

APPLE 2015-07-07 13:38:58

아 그리고 void setup() 전에

 

int err;

float temp, humi; 

 

써주셔야 합니다. (임시 데이터를 받아놓기 위한 변수 지정)

이전글   |    설치해도 오류가 계속되어요 ㅠㅠ 2015-07-06
다음글   |    GY-521 MPU 6050 모듈 사용하기 글 관련 질문드립니다. ... 2015-07-08