에듀이노-코딩교육 전문 쇼핑몰 에듀이노-코딩교육 전문 쇼핑몰

학교, 공공기관이라면 후불결제하세요!

 
현재 위치
  1. 게시판
  2. 묻고답하기

묻고답하기

기술문의 게시판입니다.

게시판 상세
제목 두 코드 합치는 방법이 뭔가요?
작성자 (ip:)
  • 작성일 2020-05-21
  • 추천 추천하기
  • 조회수 53

[ Original Message ]

수위센서 코드:



int water_pin = A0;      //수분수위센서 A0에 연결
int LED1 = 2;            // LED를 각각 디지털핀 2,3,4에 연결
int LED2 = 3;
int LED3 = 4;
 
void setup() {
  Serial.begin(9600);   // Serial monitor 구동 전원입력
  pinMode( A0,   INPUT); // A0핀을 입력으로 설정
  pinMode( 2,   OUTPUT); // 디지털핀 2,3,4를 출력으로 설정
  pinMode( 3,   OUTPUT);
  pinMode( 4,   OUTPUT);
}
void loop(){
  Serial.println(analogRead(A0));  // Serial monitor로 A0값을 보여줌
  delay(100);                       // 입력값을 보여주는데 0.1초 설정
  if(analogRead(A0) < 400){         // A0가 400이하면 모든 LED OFF
    digitalWrite( 2, LOW);
    digitalWrite( 3, LOW);
    digitalWrite( 4, LOW);
    delay(100);
  }
   else if( 400 < analogRead(A0) && analogRead(A0) < 500 ){
    digitalWrite( 2, HIGH);
    digitalWrite( 3, LOW);
    digitalWrite( 4, LOW);           // 400<A0<500이면 빨간 LED ON
    delay(100);
  }
   else if( 500 < analogRead(A0) && analogRead(A0) < 600){
    digitalWrite( 2, HIGH);         
    digitalWrite( 3, HIGH);
    digitalWrite( 4, LOW);            // 500<A0<600이면 빨,노 LED ON
    delay(100);
  }
   else {
    digitalWrite( 2, HIGH);
    digitalWrite( 3, HIGH);
    digitalWrite( 4, HIGH);
    delay(100);                        // 이외 모든 경우 빨,노,파 LED ON
  }
}



---------------------------------------------------------------------------------



온도센서 코드:



#include <OneWire.h>
 
int DS18S20_Pin = 2;                             //온도센서를 2번 핀으로 연결
int red = 11;                                    //빨간색led를 11번 핀으로 연결
int blue = 10;                                   //파란색led를 10번 핀으로 연결
 
OneWire ds(DS18S20_Pin);                         //2번 핀과 연결되 OneWire 객체 생성
 
void setup(){
  Serial.begin(9600);                           // 시리얼 통신, 속도는 9600
  pinMode(red, OUTPUT);                        
  pinMode(blue, OUTPUT);
}
 
void loop(){
  float temperature = getTemp();                 //온도 측정 후 변수에 저장
  Serial.println(temperature);
  if(temperature < 90){                          //온도가 90도 이하일 때, 파란색 LED 점등
    digitalWrite(red, LOW);                     
    digitalWrite(blue, HIGH);
    delay(100);
  }
  else{                                          //온도가 90도 이상일 때, 빨간색 LED 점등
    digitalWrite(red, HIGH);
    digitalWrite(blue, LOW);
    delay(100);
  }
}
 
float getTemp(){                                   //온도 측정 후 반환하는 함수
 byte data[12];
 byte addr[8];
 if ( !ds.search(addr)) {
   ds.reset_search();
   return -1000;
 }
 if ( OneWire::crc8( addr, 7) != addr[7]) {
   Serial.println("CRC is not valid!");
   return -1000;
 }
 if ( addr[0] != 0x10 && addr[0] != 0x28) {
   Serial.print("Device is not recognized");
   return -1000;
 }
 ds.reset();
 ds.select(addr);
 ds.write(0x44,1);                                  
 byte present = ds.reset();
 ds.select(addr); 
 ds.write(0xBE);
 
 for (int i = 0; i < 9; i++) {
  data[i] = ds.read();                                                         
 }
 
 ds.reset_search();
 byte MSB = data[1];
 byte LSB = data[0];
 float tempRead = ((MSB << 8) | LSB);
 float TemperatureSum = tempRead / 16;
 return TemperatureSum;                                                                   
}




---------------------------------------------------------------


이 두코드를 합치고싶은데 어떻게 해야하나요??

게시글 신고하기

신고사유

신고해주신 내용은 쇼핑몰 운영자의 검토 후 내부 운영 정책에 의해 처리가 진행됩니다.

평점 0점
첨부파일
비밀번호 수정 및 삭제하려면 비밀번호를 입력하세요.
댓글 수정

비밀번호 :

수정 취소

/ byte

비밀번호 : 확인 취소

댓글 입력

댓글달기이름 :비밀번호 : 관리자답변보기

확인

/ byte

왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)

에게만 댓글 작성 권한이 있습니다.

댓글 입력

댓글달기이름 :비밀번호 :

확인

/ byte

왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)

에게만 댓글 작성 권한이 있습니다.

«
»