질문게시판 > 아두이노 질문드립니다 ㅠ

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

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

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

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

BASIC4MCU > 질문게시판

아두이노 질문드립니다 ㅠ

페이지 정보

작성자 qlsdl 작성일18-06-18 16:23 조회8,776회 댓글3건

본문

#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);

#include <Wire.h>                        // i2C 통신을 위한 라이브러리
#include <LiquidCrystal_I2C.h>        // LCD 1602 I2C용 라이브러리
LiquidCrystal_I2C lcd(0x27,16,2);     // 접근주소: 0x3F or 0x27

 

int ledPin1 = 9;      // 1번 LED
int ledPin2 = 8;      // 2번 LED
int Beep = 7;     // 센서 신호핀
int pirState = LOW;   // 센서 초기상태는 움직임이 없음을 가정
int val = 0;          // 센서 신호의 판별을 위한 변수
int flame;

void setup() {

  pinMode(ledPin1, OUTPUT);    // 1번 LED를 출력으로 설정
    pinMode(ledPin2, OUTPUT);    // 2번 LED를 출력으로 설정
    pinMode(Beep, INPUT);    // 센서 Input 설


 
pinMode(Beep, OUTPUT);   //피에조부저 출력설정
  pinMode(flame,INPUT);   

  lcd.init(); 
  lcd.backlight();  // turn on backlight
  Serial.begin(9600);
}

void loop() {
  {
 
  val = digitalRead(Beep);         // 센서 신호값을 읽어와서 val에 저장
   
  if (val == HIGH) {                   // 센서 신호값이 HIGH면(인체 감지가 되면)   
    digitalWrite(ledPin1, HIGH);       // 1번 LED ON
    digitalWrite(ledPin2, LOW);        // 2번 LED OFF
    if (pirState == LOW){                        
         Serial.println("Welcome!");    // 시리얼 모니터 출력
         pirState = HIGH;
    }
   }
   else {                             // 센서 신호값이 LOW면(인체감지가 없으면)
    digitalWrite(ledPin1, LOW);       // 1번 LED OFF
    digitalWrite(ledPin2, HIGH);      // 2번 LED ON
    if (pirState == HIGH){               
        Serial.println("Good Bye~");   // 시리얼 모니터 출력
        pirState = LOW;
    }
  }
}

 

 
 
val = analogRead(flame);  //포토트랜지스터에서 값을 읽어옴
  Serial.println(val);     //포토트랜지스터 입력값 시리얼모니터로 출력
  if(val >= 300)           //포토트랜지스터 입력값이 1000이상이면 BEEP실행, 환경에 따라 적절한 값으로 조절필요
  {
    digitalWrite(Beep,HIGH);  //피에조 부저 BEEP
  }else{
    digitalWrite(Beep,LOW);   //피에조 부저 OFF
  }
  lcd.clear();
  // start working...
  Serial.println("=================================");
  Serial.println("Sample DHT11...");
  
  // read with raw sample data.
  byte temperature = 0;
  byte humidity = 0;
  byte data[40] = {0};

  
  Serial.print("Sample RAW Bits: ");
  for (int i = 0; i < 40; i++) {
    Serial.print((int)data[i]);
    if (i > 0 && ((i + 1) % 4) == 0) {
      Serial.print(' ');
    }
  }
  Serial.println("");
  
  Serial.print("Sample OK: ");
  Serial.print((int)temperature); Serial.print(" *C, ");
  Serial.print((int)humidity); Serial.println(" %");
  lcd.print((int)temperature);lcd.print(" *C, ");
  lcd.print((int)humidity);lcd.print(" %");
  
  // DHT11 sampling rate is 1HZ.
  delay(1000);
}

 

 

이런식으로 수정 을해서

lcd 온습도 출력 값나오게 지정해두고

 

 

화제감지센서 부저 값 300이상올라가면 소리나게

lcd 인체감지센서

 

해둿는대 지금 수정하고 나서 되는게 아무것도 없네요 ㅠㅠ; 고수님들 ... 

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

댓글 : 3

조회수 : 8,776

master님의 댓글

master 작성일

수정하기 전의 온습도 LCD 표시가 잘 되던 소스는 없나요?

기억을 되살려서 추가한 부분 제거해서 원래 소스 만들어보세요

qlsdl님의 댓글

qlsdl 작성일

#include <Wire.h>
#include <SimpleDHT.h>
#include <LiquidCrystal_I2C.h> 

int flame = A0; //포토트랜지스터가 연결된 아날로그핀
int Beep = 8;  //피에조부저가 연결된 디지털핀
int val = 0;    //센서출력값 저장 변수

int pinDHT11 = 2;
SimpleDHT11 dht11;
LiquidCrystal_I2C lcd(0x3F,16,2);

void setup() {

pinMode(Beep, OUTPUT);  //피에조부저 출력설정
  pinMode(flame,INPUT);   

  lcd.init(); 
  lcd.backlight();  // turn on backlight
  Serial.begin(9600);
}

void loop() {
val = analogRead(flame);  //포토트랜지스터에서 값을 읽어옴
  Serial.println(val);    //포토트랜지스터 입력값 시리얼모니터로 출력
  if(val >= 300)          //포토트랜지스터 입력값이 1000이상이면 BEEP실행, 환경에 따라 적절한 값으로 조절필요
  {
    digitalWrite(Beep,HIGH);  //피에조 부저 BEEP
  }else{
    digitalWrite(Beep,LOW);  //피에조 부저 OFF
  }
  lcd.clear();
  // start working...
  Serial.println("=================================");
  Serial.println("Sample DHT11...");
 
  // read with raw sample data.
  byte temperature = 0;
  byte humidity = 0;
  byte data[40] = {0};
  if (dht11.read(pinDHT11, &temperature, &humidity, data)) { 
    return;
  }
 
  Serial.print("Sample RAW Bits: ");
  for (int i = 0; i < 40; i++) {
    Serial.print((int)data[i]);
    if (i > 0 && ((i + 1) % 4) == 0) {
      Serial.print(' ');
    }
  }
  Serial.println("");
 
  Serial.print("Sample OK: ");
  Serial.print((int)temperature); Serial.print(" *C, ");
  Serial.print((int)humidity); Serial.println(" %");
  lcd.print((int)temperature);lcd.print(" *C, ");
  lcd.print((int)humidity);lcd.print(" %");
 
  // DHT11 sampling rate is 1HZ.
  delay(1000);
}

이게 인체감지 센서 부착하기전 소스인대 ...
인체감지 센서 부착되있던거 제가하고 해보고픈대 ... 걱정되서요 ㅠㅠㅠ.

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[25] master  17-10-29
질문 아두이노 코딩 결합 댓글[1] hohoje 새글 22-08-18
질문 UART통신 스위치 사용 댓글[4] 픽공부 새글 22-08-18
질문 아두이노코딩 질문사항 댓글[1] kai5439  22-08-16
질문 해석좀 해주세요 댓글[2] bubu  22-08-14
질문 lcd 1602에 특수문자를 출력하는 방법을 알고싶습니… 댓글[3] dndktn  22-08-12
질문 stm32 wifi 파일전송 댓글[3] 하리  22-08-11
질문 회로 구성 수정 댓글[2] 첨부파일픽공부  22-08-11
질문 아두이노 와이파이통신 질문 있습니다 댓글[1] 학생  22-08-11
질문 포토다이오드와의 연결 질문합니다. 댓글[7] 첨부파일박윤모  22-08-10
질문 회로 구성 댓글[4] 픽공부  22-08-10
질문 아두이노 센서, 와이파이, 블루투스 연결 댓글[1] pattern  22-08-10
질문 PIC 블루투스 연결 댓글[19] 픽공부  22-08-09
질문 PIC18F452 블루투스 연결 댓글[4] 마이컴  22-08-08
질문 아두이노 코드 해석을 못하겠습니다... 댓글[2] 김가헌  22-08-08
질문 아두이노 코드를 avr로 변환해 주세요 ...ㅠ 댓글[3] 옹냥냥  22-08-08
질문 아두이노 녹음-스피커모듈 관련 질문있습니다 ㅠㅠ 댓글[2] 방귀뿡뿡  22-08-08
질문 Serial EEPROM 실수값 저장.. 댓글[2] 첨부파일광이  22-08-07
질문 STM32 Live Expression 값들이 깜빡이는… 댓글[3] 둠둠  22-08-05
질문 아두이노 ESP32 wifi module 댓글[1] Yoon  22-08-03
질문 atmega128과 dht11, lcd를 연결했는데 0… 댓글[1] 고양이33  22-08-02
질문 ATMEGA 128 코드를 합치려고 하는데 어렵네요 댓글[2] 고양이33  22-08-02
질문 서보모터 제어에 대해 질문있습니다. 댓글[2] 첨부파일뉴비에오  22-07-30
질문 적외선 통신 알려주실분있나요 ㅠㅠ 댓글[1] hkjsj10  22-07-30
질문 아두이노 관련 궁금합니다. 댓글[1] 뱝뱝  22-07-28
질문 아두이노 우노 MCP4725 댓글[3] opqr  22-07-27
질문 레오나르도 인체감지센서 알림 안옴 면지지  22-07-24
답변 답변 : 레오나르도 인체감지센서 알림 안옴 master  22-07-25
질문 Uno에서 엔코더값 놓치는 이유가 뭘까요... 댓글[3] MAKTUB  22-07-24
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전