컨텐츠 바로가기 상단메뉴 바로가기

  • HOME
  • 매뉴얼
  • 분야별 매뉴얼

분야별 매뉴얼

메이커들의 다양한 프로젝트 매뉴얼을 카테고리에 따라 조회하실 수 있습니다.
매뉴얼을 통해 메이커들의 실력향상과 기술습득을 통한 응용 매뉴얼의 공유를 희망합니다

전자통신/디지털 제작

전자주사위만들기

이전

다음

Step 1 : 전자주사위 만들기

 

아두이노 전자 주사위를 스위치와 LED램프를 이용하여 random()이라는 함수를 이용하여 만들어 보겠습니다.

 

 

재료목록

 

부품명,파트
NO 재료명 수량
1 아두이노 UNO 1
2 브레드 보드 1
3 수수점퍼선 20
4 택트스위치 1
5 저항(220Ω) 7
6 저항(10KΩ) 1
7 LED램프(5mm) 7

 

 

만드는 과정 첫째 :

 

브레드 보드에 7개의 LED램프와 택트스위치를 아래 그림처럼 배치한다.

LED램프는 중앙 LED램프를 제외하고 LED램프를 2개씩 한조로 4개의 묶음으로 만들기 위한 과정이다.

 

저항 220Ω은 LED램프를 보호하기 위해 LED램프의 (-)극에 직렬로 연결한다.

저항 10KΩ은 택트스위치의 풀다운 저항으로 사용한다.

 

 

 

만드는 과정 둘째 :

 

택트 스위치 원리를 보면 택트 스위치의 버튼을 누르면 좌우핀이 도통이 된다.

버튼에서 손을 떼는 순간 좌우핀이 단락이 되게된다.

택트스위치의 좌측은 아두이노의 5V을 연결하고, 반대쪽은 저항 10KΩ을 연결하고 GND로 연결한다.

그리고 저항 10KΩ이 연결된 택트 스위치핀은 아두이노 디지털 6핀에 연결한다.

 

 

 

만드는 과정 셋째 :

 

LED램프을 4개로 묶어준다.

 

① 묶음 : 중앙 LED램프

② 묶음 : 중앙의 위 LED램프와 아래 LED램프 한조

③ 묶음 : 위 오른쪽 LED램프와 아래쪽 왼쪽 LED램프 한조

④ 묶음 : 위 왼쪽 LED램프와 아래쪽 오른쪽 LED램프 한조

 

묶음은 LED램프(+)극을 수수점퍼선을 이용하여 묶어준다.

 

그리고 저항이 연결된 LED램프의 (-)극은 브레드 보드의 GND에 연결한다.

 

 

 

만드는 과정 넷째 :

 

LED램프의 (-)극은 세번째에서 브레드 보드 GND에 연결이 다 되었으면 중앙의 LED램프 ① 묶음의 (+)극은 아두이노 보드 디지털 7핀에 연결한다.

그리고 ② 묶음의 (+)극은 아두이노 보드 디지털 9핀에 연결하고, ③ 묶음의 (+)극은 아두이노 보드 디지털 8핀에 연결하고, ④ 묶음의 (+)극 아두이노 보드 디지털 10핀에 연결한다.

 

 

 

만드는 과정 다섯째 :

 

마지막으로 아두이노 보드의 5V와 GND을 브레드 보드에 연결한다.

 

이제 코딩을 해보면

 

# define button 6
# define led1 7
# define led2 8
# define led3 9
# define led4 10


void setup() {
  Serial.begin(9600);
  pinMode(button,INPUT);
  pinMode(led1,OUTPUT);
  pinMode(led2,OUTPUT);
  pinMode(led3,OUTPUT);
  pinMode(led4,OUTPUT);
}

void loop() {
 int buttonstate=digitalRead(button);
 if(buttonstate==HIGH){
   int ran=random(1,7);
    Serial.println(ran);
  if(ran==1){
    digitalWrite(led1,HIGH);
    delay(2000);
  }
   if(ran==2){
    digitalWrite(led3,HIGH);
    delay(2000);
  }
   if(ran==3){
    digitalWrite(led1,HIGH);
    digitalWrite(led3,HIGH);
    delay(2000);
  }
   if(ran==4){
    digitalWrite(led2,HIGH);
    digitalWrite(led4,HIGH);
    delay(2000);
  }
  if(ran==5){
     digitalWrite(led1,HIGH);
    digitalWrite(led2,HIGH);
    digitalWrite(led4,HIGH);
    delay(2000);
  }
  if(ran==6){
     digitalWrite(led2,HIGH);
    digitalWrite(led3,HIGH);
    digitalWrite(led4,HIGH);
    delay(2000);
  }
  digitalWrite(led1,LOW);
  digitalWrite(led2,LOW);
  digitalWrite(led3,LOW);
  digitalWrite(led4,LOW);
 }
}
								

 

이렇게 코딩이 끝나고 스위치를 눌러보면 아래 사진처럼 random()함수에 의해 1개에서 6개 사이 갯수로 LED램프에서 불이 들어오게된다.

 

 

 

 

 

글.사진 / 성동권

첨부파일

Add a comment

유저

맨 위로
TOP