카테고리 없음

Ultrasonic sensor HC-SRO4 Scratch S4A 1.6 버전 연결

abc0123 2017. 11. 2. 16:44
반응형

 

스크래치 프로그램에 관심이 있어서 이런저런 예제를 만들어보던 중 스크래치X와 아두이노를 연결해서 여러 가지 센서와 액추에이터를 사용해보고 있었는데 ScratchX에서는 초음파 센서를 사용할 수 있는 Firmware를 제공하지 않는 것 같더라. (내가 못 찾는 건지 모르겠지만 ...ㅠ.ㅠ)

 

그래서 알아보던 중 S4A 1.6 버전의 스크래치에서는 초음파센서 펌웨어를 제공하고... 사용할 수 있다는 걸 알게 돼서 파일들을 구한 후 연결을 해봤는데 그 과정을 정리해보려고 한다. (참고로 내가 갖고 있는 센서는 가장 저렴한 HC-SRO4이다.)

 

 

▲ 뭐 대충 영상처럼 스크래치와 아두이노를 연결한 후 초음파센서의 값을 받아서 그 거리의 값이 일정 값 이하로 내려가면 즉, 사물과의 거리가 가까워지면 LED를 켜도록 해서 센서의 값이 제대로 들어오는지 확인해보는 과정이다.

 

 

 먼저 S4A 스크래치 프로그램을 구하기 위해서 홈페이지로 갔다.

 

S4A

 

▲ 홈페이지 주소는 S4A 이고... 랜딩 페이지에서 파일을 받을 수 있는 [Downloads] 메뉴로 이동해본다.

 

윈도우용 파일

 

▲ OS별로 S4A 설치 파일 목록들이 보인다. 나는 Winodws를 사용하고 있기 때문에 해당 파일을 받으려고 클릭을 해봤는데...

 

Not Found

 

▲ 이런...;;; 더 이상 파일을 제공해주지 않나???ㅠ.ㅠ 일시적인 현상인지는 정확히 모르겠다. 여하튼 지금은 파일을 받을 수 없기 때문에 어쩔 수 없이 구글에서 따로 검색을 해서 파일을 찾아서 받았다. 구글에서 쉽게 찾을 수 있으니 OS에 맞는 걸 받으면 될 것이다. (혹시 못 찾으시는 분들은 댓글에 메일 주소 주시면 보내드릴게요.)

 

 그렇게 설치를 완료한 S4A 스크래치를 실행해본다.

 

스크래치 실행

 

▲ 개인적으로 그동안 사용했던 스크래치X 보다 이 녀석이 더 괜찮은 것 같더라. 그런데 왜 홈페이지에서 설치 파일을 안주는 거지?ㅠ.ㅠ 여하튼 이렇게 프로그램을 설치했으니 이제 아두이노와 초음파 센서로 회로를 만들어보자.

 

 

회로

 

▲ 아두이노를 몇 번 만져봤더니 이런 회로 만드는 건 그냥 손쉽게 된다. 일단 초음파 센서의 Trig는 디지털 핀 3번에 연결을 하고 Echo는 아날로그 5번 핀에 연결을 해서 값을 받도록 했다. 그리고 그 값이 일정 값 이하로 떨어지면 즉, 사물이 가까워지면 LED를 켜도록 하기 위해서 디지털 13번 핀에 연결을 한 상태이다.

 

아날로그 핀

 

이제 S4A 초음파센서 펌웨어를 아두이노에 업로드하자. 파일이 필요한 분들은 아래 꺼 받으시면 된다.

 

S4AFirmware16.ino

 

 그리고 이 펌웨어를 사용할 때는 반드시 Trig는 디지털 3번 핀에 Echo는 아날로그 5번 핀에 연결해서 사용을 해야 한다.

 

펌웨어 업로드

 

▲ 아두이노에 Firmware를 업로드했으니 다음은 S4A 스크래치와 준비해 놓은 회로를 연결해서 코딩을 하자.

 

 

아날로그 5번의 값

 

▲ 일단 아두이노를 연결하니 아날로그 핀들의 값들이 들어온다. Analog5에는 사물과의 거리의 값이 Cm단위로 변환이 돼서 들어온다. 이제 이 값을 이용해서 코딩을 해보자.

 

변수 만들기

 

▲ 먼저 아날로그 값을 저장할 '초음파'라는 이름의 변수를 선언했다.

 

코딩

 

▲ 그리고 프로그램이 시작되면 변수의 값에 아날로그 5번의 값을 저장하고 있으며 만약 그 값이 10보다 작으면 LED가 연결된 디지털 13번 핀을 켰다가 1초 후에 끄도록 하고 있다. 이제 초록 깃발을 클릭해서 실행을 해보면 맨 앞에서 봤던 영상처럼 사물이 10cm 이하로 가까워지면 LED가 켜지는 프로그램이 실행된다.

 

이렇게 해서 스크래치에서 초음파 센서의 값을 이용한 코딩을 해봤는데 유용하게 사용될 예제인듯하니 앞으로 많이 응용해보기로 하고 이번 글은 여기서 마무리한다.

반응형