BASIC4MCU | 질문게시판 | 네오픽셀 활용
페이지 정보
작성자 영진하이닉스 작성일2020-06-24 15:12 조회2,559회 댓글1건본문
아두이노를 사용하여 일정 거리마다 속도를 조절할 수 있도록 하고 일정거리 이하에서 줄 LED가 깜빡이도록 코딩을 해봤는데 컴퓨터랑 연결중에는 문제가 없는데 USB포트를 뽑으면 오동작 합니다 코딩에 무슨 문제가 있는지 잘 모르겠어서 글 남깁니다 도와주시면 감사하겠습니다ㅠㅠ
#include <Adafruit_NeoPixel.h>
#define PIN 6
#define NUM_LEDS 5
Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUM_LEDS, 6 ,
NEO_GRB + NEO_KHZ800);
int trig = 2;//초음파p
int echo = 3;//초음파2
int shock = 4; //진동센서
int laser = 9;//레이저 센서void setup()
{
// put your setup code here, to run once:
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(10,OUTPUT);
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
pinMode(5,OUTPUT);pinMode(shock,INPUT);
pinMode(laser,OUTPUT);
delay(1000);strip.setBrightness(100);
strip.begin();
strip.show();
Serial.begin(9600);
}void loop() {
// put your main code here, to run repeatedly:
digitalWrite(trig, HIGH);
delay(300);
digitalWrite(trig, LOW);shock = digitalRead(4);
Serial.println(shock);
if(shock == HIGH){
digitalWrite(laser,HIGH);
}else{
digitalWrite(laser,LOW);
}int duration = pulseIn(echo, HIGH);
int dis = duration * 0.034/ 2;
Serial.print(dis);
Serial.println("Cm");{
if(dis <= 10){
strip.setPixelColor(0,255,0,0);
strip.setPixelColor(1,255,0,0);
strip.setPixelColor(2,255,0,0);
strip.setPixelColor(3,255,0,0);
strip.setPixelColor(4,255,0,0);
strip.show();
delay(100);
strip.setPixelColor(0,0,0,0);
strip.setPixelColor(1,0,0,0);
strip.setPixelColor(2,0,0,0);
strip.setPixelColor(3,0,0,0);
strip.setPixelColor(4,0,0,0);
strip.show();
delay(100);
}
if(dis <=5){
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
analogWrite(10,100);
digitalWrite(12,HIGH);
digitalWrite(13,HIGH);
analogWrite(5,100);}
else if(dis <=10){
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
analogWrite(10,140);
digitalWrite(12,HIGH);
digitalWrite(13,LOW);
analogWrite(5,140);
}
else if(dis <= 20){
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
analogWrite(10,255);
digitalWrite(12,HIGH);
digitalWrite(13,LOW);
analogWrite(5,255);
}
else if(dis <= 30){
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
analogWrite(10,255);
digitalWrite(12,HIGH);
digitalWrite(13,LOW);
analogWrite(5,255);
}
}
}
댓글 1
조회수 2,559master님의 댓글
master 작성일
전원의 전류가 부족한 것으로 추정됩니다.
5V 아답터(or SMPS)를 사용해서 네오픽셀에 공급해보세요