이메일

구글 : kdj777ehdwns@gmail.com
네이버 : kdj777ehdwns@naver.com
epsckr2016.blogspot.com

2016년 11월 10일 목요일

[아두이노] 7 세그먼트로 숫자 나타내기



byte digits[10][8]=
{
  {1,1,1,1,1,1,0,1},  //0
  {0,1,1,0,0,0,0,1},  //1
  {1,1,0,1,1,0,1,1},  //2
  {1,1,1,1,0,0,1,1},  //3
  {0,1,1,0,0,1,1,1},  //4
  {1,0,1,1,0,1,1,1},  //5
  {1,0,1,1,1,1,1,1},  //6
  {1,1,1,0,0,0,0,1},  //7
  {1,1,1,1,1,1,1,1},  //8
  {1,1,1,0,0,1,1,1}  //9
};

void setup() {
  for (int i = 2; i < 10; i++){
    pinMode(i, OUTPUT);
  }
}

void displayDigit(int num) {
  int pin = 2;
  for(int i = 0; i < 8; i++) {
    digitalWrite(pin+i, digits[num][i]);
  }
}

void loop() {
  for(int i = 0; i < 10; i++) {
    delay(1000);
    displayDigit(i);
  }
}








날짜 : 2016년 11월 10일



[아두이노] 초음센서로 삼색 LED 제어하기


#define TRIG 2
#define ECHO 3
#define RED 11
#define GREEN 10
#define BLUE 9

void setup(){
  pinMode(TRIG, OUTPUT);
  pinMode(ECHO, INPUT);
}
void loop(){
  digitalWrite(TRIG, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG, LOW);
  
  long distance = pulseIn(ECHO, HIGH)/58.2;
  analogWrite(RED, 0);
  analogWrite(GREEN, 0);
  analogWrite(BLUE, 0);
  
  if(distance < 10){
    analogWrite(RED, 255);
  }else if(distance < 20){
    analogWrite(GREEN, 255);
  }else if(distance < 30){
    analogWrite(BLUE, 255);
  }
  delay(100);
}







날짜 : 2016년 11월 10일