질문게시판 > 답변 : 방수온도센서를 이용한 네오픽셀점등

인기검색어 > 아두이노 센서 ATMEGA128

최신글 질문게시판 동영상강좌 가입하기

▼ BASIC4MCU 후원업체 신제품 정보 ▼

▲ BASIC4MCU 후원업체 신제품 정보 ▲

BASIC4MCU > 질문게시판

답변 : 방수온도센서를 이용한 네오픽셀점등

페이지 정보

작성자 master 작성일18-12-20 21:39 조회6,835회 댓글1건

본문

 

 

// DateTime : 2018-12-20 오후 9:46:30
// by Ok-Hyun Park
//
//방수온도센서를 이용해서 온도별로 네오픽셀 링타입 24구에 색을다르게 출력하고싶은데 잘 안되네요 도와주세요 ㅜㅜ
//
#include <OneWire.h>
int DS18S20_Pin=2,ledNum//온도센서를 2번 핀으로 연결
OneWire ds(DS18S20_Pin);  //2번 핀과 연결되 OneWire 객체 생성
//
#include <Adafruit_NeoPixel.h>
#define  PIN 6
Adafruit_NeoPixel strip=Adafruit_NeoPixel(60,PIN,NEO_GRB+NEO_KHZ800);
//
//
void setup(){
  Serial.begin(9600);
  strip.begin();
  strip.show();
}
//
void setBlue(int ledNum){
  for(int i=0i<ledNumi++)strip.setPixelColor(i,strip.Color(0,0,200));
}
//
void setGreen(int ledNum){
  for(int i=0i<ledNumi++)strip.setPixelColor(i,strip.Color(0,200,0));
}
//
void setRed(int ledNum){
  for(int i=0i<ledNumi++)strip.setPixelColor(i,strip.Color(255,0,0));
}
//
void setPurple(int ledNum){
  for(int i=0i<ledNumi++)strip.setPixelColor(i,strip.Color(102,0,102));
}
//
void loop(){
  float temperature=getTemp(); //온도 측정 후 변수에 저장
  Serial.println(temperature);
  //
  if     (temperature<=12)setBlue(24);   //온도가 12도 이하일 때,파란색 LED 점등
  else if(temperature<=25)setGreen(24);  //온도가 12도 이상 25미만일 때,초록색 LED 점등
  else if(temperature<=30)setRed(24);    //온도가 25도 이상 30미만일 때,빨강색 LED 점등
  else if(temperature<=40)setPurple(24); //온도가 30도 이상일 때,보리색 LED 점등
  strip.show();
  delay(3000);
}
//
float getTemp(){ //온도 측정 후 반환하는 함수
  byte data[12];
  byte addr[8];
  if(!ds.search(addr)){ ds.reset_search(); return-1000; }
  if(OneWire::crc8(addr,7)!=addr[7]){ Serial.println("CRC is not valid!"); return-1000; }
  if(addr[0]!=0x10&&addr[0]!=0x28){ Serial.print("Device is not recognized"); return-1000; }
  ds.reset();
  ds.select(addr);
  ds.write(0x44,1);
  byte present=ds.reset();
  ds.select(addr);
  ds.write(0xBE);
  for(int i=0i<9i++){ data[i]=ds.read(); }
  ds.reset_search();
  byte MSB=data[1];
  byte LSB=data[0];
  float tempRead=((MSB<<8)|LSB);
  float TemperatureSum=tempRead/16;
  return TemperatureSum;
}

 

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

댓글 : 1

조회수 : 6,835

구퓨리님의 댓글

구퓨리 작성일

몇시간이나 머리 싸매고 못 고치고 있었는데 너무 감사합니다ㅠㅜㅠㅜㅠ<3 ㅜㅠㅜㅠ

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[28] master  17-10-29
질문 님들 stm32 spi를 사용할떄 댓글[1] 라칸 새글 17:54
질문 ULPSM 센서의 bias 용도 댓글[3] 라칸  23-02-02
질문 아두이노 시리얼 통신 버퍼링 이슈 엔야  23-02-02
답변 답변 : 아두이노 시리얼 통신 버퍼링 이슈 master  23-02-02
질문 풍향계 구동에서의 오류 댓글[2] kksp12y  23-02-02
질문 모터 전진 후진 기본 주행구현 관련 질문 댓글[1] MJAY  23-02-01
질문 (앱인벤터)아두이노로 엘리베이터를 구현하려고 합니다. 댓글[1] 첨부파일라임망고  23-01-31
질문 아두이노 스텝모터 연결 질문 댓글[2] 아이산타  23-01-31
질문 미세먼지 센서를 해보는데 댓글[3] 라칸  23-01-30
질문 가스 센서 공식 댓글[2] 첨부파일풀이싫은초식동물  23-01-27
질문 adc값 가지고 센서 측정값을 찾고 싶은데 댓글[2] 라칸  23-01-25
질문 님들 센서 측정값 계산식 찾는법좀 댓글[2] 라칸  23-01-13
질문 아케이드 키, LED 연결방법 댓글[1] 이런것까지  23-01-11
질문 블루투스 모듈을 이용해 정해진 위치로 이동할 수가 있나… 댓글[2] BBAM  23-01-05
질문 RTC하고 타이머로 시간 정보를 수정하고 싶은데 댓글[1] 라칸  23-01-04
질문 AVRstudio(Atmega128) if문 질문 댓글[1] 일렉트릭붐  23-01-02
질문 이더넷칩(RMII) 리셋 코드로 시키는 방법 라칸  23-01-02
질문 아두이노 uno wifi rev2 인터럽트 사용 댓글[3] 첨부파일신비한호랑이  22-12-31
질문 dc모터 제어관련 질문드려요 댓글[1] 첨부파일직장인  22-12-29
질문 Atmega128 RGB 밝기조절 댓글[5] 일렉트릭붐  22-12-29
질문 아두이노에서 nRF24L01 양방향 통신 관련 질문 드… 댓글[3] 홍챠  22-12-28
질문 아두이노 외부 pulse 카운트 관련 질문 애울  22-12-28
답변 답변 : 아두이노 외부 pulse 카운트 관련 질문 댓글[3] master  22-12-28
질문 stm32에서 nrst 핀을 코드로 동작시키는 방법좀 라칸  22-12-23
질문 atmega128 인터럽터에 관하여 댓글[2] 00101  22-12-19
질문 atmega128 댓글[1] 첨부파일Jakj12  22-12-18
질문 모터 드라이버 관련 다시 질문드립니다. 죄송합니다. 댓글[1] 첨부파일아두이노고자ㅜ  22-12-18
질문 모터드라이버 사용법을 잘 모르겠습니다. SBC-10 모… 댓글[2] 첨부파일아두이노고자ㅜ  22-12-18
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전