질문게시판 > 답변 : 아두이노 코드 관련 질문입니다.

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

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

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

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

BASIC4MCU > 질문게시판

답변 : 아두이노 코드 관련 질문입니다.

페이지 정보

작성자 master 작성일20-09-02 22:53 조회2,910회 댓글0건

본문

 

//-----
#include <Servo.h>
int angle=9;
int led=3;
Servo myservo;
//
void setup(){
  Serial.begin(9600);
  myservo.attach(angle);
  myservo.write(0);
  pinMode(angle,OUTPUT);
  pinMode(led,OUTPUT);
}
//
void loop(){
  int cds2=analogRead(A5); //실외
  int cds1=analogRead(A0); //실내
  Serial.println(cds2);
  if(cds2<700){ digitalWrite(led,1); } //실외가 어두우면 //LED켜기
  else        { digitalWrite(led,0); }
  myservo.write(0);
  if     (cds2<=780){ }
  else if(cds2<=850){ myservo.write45); delay(125); }
  else if(cds2<=900){ myservo.write90); delay(150); }
  else              { myservo.write(135); delay(175); }
}

 

코드 논리상 실내 조건을 사용하지 않으므로 실내 조도 측정은 필요 없겠습니다.

 

//-----
#include <Servo.h>
int angle=9;
int led=3;
Servo myservo;
//
void setup(){
  Serial.begin(9600);
  myservo.attach(angle); myservo.write(0);
  pinMode(led,OUTPUT);
}
//
void loop(){
  int cds2=analogRead(A5); //실외
  Serial.println(cds2);
  if(cds2<700){ digitalWrite(led,1); } //실외가 어두우면 //LED켜기
  else        { digitalWrite(led,0); }
  myservo.write(0);
  if     (cds2<=780){ }
  else if(cds2<=850){ myservo.write45); delay(125); }
  else if(cds2<=900){ myservo.write90); delay(150); }
  else              { myservo.write(135); delay(175); }
}

큰 차이는 아니지만 실내 조도센서 코드를 제거 했습니다.

//

 

원하는 제어는 구현 시 심각한 문제가 발생합니다.

블루투스로 강제로 LED를 제어 하더라도 곧바로 조도센서를 측정해서 LED를 다시 변경 해버립니다.

이렇게 하면 안되고 아래 처럼 제어를 바꾸세요

조도센서로 LED를 제어하는 것을 "자동" 이라고 정하고, 블루투스로 제어하는 것을 "수동"이라고 정합니다.

전원 투입 초기 상태는 자동이며, 블루투스로 LED를 제어하면 수동으로 변경 됩니다.

자동으로 다시 되돌리는 것은 'A' 컴맨드를 전송하면 됩니다.

 

// DateTime : 2020-09-02 오후 11:01:33
// by Ok-Hyun Park
//-----
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(8,7);
//
#include <Servo.h>
int angle=9;
Servo myservo;
//
int led=3;
//
char mode=0// 자동모드
//
void setup(){
  Serial.begin(9600);
  BTSerial.begin(9600);
  myservo.attach(angle); myservo.write(0);
  pinMode(led,OUTPUT);
}
//
void loop(){
  int cds2=analogRead(A5); //실외
  //int cds1=analogRead(A0); //실내
  if(mode==0){
    Serial.println(cds2);
    if(cds2<700){ digitalWrite(led,1); } //실외가 어두우면 //LED켜기
    else        { digitalWrite(led,0); }
    myservo.write(0);
    if     (cds2<=780){ }
    else if(cds2<=850){ myservo.write45); delay(125); }
    else if(cds2<=900){ myservo.write90); delay(150); }
    else              { myservo.write(135); delay(175); }
  }
  //-------------------
  if(BTSerial.available()){
    char c=BTSerial.read();
    switch(c){
      case '1'digitalWrite(led,1); mode=1break// 수동모드
      case '2'digitalWrite(led,0); mode=1break// 수동모드
      case 'A':                      mode=0break// 자동모드
    }
  }
}

블루투스에서 정수값 1,2를 전송 했었다면 정수값이 아닌 문자 '1','2'를 전송하세요

 

 

 

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

댓글 : 0

조회수 : 2,910

등록된 댓글이 없습니다.

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[25] master  17-10-29
질문 Atmega IO핀 출력 상태 질문이요.. 댓글[3] chelsea 새글 13:32
답변 답변 : Atmega IO핀 출력 상태 질문이요.. 댓글[6] master 새글 14:34
질문 아두이노 센서 쉴드 v5.0 과 음성인식 모듈(V2)통… 댓글[6] 첨부파일AutoSun 새글 22-07-05
질문 초음파 센서를 사용한 dc모터 제어에 관해 질문 있습니… 첨부파일뉴비에오 새글 22-07-04
답변 답변 : 초음파 센서를 사용한 dc모터 제어에 관해 질… 댓글[2] master 새글 22-07-05
질문 아두이노 Sensor Shield 5.0 시리얼 통신 … 댓글[2] AutoSun  22-07-04
질문 Atmega 코드 좀 봐주세요. 댓글[1] 첨부파일chelsea  22-07-04
질문 아두이노 while문 탈출 질문 yhj2644  22-07-01
답변 답변 : 아두이노 while문 탈출 질문 댓글[8] master  22-07-01
질문 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
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전