회로-
<아두이노 CDS 조도센서의 값을 시리얼통신으로 전송하기>
더보기
#define LED_RED 5
#define LED_GREEN 6
#define LED_BLUE 11
#define BRIGHT_PIN A1
void setup() {
Serial.begin(9600);
pinMode(LED_RED, OUTPUT);
pinMode(LED_GREEN,OUTPUT);
pinMode(LED_BLUE, OUTPUT);
}
void loop() {
int brightValue = analogRead(BRIGHT_PIN);
Serial.println(brightValue);
}
<어두워지면 전등이 켜지게 하기>
더보기
#define LED_RED 5
#define LED_GREEN 6
#define LED_BLUE 11
#define BRIGHT_PIN A1
void setup() {
Serial.begin(9600);
pinMode(LED_RED, OUTPUT);
pinMode(LED_GREEN,OUTPUT);
pinMode(LED_BLUE, OUTPUT);
}
void loop() {
int brightValue = analogRead(BRIGHT_PIN);
Serial.println(brightValue);
if (brightValue > 500) ledOn();
else ledOff();
}
void ledOn()
{
digitalWrite(LED_RED, HIGH);
digitalWrite(LED_GREEN, HIGH);
digitalWrite(LED_BLUE, HIGH);
}
void ledOff()
{
digitalWrite(LED_RED, LOW);
digitalWrite(LED_GREEN, LOW);
digitalWrite(LED_BLUE, LOW);
}
<어두워지면 3초 후 켜지는 전등 만들기>
더보기
#define LED_RED 5
#define LED_GREEN 6
#define LED_BLUE 11
#define BRIGHT_PIN A1
unsigned long currTime = 0;
unsigned long prevTime = 0;
int sec = 0;
int state = 0;
void setup() {
Serial.begin(9600);
pinMode(LED_RED, OUTPUT);
pinMode(LED_GREEN, OUTPUT);
pinMode(LED_BLUE, OUTPUT);
}
void loop(){
int brightValue = analogRead(BRIGHT_PIN);
Serial.println(brightValue);
currTime = millis();
if(currTime - prevTime >= 1000)
{
prevTime = currTime;
sec++;
}
if(brightValue>500)
{
if(sec>=3)
{
sec=3;
ledOn();
}
}
else
{
sec = 0;
ledOff();
}
}
void ledOn()
{
digitalWrite(LED_RED, HIGH);
digitalWrite(LED_GREEN, HIGH);
digitalWrite(LED_BLUE, HIGH);
}
void ledOff()
{
digitalWrite(LED_RED, LOW);
digitalWrite(LED_GREEN, LOW);
digitalWrite(LED_BLUE, LOW);
}
회로 -
<가변 저항 값 읽어 값 전송하기>
더보기
#define LED_RED 5
#define LED_GREEN 6
#define LED_BLUE 11
#define VR_PIN A0
void setup() {
Serial.begin(9600);
}
void loop() {
int vrValue = analogRead(VR_PIN);
Serial.println(vrValue);
delay(100);
}
<가변 저항 값으로 LED의 밝기 조절하기>
더보기
#define LED_RED 5
#define LED_GREEN 6
#define LED_BLUE 11
#define VR_PIN A0
void setup() {
Serial.begin(9600);
}
void loop() {
int vrValue = analogRead(VR_PIN);
Serial.println(vrValue);
ledBrightSet(vrValue / 4);
}
void ledBrightSet(int value)
{
if (value >=20)
{
analogWrite(LED_RED, value);
analogWrite(LED_GREEN, value);
analogWrite(LED_BLUE, value);
}
else
{
analogWrite(LED_RED, 0);
analogWrite(LED_GREEN, 0);
analogWrite(LED_BLUE, 0);
}
}
<가변 저항 값으로 LED의 밝기 단계 조절하기>
더보기
#define LED_RED 5
#define LED_GREEN 6
#define LED_BLUE 11
#define VR_PIN A0
void setup() {
Serial.begin(9600);
}
void loop() {
int vrValue = analogRead(VR_PIN);
int percent = map(vrValue,0,1023,0,100);
Serial.println(percent);
ledBrightSet(percent);
}
void ledBrightSet(int percentValue)
{
if (percentValue >=0 && percentValue <=10)
{
analogWrite(LED_RED, 0);
analogWrite(LED_GREEN, 0);
analogWrite(LED_BLUE,0);
}
else if(percentValue >=11 && percentValue <=40)
{
analogWrite(LED_RED, 80);
analogWrite(LED_GREEN, 80);
analogWrite(LED_BLUE, 80);
}
else if (percentValue >= 41 && percentValue <= 71)
{
analogWrite(LED_RED, 160);
analogWrite(LED_GREEN, 160);
analogWrite(LED_BLUE, 160);
}
else if (percentValue >= 71 && percentValue <= 100)
{
analogWrite(LED_RED, 255);
analogWrite(LED_GREEN, 255);
analogWrite(LED_BLUE, 255);
}
}
'아두이노' 카테고리의 다른 글
아두이노 시리얼통신으로 제어하기 (0) | 2023.07.25 |
---|---|
아두이노 온도 습도 값을 읽어 불쾌지수 표시 (0) | 2023.07.24 |
아두이노 IoT 키트 목록 (0) | 2023.07.19 |
아두이노 LCD와 시계 (0) | 2023.07.19 |
아두이노 - 초음파 / 사운드 / 일산화탄소 센서 / 팬모터 (0) | 2023.07.18 |