오늘은 아두이노에서 활용할 수 있는 여러 모듈과 센서에 대해서 공부했다.
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}
// 가변 저항 모듈로 LED 밝기 조절하기
int LED = 3;
void setup() {
Serial.begin(9600);
pinMode(LED, OUTPUT);
}
void loop() {
int resistor = analogRead(A0);
Serial.println(resistor);
resistor = map(resistor, 0, 1023, 0, 255); // 입력값을 출력값으로 변경
analogWrite(3, resistor);
}
// 조도 센서 사용해서 LED 작동
int LED = 3;
void setup() {
Serial.begin(9600);
pinMode(LED, OUTPUT);
}
void loop() {
int photoresistor = analogRead(A0);
Serial.println(photoresistor);
digitalWrite(LED, LOW);
if(photoresistor > 940) {
digitalWrite(LED, HIGH);
}
delay(100);
}
// 온습도 센서
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
delay(2000);
float h = dht.readHumidity();
float c = dht.readTemperature();
float f = dht.readTemperature(true);
if (isnan(h) || isnan(c) || isnan(f)) {
Serial.println("Failed to read from DHT sensor");
return;
}
Serial.print("Humidity : ");
Serial.print(h);
Serial.println(" % ");
Serial.print("Temperature : ");
Serial.print(c);
Serial.print(" °C / ");
Serial.print(f);
Serial.println(" °F ");
Serial.println("");
}
아두이노에 대해서 배울수록 프로젝트 구상도 점점 명확해지는 것 같다. 원래는 미니 스마트 그리드 시스템을 구상하고 있었지만, 조금 더 상호작용이 가능하고 시각적으로 보이는 주제가 좋을 것 같아서 태양광 ESS로 주제를 바꾸었다. 아두이노와 머신러닝 등 기능은 크게 다른 점은 없지만, 전력 거래라는 측면을 웹에서 표현하면 더 좋을 것 같아서 변경하게 되었다.
이제 내일부터 머신러닝 모델에 대해서 찾아보고, 학습 데이터 수집을 시작할 것 같다.