홈 > 자료실 > 최신뉴스

최신뉴스

영림중 실습
✍️ 관리자 📅 2024.06.14 10:53 👁 11
#include <Adafruit_NeoPixel.h>

#define LED_PIN 6 // 네오픽셀 LED가 연결된 핀
#define NUM_LEDS 8 // 사용하는 LED의 개수
#define MOISTURE_SENSOR_PIN A0 // 토양 수분 센서가 연결된 아날로그 핀

Adafruit_NeoPixel pixels(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);

// Define colors
uint32_t offColor = pixels.Color(0, 0, 0);
uint32_t pinkColor = pixels.Color(255, 20, 147);

// Define moisture thresholds
int dryThreshold = 300;
int veryDryThreshold = 700;

void setup() {
pixels.begin();
pixels.setBrightness(50); // LED 밝기 설정
Serial.begin(9600); // 시리얼 통신 시작 (필요한 경우)
}

void loop() {
int moistureLevel = analogRead(MOISTURE_SENSOR_PIN);

// 시리얼 모니터에 토양 수분값을 출력
Serial.print("토양 수분값: ");
Serial.println(moistureLevel);

if (moistureLevel < dryThreshold) {
// 수분이 충분한 경우: 모든 LED를 끔
for (int i = 0; i < NUM_LEDS; i++) {
pixels.setPixelColor(i, offColor);
}
} else if (moistureLevel < veryDryThreshold) {
// 건조한 경우: LED를 수분 상태에 따라 순차적으로 점멸
int ledsToLight = map(moistureLevel, dryThreshold, veryDryThreshold, 0, NUM_LEDS);
for (int i = 0; i < ledsToLight; i++) {
pixels.setPixelColor(i, pixels.Color(0, 0, 255)); // 청색 LED
}
for (int i = ledsToLight; i < NUM_LEDS; i++) {
pixels.setPixelColor(i, offColor);
}
} else {
// 매우 건조한 경우: 모든 LED를 분홍색으로 점등
for (int i = 0; i < NUM_LEDS; i++) {
pixels.setPixelColor(i, pinkColor);
}
}

pixels.show(); // LED 상태 업데이트
delay(1000); // 1초 간격으로 업데이트
}
▲ 다음글 다음글이 없습니다.
▼ 이전글 국립산림과학원_202312_복령매몰재배2

🔒 비밀번호 확인

글 작성 시 입력한 비밀번호를 입력하세요.

비밀번호가 일치하지 않습니다.
NSB (Nature Soil Balance) 치유농업센터
 
주소: (구.사무실) 서울시 강남구 역삼동 823-11 유양빌딩 5층 / (사무실 이전) 춘천시 남산면 갯골길 110-20 연구동 1층
   / (우편물사서함) 서울시 용산구 용산우체국 사서함 제3호  
대표전화: 02-307-8000 / 기술거래사: 010-4283-0000 / 전자팩스: 0505-562-4949 / 일반팩스: 02-562-4949
이메일: remy@nsb.kr
 
COPYRIGHT CI 2002-2026 NSB Korea Valuation Group. ALL RIGHTS RESERVED