초급 예제

누구나 쉽게 따라해볼 수 있는 쉬운 예제들입니다. 가볍게 도전~!

모스부호 S.O.S 깜빡이

2014-08-06 08:46:29

개요

개요

LED의 깜빡임으로 모스부호로 SOS를 나타내는 회로를 만들어 보자.




이렇게 큰 모스부호기를 손바닥만 한 크기로 나타낼 수 있다는 점은 충분히 매력적이다.
또한, 간단한 깜빡임으로 나타내므로 쉽게 만들 수 있고 예제소스의 Blink를 응용해서 쉽게 만들 수 있다.
비록 간단한 SOS밖에 모스부호로 출력하지 못하지만 SOS출력이라는 목적으로 만들기 때문에 결과물을 보면 의외로 재밌다!


동영상

필요한 사전지식

함수구현

부품 목록

NO 부 품 명 수 량 상 세 정 보
1 아두이노 1  오렌지 보드
2 브레드 보드 1  
3 red LED 1  
4 270Ω저항 1  
5 케이블 2  



부품명 아두이노 브레드 보드 red LED 270Ω저항 케이블
부품 사진

하드웨어 making

전자 회로도





회로도

소프트웨어 coding

/*
33가지 프로젝트로 배우는 아두이노
- 모스부호 S.O.S 깜빡이
*/

int ledPin = 12; void setup() { pinMode(ledPin, OUTPUT); } void loop() { flash(200); flash(200); flash(200); //S delay(300); flash(500); flash(500); flash(500); //O flash(200); flash(200); flash(200); //S delay(1000); } void flash(int duration) { digitalWrite(ledPin, HIGH); //LED 켜기 delay(duration); digitalWrite(ledPin, LOW); //LED 끄기 delay(duration); }

소스설명

위 소스는 예제소스의 Blink예제를 이해가능하다면 쉽게 이해할 수 있는 간단한 소스이다.
주 사용명령어는 digitalWrite를 이용한 LED깜빡임이 전부이므로 이 깜빡임을 어떻게 표현해야 할지에 대한 응용이 가능하다면 다른방법으로도 소스를 구현할 수 있다.
2 digitalWrite(pin, value) 입력된 핀번호에 해당하는 핀으로 디지털값(High, Low)값을 출력


위 소스에서는 flash()함수를 사용하여 깜빡임을 flash함수에서 처리하게 하였고 loop()에서는 flash함수를 이용, 매개변수값으로 깜빡임 사이의 delay시간을 넣어줌으로 모스부호의 장, 단을 표현하였다. SOS표현이 끝나면 delay(1000)으로 끝났음을 표현한다.

※모스부호 SOS의 표현
 S -> *** (점 3번) 
 O -> ㅡㅡㅡ (선 3번)
 S -> *** (점 3번)

기술문서

  • 부품 목록
  • 회로도
  • 브레드보드 레이아웃
  • 스케치

kocoafabeditor

항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!

아두이노, LED, 초급