아두이노 > 초음파 센서를 이용한 컬러LED제어

TODAY1,014 TOTAL273,961
사이트 이용안내
Login▼/회원가입
포럼 동영상강좌 회원가입


▼ BASIC4MCU 후원업체 최신 정보 ▼

▲ BASIC4MCU 후원업체 최신 정보 ▲

BASIC4MCU | 아두이노 | 아두이노 | 초음파 센서를 이용한 컬러LED제어

페이지 정보

작성자 깅깅 작성일2018-10-12 20:14 조회27회 댓글0건

본문

	

초음파거리 센서를 이용하여, 10cm~30cm 거리에서 칼라 LED 색을 다음과 같이 제어하라.

 

거리     R,     G,      B
10cm   255,  0,      0
︙       ︙      ︙      ︙
15cm   0,     255,   0
︙       ︙      ︙      ︙
30cm   0,     0,      255

 

10cm 이하에서는 255, 0, 0을

30cm 이상에서는 0, 0, 255를

각각 유지하라.

라는 문제에 코딩을했는데 모르는게 생겨서 질문드립니다

10cm~30cm에서 LED값을 변화시킬때 어떻게 해야할지 모르겠네요

일단 제가 한 코딩을 보여드리겠습니다

 

#include <NewPing.h>
#define MAXDISTANCE 40

const byte pinR = 11;
const byte pinG = 10;
const byte pinB = 9;

const byte pinTrig = 2;
const byte pinEcho = 3;
NewPing sonar(pinTrig,pinEcho,MAXDISTANCE);

void setRGB(int r, int g, int b) {
  analogWrite(pinR, r);
  analogWrite(pinG, g);
  analogWrite(pinB, b);
}
void setup() {
  pinMode(pinR,OUTPUT);
  pinMode(pinG,OUTPUT);
  pinMode(pinB,OUTPUT);
 
  Serial.begin(9600);

}

void loop() {
  int distance
  delay(50); 
  distance = sonar.ping_cm(); 
  
  float r,g,b;
 
  digitalWrite(pinR,LOW);
  digitalWrite(pinG,LOW);
  digitalWrite(pinB,LOW);

  if(distance > 30) {
    setRGB(0,0,255);
  }

  else if (distance < 30 & distance > 15) {
  r = 0;
  b = 255 - distance*15;
  g = 255 - b
  }
 
  else if (distance < 15 & distance > 10) {

  g = 255 - distance*15;
  r = 255 - g
  b = 0;

  } 
   else if(distance < 10) {
    setRGB(255,0,0);
   }

  Serial.print("r : " + String("r") +"\t");
  Serial.print("g ; " + String("g") + "\t");
  Serial.print("b ; " + String("b") + "\t");
  Serial.println("Ping : " + String(distance) + "cm");

}

10cm~15cm / 15cm~30cm 일때 r,g,b값을 저렇게 쓴이유는

r,g,b의 값이 0~255이고 길이(distance)의 간격이 15cm이므로

전체값을 15등분을해서 점진적으로 변화를 하게끔 했는데 오류가 난 것 같습니다

어떤식으로 하면 좋을까요? 

댓글 0

조회수 27

등록된 댓글이 없습니다.

아두이노HOME > 아두이노 > 전체 목록

아두이노 목록
제목 작성자 작성일 조회
315 아두이노 master님 도와주세요! 새글첨부파일 누멍쓰 18-10-21 13
답변 답변글 답변 : master님 도와주세요! 새글 master 18-10-21 11
313 아두이노 아두이노 드론에 카메라 기능을 추가하고싶어요 새글 호이히우 18-10-20 6
312 아두이노 밑에 두더지잡기 수정 부탁 드린것에 질문 있습니다. 새글 냉냉냥성냥 18-10-20 10
답변 답변글 답변 : 밑에 두더지잡기 수정 부탁 드린것에 질문 있습니다. 댓글[1] 새글 master 18-10-20 12
310 아두이노 아두이노 두더지 잡기 인데 문제가 있어서 수정좀 부탁 드립니다. 댓글[1] 냉냉냥성냥 18-10-20 15
답변 답변글 답변 : 아두이노 두더지 잡기 인데 문제가 있어서 수정좀 부탁 드립니다. master 18-10-20 8
답변 답변글 답변 : 아두이노 두더지 잡기 인데 문제가 있어서 수정좀 부탁 드립니다. 첨부파일 냉냉냥성냥 18-10-20 8
답변 답변글 답변 : 답변 : 아두이노 두더지 잡기 인데 문제가 있어서 수정좀 부탁 드립니다. 댓글[1] master 18-10-20 14
306 아두이노 작동 중인 팬모터를 블루투스와 연결된 앱으로 RPM 조절하는 코드를 추가해야하는데요. RobustWalKeR 18-10-19 11
답변 답변글 답변 : 작동 중인 팬모터를 블루투스와 연결된 앱으로 RPM 조절하는 코드를 추가해야하는데요. master 18-10-19 9
304 아두이노 master님 rc카 적외선센서 추가 질문 해도될까요? ㅠㅠ 윤재 18-10-19 13
답변 답변글 답변 : master님 rc카 적외선센서 추가 질문 해도될까요? ㅠㅠ 댓글[2] master 18-10-19 17
답변 답변글 답변 : 답변 : master님 rc카 적외선센서 추가 질문 해도될까요? ㅠㅠ 댓글[7] 새글 master 10:40 6
301 아두이노 앱인벤터 스크린마다 블루투스 댓글[1] intoo07 18-10-19 18
게시물 검색

Privacy Policy
MCU BASIC ⓒ 2017