답변 : 거리센서와 네오픽셀질문글을 올린사람입니다.
페이지 정보
작성자 master 작성일18-06-07 17:53 조회7,502회 댓글0건본문
// MCU BASIC: https://www.basic4mcu.com
// DateTime : 2018-06-07 오후 5:56:54
// by Ok-Hyun Park
//
?#include <Adafruit_NeoPixel.h>
#define PIN 9 // 디지털핀 어디에 연결했는지 입력
#define LEDNUM 120 // 연결된 네오픽셀의 숫자입력
#define BRIGHTNESS 50 // 네오픽셀의 밝기를 설정합니다.(0~255)
Adafruit_NeoPixel strip=Adafruit_NeoPixel(120,PIN,NEO_GRBW+NEO_KHZ800);
int URECHO=3;
int distance;
int a;
uint8_t EnPwmCmd[4]={0x44,0x02,0xaa,0xf0};
//
void setup(){
Serial.begin(9600);
strip.setBrightness(BRIGHTNESS);
AutonomousMode_Setup();
strip.begin();
}
//
void loop(){
AutonomousMode();
delay(100);
}
//
void AutonomousMode_Setup(){ // PWM mode setup function
pinMode(URECHO,INPUT); // Sending Enable PWM mode command
for(int i=0;i<4;i++)Serial.write(EnPwmCmd[i]);
}
//
void AutonomousMode(){
unsigned long DistanceMeasured=pulseIn(URECHO,LOW);
if(DistanceMeasured>=45000){ Serial.print("Invalid"); }
else{
a=DistanceMeasured/50; // every 50us low level stands for 1cm
Serial.print("Distance="); Serial.print(a); Serial.println("cm");
if(a>10){ strip.setPixelColor(5,strip.Color(0,128,0)); strip.setPixelColor(10,strip.Color(0, 0,0)); }
else { strip.setPixelColor(5,strip.Color(0, 0,0)); strip.setPixelColor(10,strip.Color(0,128,0)); }
strip.show();
}
}
댓글 : 0
조회수 : 7,502
등록된 댓글이 없습니다.