BASIC4MCU | 질문게시판 | 아두이노 네오픽셀 밝기조절 질문.
페이지 정보
작성자 그림자멍이 작성일2019-02-24 18:03 조회2,305회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=7766
본문
#include#include#include#define DHT22_PIN 5#define PIN 6 // 네오픽셀 보드연결선#define DHTTYPE DHT22 // DHT22 센서의 유형으로 선택//#define BRIGHTNESS 100int measurePin = A0;int ledPower = 12;int samplingTime = 280;int deltaTime = 40;int sleepTime = 9680;float voMeasured = 0;float calcVoltage = 0;float dustDensity = 0;Adafruit_NeoPixel pixels = Adafruit_NeoPixel(1, PIN, NEO_GRB + NEO_KHZ800);SoftwareSerial bluetooth(2,1);DHT dht(DHT22_PIN, DHTTYPE); // DHT라이브러리를 통해 핀과 타입을 설정//실험실int ro = 0;void setup() {// 네오픽셀pixels.begin();pixels.setPixelColor(0, pixels.Color(0,0,0));pixels.show();pinMode(ledPower,OUTPUT); //미세먼지LEDSerial.begin(9600);bluetooth.begin(9600);}byte r = 0, g = 0, b = 0; // 네오픽셀 값저장char data[10] = {0,}; // 온습도, 미세먼지 값저장//byte buf[4];void loop() {// 네오픽셀 ON/OFF 코드if(bluetooth.available()>2){r = bluetooth.read();g = bluetooth.read();b = bluetooth.read();bluetooth.flush();pixels.setPixelColor(0, pixels.Color(r,g,b));pixels.show();}/* 계속해서 시도해보고있는 코드 입니다. 다른코드도 찾으면서 하고 있지만 어려워서 도움요청합니다. ㅠro = analogRead('a');int inten = map(ro, 0, 1023, 0, 255);if(inten > 200){pixels.setPixelColor(0, pixels.Color(r,g,b));}else if(200>=inten&&inten>100){pixels.setPixelColor(0, pixels.Color(r,g,b));}else if(100>=inten&&inten>10){pixels.setPixelColor(0, pixels.Color(r,g,b));}else{pixels.setPixelColor(0, pixels.Color(0,0,0));Serial.println(inten);pixels.show();delay(20);}*///------------------------------------------------------/*if(bluetooth.available()){if(bluetooth.read()=='a'){ // 'a' <- 앱인벤터 슬라이더 블루투스 텍스트 입력 호출.int brightness = bluetooth.parseInt();analogWrite(PIN, brightness/4);}}*/// 온습도, 미세먼지int humi = dht.readHumidity(); //온도값int temp = dht.readTemperature(); //습도값int c = map(getdust(),8,133,10,100); //미세먼지값sprintf(data,"%03d%03d%03d",humi,temp,c);//bluetooth.print(data);Serial.print(data);delay(1000);}//미세먼지 측정함수int getdust(){digitalWrite(ledPower,LOW);delayMicroseconds(samplingTime);voMeasured = analogRead(measurePin);delayMicroseconds(deltaTime);digitalWrite(ledPower,HIGH);delayMicroseconds(sleepTime);calcVoltage = voMeasured * (5.0 / 1024.0);dustDensity = 100.0 * calcVoltage - 0.1;return(dustDensity);}현재 네오픽셀은 5개를사용중이고, 앱인벤터로 ON/OFF기능 버튼에 바로 밑에 슬라이더를 추가해 밝기조절도 하기위해 계속 시도중입니다.많은 예제들이 작은3색RGB전구를 이용하여 코드가 달라 어려움을 격고있습니다.기존 ON/OFF코드 밖에 코드를 해야하는지 안에 해야하는지도 햇갈림니다 . ㅠ사용중인 네오픽셀모듈(5개)한글보드: 네오픽셀 RGB LED 모듈 / LED 개별제어 / WS2812 LED Module
댓글 0
조회수 2,305등록된 댓글이 없습니다.