본문 바로가기

Embedded/Arduino

LilyPad - Photo Sensor

Beep Code

int photoPin=A5;
int delayTime = 500;
int ledArr[] = {10,9,3,2};
int ledSize = sizeof(ledArr)/sizeof(int);
int min = 1023;
int max = 0;
 
void setup()
{
  for(int i=0; i<ledSize; i++){
    pinMode(ledArr[i],OUTPUT);
  }
  pinMode(photoPin, INPUT);
  Serial.begin(9600);
}
 
 
void loop()
{
  int inputValue = analogRead(photoPin);
  min = inputValue < min ? inputValue : min;
  max = inputValue > max ? inputValue : max;
  int ledCount = inputValue * ledSize / (max-min);
  serialPrint(inputValue);
  weightedLEDOn(4-ledCount);
 
  delay(100);                         
}

void serialPrint(int analogIn){
  Serial.print("Input : ");
  Serial.print(analogIn);
    
  Serial.print(" min : ");
  if(min == 1023)
    Serial.print(" ");
  else
    Serial.print(min);
  
  Serial.print(" max : ");
  if (max == 0)
  	Serial.print(" ");
  else
    Serial.print(max);
       
  Serial.print(" level : ");
  Serial.println(analogIn * ledSize / (max-min));

}
 
void weightedLEDOn(int Count){
  
  if (Count > ledSize){
    Count = ledSize;
  }
  
  for(int i=Count; i<ledSize; i++){
      digitalWrite(ledArr[i],LOW);
  }
  
  for(int i=0; i<Count; i++){
      digitalWrite(ledArr[i],HIGH);
  }
}

'Embedded > Arduino' 카테고리의 다른 글

Arduino - PWM Example  (0) 2021.07.06
Arduino - Button Example  (0) 2021.07.06
LilyPad - Beep  (0) 2021.06.11
LilyPad - TestCode  (0) 2021.06.11
link  (0) 2021.06.11