CDS 부품 배치
void setup()
{
Serial.begin(9600);
}
void loop()
{
int adcData = analogRead(A0);
Serial.println(adcData);
}
디지털 온도계
#include<math.h>
#define A 0.001129148
#define B 0.000234125
#define C 0.0000000876741
#define Vin 5.0
#define R2 10000.0
double temp = 0.00;
void setup()
{
Serial.begin(9600);
pinMode(12,OUTPUT);
}
double SteinharHart(double R)
{
double logR = log(R);
double logR3 = logR * logR * logR;
return 1.0/ (A+B * logR + C * logR3);
}
void loop()
{
int adcData = analogRead(A0);
double Vout = (adcData*Vin) / 1023;
double Rth = ((Vin * R2) / Vout) - R2;
double T = SteinharHart(Rth) - 273.15;
if(T != temp){
temp = T;
Serial.println(T);
}
if(temp > 25)
{
digitalWrite(12,HIGH);
}
else
{
digitalWrite(12,LOW);
}
}
아날로그 출력(PWM)
int ledPin = 11;
int adcPin = A0;
void setup()
{
pinMode(ledPin,OUTPUT);
Serial.begin(9600);
}
void loop()
{
int adcData = analogRead(adcPin);
int val = map(adcData, 0 , 1023, 0 ,255);
Serial.println(val,DEC);
analogWrite(ledPin,val);
}
컬러조명 만들기
int swCount = 0;
int swBuf = 0;
void setup()
{
pinMode(11,OUTPUT);
pinMode(10,OUTPUT);
pinMode(9,OUTPUT);
pinMode(2,OUTPUT);
}
unsigned char color[6][3] = {
// R G B
{255,0,0} //Red
,{0,255,0} //Green
,{0,0,255} //Blue
,{255,255,0} //Yellow
,{255,0,255} //
,{0,255,255} //
};
void loop()
{
if (digitalRead(2) == LOW && swBuf == 0) {
swBuf = 1;
}
else if(digitalRead(2) == HIGH && swBuf == 1) {
swBuf = 0;
swCount++;
if(swCount > 5) {
swCount = 0;
}
}
setRgbColor (color[swCount][0] , color[swCount][1], color[swCount][2]);
}
void setRgbColor (char r, char g, char b){
analogWrite(11,255-r);
analogWrite(10,255-g);
analogWrite(9,255-b);
}
EEPROM (응용) 값을 기억
#include<EEPROM.h>
int swCount = 0;
int swBuf = 0;
void setup()
{
pinMode(11,OUTPUT);
pinMode(10,OUTPUT);
pinMode(9,OUTPUT);
pinMode(2,INPUT_PULLUP);
swCount = EEPROM.read(swCount);
}
unsigned char color[6][3] = {
// R G B
{255,0,0} //Red
,{0,255,0} //Green
,{0,0,255} //Blue
,{255,255,0} //Yellow
,{255,0,255} //
,{0,255,255} //
};
void loop()
{
if (digitalRead(2) == LOW && swBuf == 0) {
swBuf = 1;
}
else if(digitalRead(2) == HIGH && swBuf == 1) {
swBuf = 0;
swCount++;
if(swCount > 5) {
swCount = 0;
}
EEPROM.write(0,swCount);
}
setRgbColor (color[swCount][0] , color[swCount][1], color[swCount][2]);
}
void setRgbColor (char r, char g, char b){
analogWrite(11,255-r);
analogWrite(10,255-g);
analogWrite(9,255-b);
}
릴레이 모듈 사용
void setup()
{
pinMode(12,OUTPUT);
pinMode(2,INPUT_PULLUP);
}
void loop()
{
if(digitalRead(2) == LOW)
{
digitalWrite(12,HIGH);
}
else if (digitalRead(2) == HIGH)
{
digitalWrite(12,LOW);
}
}
칩입 감지 시스템
'아두이노' 카테고리의 다른 글
프로젝트 - SmartWatch (0) | 2014.11.20 |
---|---|
교육 기록 남기기 - 4 (0) | 2014.11.20 |
교육 기록 남기기 - 2 (0) | 2014.11.20 |
교육 기록 남기기 - 1 (0) | 2014.11.20 |