본문 바로가기
Projects/Parking Toy using Arduino

엔지니어 아빠의 주차장 만들기 1 -코딩하기

by Answer Choi 2015. 8. 25.
반응형

우리 아들이 자동차를 워낙 좋아하는 지라 이번 생일엔 주차장을 만들어 주기로 했습니다.


차는 많으니^^


예전에 했던일을 바탕으로 간단하게 만들어 보기로 했습니다.


우선 준비물은 아두이노, 서보모터, 근접센서, CDS센서, LED, 저항등입니다.




구매물품은 위의 아두이노, 적외선 근접센서, 그리고 서보모터입니다.


가격은 얼마되지 않네요.


근접센서는 메카 솔루션 홈페이지에 가면 결선도를 볼 수 있습니다.





위와 같이 연결하면 Digital로 값을 읽기 때문에 0이나 1만 출력되게 됩니다.


저는 좀 더 세분화된 값을 얻기 위해 Analog로 연결했습니다.


1
2
3
4
5
6
7
8
9
10
11
bool sensor1(){
  bool detect;
  int ir_value=analogRead(5);
  Serial.println("sensor1 is ");
  Serial.println(ir_value);
  if(ir_value<850)
      detect=true;
  else
      detect=false;
  return detect;
}
cs


서보모터는 <Servo.h> 라이브러리를 추가하면 아두이노에서 쉽게 제어가 가능합니다.


주로 사용할 명령어는 attach(), write(), read()정도 입니다.


서보 모터의 연결은 PWM에 연결을 해줍니다.



1
2
3
4
5
6
7
8
9
10
11
void block_bar(bool move_state){
  if(move_state){
    
    servo.write(0);               
    exit_flag=1;
        
    }else{
    servo.write(90);
      
    }
}
cs


CDS는 ADC로 값을 받아오면 됩니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
bool cds_read(){
  int cds=analogRead(0);
  int sum_cds=0;
  for(int i=0;i<10;i++){
    sum_cds+=cds;
  }
  sum_cds=sum_cds/10;
  Serial.println("cds is ");
  Serial.println(sum_cds);
  if(sum_cds>500)
    return true;
  else
    return false;
}
cs


여기까지 작동 영상입니다.






반응형

인기글