질문게시판 > 마스터님께(창문소스코드 의문점)

인기검색어 > 아두이노 센서 ATMEGA128

최신글 질문게시판 동영상강좌 가입하기

▼ BASIC4MCU 후원업체 신제품 정보 ▼

▲ BASIC4MCU 후원업체 신제품 정보 ▲

BASIC4MCU > 질문게시판

마스터님께(창문소스코드 의문점)

페이지 정보

작성자 wait 작성일19-05-23 16:59 조회4,806회 댓글0건

본문

#include <Stepper.h>
const int TMP36_pin = A1; //온도
const int stepsPerRevolution = 200; //회전수  200/한바퀴
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
int ENA=2;
int ENB=5;
int ondo1 = 30;
int ondo2 = 28;
int gas1 = 200;
int gas2 = 150;
boolean window = false;   //false -> 닫혀있는상태
                          //true -> 열려있는상태
const int gasPin = A0; // 가스
void setup()
{
  pinMode(ENA,OUTPUT); //
  pinMode(ENB,OUTPUT);//
  digitalWrite(ENA,HIGH);//
  digitalWrite(ENB,HIGH);//
  myStepper.setSpeed(10);
}
 void loop()                    
{
 int sensorValue = analogRead(TMP36_pin); 
 float mVoltage = sensorValue * 5000.0/1024.0;
 float temperatureC = (mVoltage - 500) / 10.0;
 int value = digitalRead(2);
 Serial.print("Now : ");
 Serial.print(temperatureC);
 Serial.println(" C");
 Serial.println();
 Serial.print("current gas : ");
 Serial.println(analogRead(gasPin));
 Serial.println();
 Serial.print("Rain : ");
 Serial.println(value);
 Serial.print("Window : ");
 if(window==false) Serial.println("Close");
 else if(window==true) Serial.println("Open");
 Serial.println("=============================================== ");
 Serial.println();
 
 if(window == false && value==1) //창문이 닫혀있고 비가 안오는 상태
 {
    if(temperatureC<=ondo2 && analogRead(gasPin)>=gas1)
    {
      sensor_open();
    }
    else if(temperatureC>=ondo1 && analogRead(gasPin)>=gas1)
    {
      sensor_open();
    }
    else if(temperatureC<=ondo2 && analogRead(gasPin)<=gas2)
    {
      // 동작안함
    }
    else if(temperatureC>=ondo1 && analogRead(gasPin)<=gas2)
    {
      sensor_open();
    }
 }
 
 else if(window == false && value==0) //창문이 닫혀있고 비가 오는 상태
 {
    if(temperatureC<=ondo2 && analogRead(gasPin)>=gas1)
    {
      sensor_open();
    }
    else if(temperatureC>=ondo1 && analogRead(gasPin)>=gas1)
    {
      sensor_open();
    }
    else if(temperatureC<=ondo2 && analogRead(gasPin)<=gas2)
    {
      // 동작안함
    }
    else if(temperatureC>=ondo1 && analogRead(gasPin)<=gas2)
    {
      //동작안함
    }
    else
    {
      //동작안함
    }
 }
 
 else if(window == true && value==1) //창문이열려있고 비가 안오는 상태
 {
    if(temperatureC<=ondo2 && analogRead(gasPin)>=gas1)
    {
      //동작안함
    }
    else if(temperatureC>=ondo1 && analogRead(gasPin)>=gas1)
    {
      //동작안함
    }
    else if(temperatureC<=ondo2 && analogRead(gasPin)<=gas2)
    {
      sensor_close();
    }
    else if(temperatureC>=ondo1 && analogRead(gasPin)<=gas2)
    {
      //동작안함
    }
 }
 
 else if(window == true && value==0) //창문이열려있고 비가 오는 상태
 {
    if(temperatureC<=ondo2 && analogRead(gasPin)>=gas1)
    {
      //동작안함
    }
    else if(temperatureC>=ondo1 && analogRead(gasPin)>=gas1)
    {
      //동작안함
    }
    else if(temperatureC<=ondo2 && analogRead(gasPin)<=gas2)
    {
      sensor_close();
    }
    else if(temperatureC>=ondo1 && analogRead(gasPin)<=gas2)
    {
      sensor_close();
    }
    else
    {
      sensor_close();
    }
 }
  delay(5000);
}
void sensor_open(){
    Serial.println("open");
    myStepper.step(stepsPerRevolution);
    Serial.println("stop");
    window = true;
    Serial.print("Window Status : ");
    Serial.println(window);
    Serial.println();
 }
 void sensor_close()
 {
    Serial.println("Close");
    myStepper.step(-stepsPerRevolution);
    window = false;
    Serial.print("Window Status : ");
    Serial.println(window);
    Serial.println();
 }

 

이 코드입니다.

그런데 온도가 자꾸 35~40도 사이로 뜨는 것도 있으며 , 넘어가도 코드가 open으로 작동을 하지 않습니다.

아래 링크를 작동해보려하는데

int ENA=8;
int ENB=5;
int enablePin = 11;
int in1Pin = 10;
int in2Pin = 9;

여기서 enblePin는 무엇인지 잘 모르겠고 in1Pin in2Pin은 이미 89에 연결되있는 상태아닌가요?

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

댓글 : 0

조회수 : 4,806

등록된 댓글이 없습니다.

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[25] master  17-10-29
질문 아두이노 while문 탈출 질문 yhj2644 새글 03:39
답변 답변 : 아두이노 while문 탈출 질문 master 새글 14:58
질문 ESP32-C3 리튬폴리머 ADC 전압 체크 관련 문의… 댓글[3] cansad 새글 22-06-30
질문 ESP32-C3 리튬폴리머 ADC 전압 체크 관련 문의 댓글[3] cansad 새글 22-06-30
질문 빵판없이 디스플레이 넣을 수 있을까요? 댓글[2] 첨부파일오소로롯 새글 22-06-29
질문 라즈베리파이4 신형 선택문제 댓글[1] maximum  22-06-26
질문 음전압 ADC 댓글[2] 412904  22-06-26
질문 아두이노 센서값 출력 질문입니다! 댓글[1] 아궁2  22-06-24
질문 ATmega128, ATmega28 RS232통신 첨부파일Moon4201  22-06-24
답변 답변 : ATmega128, ATmega28 RS232… 댓글[1] master  22-06-25
질문 서보모터, 온습도센서 코드 질문 댓글[2] 첨부파일kshdlfaldfh  22-06-22
답변 답변 : 서보모터, 온습도센서 코드 질문 댓글[15] master  22-06-22
질문 steppermulti5 질문 응애  22-06-21
답변 답변 : steppermulti5 질문 댓글[1] master  22-06-22
질문 atmega128 avr usart 질문 snoflak  22-06-21
답변 답변 : atmega128 avr usart 질문 댓글[5] master  22-06-21
질문 사용자 정의 함수 변환 하는 방법 댓글[2] 첨부파일da0800  22-06-21
질문 atmega128 댓글[1] 양의노래  22-06-20
질문 아두이노 동시동작 재질문 댓글[9] 첨부파일죠르디  22-06-20
질문 초음파센서로 dc모터 제어하기 댓글[1] 첨부파일난쟁2  22-06-20
질문 아두이노 동시동작 댓글[7] 죠르디  22-06-19
질문 ATMEGA128 UART,FND 연동 질문 JMOD  22-06-19
답변 답변 : ATMEGA128 UART,FND 연동 질문 댓글[1] master  22-06-20
질문 atmeg128 질문이요 댓글[1] 첨부파일공대생er  22-06-18
질문 atmega128 초음파 센서로 신호등 시간초 늘리기 서동씨  22-06-18
답변 답변 : atmega128 초음파 센서로 신호등 시간초… 댓글[1] master  22-06-18
질문 atmega128 댓글[2] 망경이  22-06-18
질문 앱인벤터 이용해서 수동 자동 할라고하는데 ..잘안됩니다… 댓글[1] 따랑해영  22-06-18
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전