BASIC4MCU | 질문게시판 | 초음파센서와 네오픽셀
페이지 정보
작성자 지수 작성일2020-11-16 09:07 조회32,720회 댓글3건본문
초음파 센서와 네오픽셀을 활용해 거리가 가까워 질수록 색깔이 바뀌는 그런걸 만들고 있습니다
이게 map함수를 써서 만들려고 하는데요 아무리 찾아보거나 만들어서 해봤는데도 안됩니다
초음파 인식은 되는데 네오픽셀은 안되요ㅠㅠ 불이 안들어 와요ㅠㅠ
아무것도 모르는 상태에서 하다보니 힘드네요... 제가 한거 봐주시고 고칠거 있으면 수정해주시면 감사하겠습니다
꼭 map함수 써야되요...
#include <Adafruit_NeoPixel.h>
int PIN = 3;
Adafruit_NeoPixel strip = Adafruit_NeoPixel(24, PIN, NEO_GRB + NEO_KHZ800);
int echo = 7, trig = 6;
void setup() {
Serial.begin(9600);
pinMode(trig, OUTPUT); pinMode(echo, INPUT);
strip.begin(); strip.show();
}
void loop() {
digitalWrite(trig, 1); delayMicroseconds(10); digitalWrite(trig, 0);
long distance = pulseIn(echo, HIGH) / 58;
Serial.print(distance); Serial.println(" mm");
int inten = map( analogRead(A0), 0, 1023, 0, 255);
if (distance < 150) {
strip.Color(255, 0, 0), 500; // Red (Color, wait)
}
else if (distance < 100) {
strip.Color(0, 255, 0), 500; // Green
}
else if (distance < 50) {
strip.Color(0, 0, 255), 500; // Blue
}
else {
strip.Color(255, 255, 255), 500; // White
}
}
댓글 3
조회수 32,720master님의 댓글
master 작성일
#include <Adafruit_NeoPixel.h>
int PIN = 3;
Adafruit_NeoPixel strip = Adafruit_NeoPixel(24, PIN, NEO_GRB + NEO_KHZ800);
int echo = 7, trig = 6;
//
void setup() {
Serial.begin(9600);
pinMode(trig, OUTPUT); pinMode(echo, INPUT);
strip.begin(); strip.show();
}
//
void loop() {
int inten = analogRead(A0);
inten = map(inten, 0, 1023, 0, 255);
//
digitalWrite(trig, 1); delayMicroseconds(10); digitalWrite(trig, 0);
long distance = pulseIn(echo, HIGH) / 58;
Serial.print(distance); Serial.println(" mm");
if (distance > 150) {
strip.setPixelColor(0,255, 0, 0); // Red (Color, wait)
}
else if (distance > 100) {
strip.setPixelColor(0,0, 255, 0); // Green
}
else if (distance > 50) {
strip.setPixelColor(0,0, 0, 255); // Blue
}
else {
strip.setPixelColor(0,255, 255, 255); // White
}
strip.show();
delay(500);
}
지수님의 댓글
지수 작성일감사합니다. 해보니까 불이 하나밖에 안들어오는데 어디 부분을 수정해야 될까요??
master님의 댓글
master 작성일
아래 함수는 3개를 사용하고 있습니다만
하나만 예를 들어드리죠
for(int i=0;i<24;i++)strip.setPixelColor(i,0, 255, 0); // Green