전체상품목록 바로가기

본문 바로가기



현재 위치

  1. 게시판
  2. 코딩교실

LCD, 서보모터, 조이스틱를 이용한 버스 정류장 햇빛 차단 장치
subject LCD, 서보모터, 조이스틱를 이용한 버스 정류장 햇빛 차단 장치
writer (ip:)
  • date 2016-10-06 12:19:47
  • recom 추천 하기
  • hit 428
  • point 0점


버스 정류장 햇빛 차단 장치



준비물


아두이노 우노 보드

브레드보드

점프선

서보모터

 

2

2

30

1

LCD

10K 가변저항

220옴 저항

조이스틱

가변저항.jpg

 

220저항.jpg

1

1

1

1

RGB LED 모듈

조도센서

 

 

 

 


 


작품설명


서보모터의 회전을 조이스틱으로 조절하여 정류장 천막의 각도를 조절하며 햇빛을 차단 할 수 있다.


LCD판으로 도착 버스 정보를 출력하며 가변저항으로 LCD밝기를 조절 할 수 있다.


회로도





소스코드


////////////////////////////////////////////////////////////

  //버스 정류장 햇빛 차단 장치 (1) 차단각도조절

  //Think coding 딩코

  ///////////////////////////////////////////////////////////


#include <Servo.h>
Servo myservo;       // create servo object to control a servo
int pos = 0;           // variable to store the servo position


int JoyStick_X = 0;    //x
int JoyStick_Y = 1;    //y
int JoyStick_Z = 3;    //key


int ServoPin  = 9;
int CdsPin = 8;   //
버스정류장 조도센서 pin 핀 번호 지정
int R = 7;        //LED
등 켜기 pin 핀 번호 지정
int G = 6;        //LED
등 켜기 pin 핀 번호 지정
int B = 5;        //LED
등 켜기 pin 핀 번호 지정
int slope = 90;
 


void setup() {
  Serial.begin(9600) ;
  myservo.attach(ServoPin);  // attaches the servo on pin 9 to the servo object
  pinMode(JoyStick_Z, INPUT_PULLUP);
  pinMode(CdsPin, OUTPUT); //
조도센서
  pinMode(R,OUTPUT);
  pinMode(G,OUTPUT);
  pinMode(B,OUTPUT);


}


void loop() {
  int x, y, z ;
  int flog = 0;



  x = analogRead(JoyStick_X);
  y = analogRead(JoyStick_Y);
  z = digitalRead(JoyStick_Z);


  int brightness = analogRead(A2); //조도센서 부르기
  Serial.print("x : ");
  Serial.print(x);


 



  ////////////////////////////////////////////////////////////////////////////////
  //
조이스틱 이동에 따른 차단막 기울기 정하기
///////////////////////////////////////////////////////////////////////////////
  if (600< x && x <=1023)
  {
     myservo.write(slope);
     slope++;
     delay(100);
  }


   if (0<= x && x<400)
  {
     myservo.write(slope);
     slope--;
     delay(100);
  }



 
  ///////////////////////////////////////////////
  //
조도에 따른 LED가로등 켜기
  Serial.print("brightness : ");
  Serial.println(brightness);
  if ( brightness > 400 )
  {
   ledOn(); //
어두우면 불 켜지기
  }
  else
  {  
   ledOff();
  }
 
}


 


void ledOn()
{
///////////////////////////////////////////////////////////////////////////////////
  //LED
가로등 등켜기
  ///////////////////////////////////////////////////////////////////////////////////
  analogWrite(R,255);
  analogWrite(G,255);
  analogWrite(B,0);
}


void ledOff()
{
///////////////////////////////////////////////////////////////////////////////////
  //LED
가로등 등켜기
  ///////////////////////////////////////////////////////////////////////////////////
  analogWrite(R,0);
  analogWrite(G,0);
  analogWrite(B,0);
}


 


 


////////////////////////////////////////////////////////////

  //버스 정류장 햇빛 차단 장치 (2)  LCD

  //Think coding 딩코

  ///////////////////////////////////////////////////////////


#include <LiquidCrystal.h>    // include the library code
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);


void setup() {
  lcd.begin(16, 2); // set up the LCD's number of columns and rows

}


void loop() {

  for (int i=16 ; i >=0 ; i-- )
  //
움직이는 글자
  {
   lcd.setCursor(0, 0);
  lcd.print("               ");   
   lcd.setCursor(i, 0);
        ////1
번째 라인의 글자 시작위치 지정
   lcd.print("THE NEXT BUS") ; //
쓸 항목
   delay(500);
  
  }


// 시작위치, 쓰고 싶은말 원하는 위치 지정하여 쓰기


lcd.setCursor(0, 1);
  lcd.print("No:") ;
  lcd.setCursor(3, 1);
       //2
번째 라인의 글자 시작위치 지정


  lcd.print(millis() / 1000);   //쓸항목 print the number of seconds since reset:
  lcd.setCursor(6, 1);
  lcd.print("5517");
}


 

동영상

 

문의처


다두이노와 딩코가 함께하는 코딩스쿨

교육문의: daduino@daduino.co.kr



file 크기변환_그림1.jpg
password * 삭제하려면 비밀번호를 입력하시고 엔터키를 눌러주세요.
목록 삭제 수정 답변
댓글 수정

password

수정 취소

/ byte

reply

댓글 입력

name password 관리자답변보기

확인

/ byte

* 왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)

회원에게만 댓글 작성 권한이 있습니다.


이전 제품

다음 제품