블록쌓기 프로그래밍

아두이노 S4A 프로그래밍

아두이노 S4A 프로그래밍 - 시작하기

Contents

※ 본 페이지의 내용은 S4A 공식 홈페이지(http://s4a.cat)에서 제공되는 자료를 참고하여 작성되었습니다. 원문 내용을 참고하려면 공식 홈페이지를 방문하기 바랍니다.


S4A 블록 프로그래밍은 아두이노를 위해 변형된 스크래치 프로그래밍 방법입니다. S4A 프로그래밍방법을 아래 순서에 따라 살펴볼 수 있습니다. 


아래 세부 내용들을 살펴볼 수 있습니다.

1) S4A 프로그램 다운로드 및 설치

2) S4A 프로그램 실행 및 예제

3) 기술적 참고사항들

4) S4A 아두이노호환 실습키트 추천

5) 기타 참고사항들


1) S4A 프로그램 다운로드 및 설치


그림입니다. 원본 그림의 이름: mem00001c7c000a.png 원본 그림의 크기: 가로 546pixel, 세로 114pixel 프로그램 이름 : www.inkscape.org


S4A를 설치하려면 여러분의 PC와 Arduino 보드에 소프트웨어를 모두 설치해야 합니다 . 다음 단계를 따라하기 바랍니다. 


참고: S4A는 MIT 라이선스에 따라 배포되는 무료 소프트웨어 입니다.

사실 스크래치가  스퀵 스몰 토크 이미지이기 때문에, 스퀵의 모든 코드는 실제로 최종 사용자 버전 자체와 함께 제공됩니다. 접속하려면 S4A "File"메뉴를 Shift + 왼쪽 클릭하고 "Exit User Mode"를 선택하십시오. 이제 당신은 고전적인 스퀵(Squeak) 2.8 이미지 앞에 있고, 브라우저, 작업 공간 및 익숙한 모든 도구에 액세스할 수 있습니다.

그러나 최종 사용자 버전에서 일부 코드가 컴파일되고 여러 변수 및 메시지 인수 이름이 누락되어, 다운로드 할 수있는 개발자를 위한 깨끗한 소스 코드 이미지를 아래 S4A 개발자 에디션에서 제공합니다.


S4A Developer Edition



(1) 컴퓨터에 S4A 설치하기

S4A는 세 가지 운영 체제에서 동작합니다. 당신의 컴퓨터 운영체제에 맞는 것을 다운로드하여 설치하십시오.

Windows

 Mac

 Linux (Debian)

 Linux (Fedora) (버전 1.5)

Raspbian (RaspberryPi 데비안) (버전 1.5)


아래 소개된 설치화면은 윈도우 운영체제 프로그램의 설치 및 아두이노 우노를 연결했을 때의 초기화면입니다.

그림입니다. 원본 그림의 이름: CLP000007142a98.bmp 원본 그림의 크기: 가로 504pixel, 세로 390pixel

그림입니다. 원본 그림의 이름: CLP000007140001.bmp 원본 그림의 크기: 가로 504pixel, 세로 390pixel그림입니다. 원본 그림의 이름: CLP000007140002.bmp 원본 그림의 크기: 가로 504pixel, 세로 390pixel


당신의 컴퓨터에서 동작하는 S4A 프로그램 초기 실행화면입니다.

그림입니다. 원본 그림의 이름: CLP000007140003.bmp 원본 그림의 크기: 가로 1297pixel, 세로 780pixel


(2) 아두이노에 펌웨어 설치하기

이 펌웨어는 S4A에서 아두이노(Arduino) 보드와 통신할 수 있도록 아두이노(Arduino) 보드 또는 아두이노 호환보드에 설치해야 하는 소프트웨어 입니다.

http://arduino.cc/en/Main/Software 의 지침에 따라 Arduino 통합 프로그램을을 다운로드하여 설치하십시오 . 

여기 에서 펌웨어를 다운로드하십시오. (참고: 프로그램 코드를 메모장에 복사하고, 다른 이름으로 저장 및 파일형식을 모든파일로 선택하고 “S4AFirmware16.ino” 파일명으로 저장합니다.)

아두이노 보드를 컴퓨터의 USB 포트에 연결하십시오.

Arduino IDE프로그램 환경에서 펌웨어 파일 (S4AFirmware16.ino)을 오픈합니다.

도구 메뉴에서 보드 버전과 보드가 연결된 직렬 포트를 선택하십시오.

아두이노 보드에 펌웨어를 업로드하십시오.



(3) 아두이노 드라이버(Arduino drivers)

Microsoft Windows 사용자인 경우 컴퓨터에 Arduino 드라이버를 설치해야 할 수 있습니다.

Microsoft Windows 용 Arduino 드라이버


2) S4A 프로그램 실행 및 예제


Arduino 객체는 기본적인 마이크로 컨트롤러 기능, 아날로그 및 디지털 쓰기 및 읽기, 더 높은 레벨의 것들을 위한 블록을 제공합니다. 표준 및 연속 회전 서보 모터를 관리하는 블록을 찾을 수 있습니다.


그림입니다. 원본 그림의 이름: mem00001c7c23e6.png 원본 그림의 크기: 가로 583pixel, 세로 67pixel 프로그램 이름 : www.inkscape.org


S4A에서 Arduino 보드는 특별한 종류의 스프라이트로 표현됩니다. Arduino 스프라이트는 보드가 연결된 USB 포트를 자동으로 찾습니다. 새로운 Arduino 스프라이트를 추가하면 동시에 여러 보드에 연결할 수 있습니다. 또한 도움말->블록 사용 도움말 메뉴를 선택하면 스크래치에서 사용할 수 있는 모든 블록을 살펴볼 수 있습니다.


(1) 버튼으로 LED 켜고 끄기

푸시버튼을 눌러 LED를 트리거하는 방법을 보여주는 간단한 예입니다. 아래 회로와 같이 전자부품들을 아두이노에 연결하십시오.

그림입니다. 원본 그림의 이름: mem00001c7c0002.png 원본 그림의 크기: 가로 640pixel, 세로 480pixel 사진 찍은 날짜: 2010년 10월 29일 오후 5:42

그림입니다. 원본 그림의 이름: SAM_4418.JPG 원본 그림의 크기: 가로 4320pixel, 세로 3240pixel 사진 찍은 날짜: 2017년 08월 03일 오후 3:54 카메라 제조 업체 : SAMSUNG F-스톱 : 3.2 노출 시간 : 1/30초 IOS 감도 : 480 색 대표 : sRGB 노출 모드 : 자동 35mm 초점 거리 : 24 선명도 : 일반 프로그램 노출 : 자동 제어 모드 측광 모드 : 평가 측광 EXIF


그 다음 S4A 프로그램 창에서 아래와 같이 프로그램 블록을 작성하십시오. 만약 아래 블록을 처음 작성하거나, 블록 작성이 어렵다고 생각되면 Code에서 다운로드 받은 후 S4A 프로그램 파일 메뉴에서 열기 또는 프로젝트 가져오기 기능을 사용하여 아래와 같이 나태낼 수 있습니다. (참고: 다운로드 블록의 센서 디지털핀이 1번으로 되어 있으므로 2번으로 변경해주어야 합니다.)

그림입니다. 원본 그림의 이름: CLP000007140005.bmp 원본 그림의 크기: 가로 914pixel, 세로 543pixel


작성된 프로그램 블록을 마우스로 클릭하면 테두리가 흰색으로 변합니다. 이 상태에서 아두이노에 연결된 푸시버튼을 누르면 13번 핀에 연결된 LED 의 불빛을 켜고 끌 수 있습니다.


그림입니다. 원본 그림의 이름: CLP000007140004.bmp 원본 그림의 크기: 가로 914pixel, 세로 543pixel



(2) RGB LED 켜고 끄기

스크래치 블록으로 RGB LED를 동작하는 방법입니다.

그림입니다. 원본 그림의 이름: mem00001c7c0003.png 원본 그림의 크기: 가로 480pixel, 세로 623pixel 사진 찍은 날짜: 2010년 10월 29일 오후 5:46

그림입니다. 원본 그림의 이름: CLP000007140006.bmp 원본 그림의 크기: 가로 914pixel, 세로 797pixel


















소개된 블록은 Code 에서 직접 다운로드 받을 수 있습니다.



(3) 버튼, LED 및 상태유지

버튼을 한 번씩 누를 때마다 LED 점등 상태를 변환하는 예제입니다. 전자회로 연결방법은 조금전 소개한 1번에서의 방법과 동일합니다.



그림입니다. 원본 그림의 이름: mem00001c7c0004.png 원본 그림의 크기: 가로 640pixel, 세로 480pixel 사진 찍은 날짜: 2010년 10월 29일 오후 5:43

그림입니다. 원본 그림의 이름: CLP000007140007.bmp 원본 그림의 크기: 가로 950pixel, 세로 582pixel


위에 소개된 블록은 Code 에서 직접 다운받을 수 있습니다.

더 많은 실행 예제는 S4A 홈페이지를 참고하기 바랍니다.


3) 기술적 참고사항들


S4A 프로그램 활용과 관련된 기술적 세부사항들입니다.


(1) 지원되는 보드(Supported board)

S4A는 Arduino Diecimila, Duemilanove 및 Uno와 함께 작동합니다. 다른 보드로써 프라이비 화이트(FRIBEE white) 또는 프라이비 에듀(FRIBEE EDU) 보드는 아두이노 우노와 호환기종이어서 잘 동작합니다.


(2) 연결성(Connectivity)

구성 요소는 특정 방식으로 연결되어야 합니다. S4A는 6 개의 아날로그 입력 (아날로그 핀), 2 개의 디지털 입력 (디지털 핀 2 및 3), 3 개의 아날로그 출력 (디지털 핀 5, 6 및 9), 3 개의 디지털 출력 (핀 10, 11 및 13) Parallax 연속 회전 서보 모터 (디지털 핀 4, 7, 8 및 12)를 연결합니다. Xbee와 같은 RF 모듈을 연결하여 보드를 무선으로 관리 할 수 ​​있습니다. S4A를 사용하면 가지고 있는 USB 포트만큼의 보드를 제어할 수 있습니다.


(3) 적합성(Compatibility)

S4A는 스크래치(Scratch) 와 하위 호환성이 있으므로 S4A에서 스크래치(Scratch) 프로젝트를 열 수 있습니다 . 그러나 당신의 S4A 프로젝트를 스크래치 커뮤니티에서 공유 할 수는 없습니다. 

Arduino 보드 와 함께 PicoBoard를 사용하는 것도 지원됩니다.


(4) 실험 계획안(Protocol)

S4A 는 액츄에이터 상태를 전송하고 75ms 마다 센서 상태를 수신함으로써 Arduino 와 상호 작용하므로 펄스 폭은 이 시간보다 커야합니다. 데이터 교환은 PicoBoard 프로토콜을 따르고 보드에 설치할 특정 프로그램 (펌웨어)이 필요합니다. 이렇게 하는 방법에 대한 자세한 내용은 다운로드 섹션을 참조하십시오 .


(5) 하드웨어? 어린이 놀이!

Scratch for Arduino (S4A)는 Arduino보드 와 상호 작용할 준비가 된 스크래치(Scratch) 의 수정 버전입니다 . 그것은 Citilab  Smalltalk Team에 의해 2010 년에 개발되었으며 전 세계의 많은 다른 프로젝트에서 많은 사람들이 사용하고 있습니다. 

우리의 주요 목적은 스크래치(Scratch) 의 사용 용이성을 이용하여 실제 세계와 상호 작용할 수 있는 쉬운 방법을 제공하는 것이었습니다 .


4) S4A 아두이노호환 실습키트 추천


S4A 스크래치 프로그래밍은 아두이노 우노 하드웨어를 기준으로 개발되었습니다. 따라서 아두이노우노 호환기종에서는 아두이노 우노와 동일하게 동작합니다.


아두이노 우노 호환기종인 프라이비 화이트와 실습에 필요한 필요 부품들로 구성된 “아두이노 원클릭v2 실습키트”를 추천합니다. 이 키트는 20핀 소켓 형태의 블루투스(Bluetooth) 안테나 또는 와이파이(WiFi) 안테나를 직접 소켓에 결합할 수 있어서 앱인벤터2 프로그래밍도 쉽게 확장 실습할 수 있습니다.


그림입니다. 원본 그림의 이름: 1.jpg 원본 그림의 크기: 가로 735pixel, 세로 551pixel


키드 구성품들

-  프라이비 화이트 1 개 (아두이노 우노 호환)

-  "재미삼아 아두이노" 교재 실습용 부품  1세트

 점프와이어 7ea / 피에조스피커 1ea / LED(R,G,B) / 포토리지스터 1ea /

 푸시버튼 1ea / 가변저항 1ea / NTC 써미스터 온도센서 1ea / 저항 및 브래드보드

-  USB2.0 A to B 케이블 1개

-  5AA 배터리홀더 및 전원잭 1개

-  AA배터리(2개입) 3개


   

          그림입니다. 원본 그림의 이름: clip_image001.jpg 원본 그림의 크기: 가로 752pixel, 세로 544pixel

                        프라이비 화이트 (FRIBEE white)



5) 기타 참고사항들


(1) S4A 펌웨어가 보드를 손상시킬 수 있습니까?

실제로, S4A "펌웨어"는 다른 Arduino 스케치와 같으므로 전혀 위험이 없습니다. 물론 보드에 다른 스케치를 업로드한 다음 필요할 때 S4A 펌웨어를 다시 업로드할 수 있습니다.


(2) S4A 프로그램을 아두이노 보드에 푸시할 수 있습니까?

현재 아두이노 바이너리로 코드를 컴파일할 수 있는 방법은 없습니다. S4A는 스크래치(Scratch) 의 이전 버전 ( Smalltalk 에서 개발 된 것) 의 개선으로 인식되어야 하며 , 현실 세계의 객체를 모든 사람, 특히 어린이들이 프로그래밍하는 방법을 배우기 위해 이러한 실제 Scratch "normal objects"를 다루는 것과 같은 방식으로 객체를 처리 하므로 객체간에 상호 작용할 수 있습니다. 즉, 직접 보드를 프로그래밍하는 것이 아니지만, 동시에 프로그래밍과 전자 공학을 배우는 데 도움이 되는 방식입니다. 그래서 USB 케이블을 제거하는 것을 원한다면,  XBee 와 같은 무선 장치를 사용하는 것을 추천합니다.


(3) S4A에서 아두이노의 핀아웃 구성을 변경할 수 있습니까?

불행하게도 핀 구성은 펌웨어와 S4A의 소스 코드 모두에서 하드 코드로 되어 있으며, S4A 방식은 소스 코드를 "즉시" 변경할 수 없도록 만들었습니다. 그래서 보드와 프로그램 간의 통신 프로토콜을 향상 시키거나 더 나은 방법을 찾을 때까지는 핀아웃을 사용자 정의하는 유일한 방법은 S4A 소스 코드와 펌웨어를 변경하는 것입니다. 사용할 수 있는 스페인어 비공식 가이드가 여기 (보르하 페레즈 에 감사) 있습니다.


(4) S4A는 어떤 보드를 지원합니까?

S4A는 Arduino Diecimila, Duemilanove 및 Uno와 함께 작동합니다. 다른 보드는 테스트되지 않았지만 작동 할 수도 있습니다. 프라이봇에서 판매중인 아두이노 우노 호환보드 “프라이비 화이트” 또는 “프라이비 에듀” 제품은 잘 동작합니다.


(5) S4A가 내 PC에서 작동합니까?

S4A는 Microsoft Windows, GNU / Linux 및 MacOS의 세 가지 주요 소비자 운영 체제에서 작동합니다. 예, 아마도 PC에서 작동할 것입니다.


(6) 설치 문제 해결

64 비트 Ubuntu/Debian 에 설치할 수 없습니다.


데비안 버전의 S4A는 i386 시스템 용으로 만 제공됩니다. 64 비트 버전에서 작동 시키려면 터미널에서 루트로 다음 단계를 따라야합니다.

i386 패키지를 활성화하고 ia32-libs를 설치하십시오.

dpkg --add-architecture i386
apt-get update
apt-get install ia32-libs

그런 다음 S4A를 설치하십시오.

dpkg -i --force-architecture S4A16.deb

MacOS에 설치하는 데 문제가 있습니다.

MacOS 10.8 (Mountain Lion)부터 게이트 키퍼는 기본적으로 "Mac App Store 및 식별 된 개발자"에서만 다운로드 한 응용 프로그램을 허용하도록 설정됩니다. S4A를 설치하려면이 옵션을 "Anywhere"로 변경해야합니다.

더 많은 정보는 여기에 있습니다 .


(7) 보드 연결 문제 해결

* 보드를 연결했는데 S4A가 보드를 감지하지 못했습니다.

S4A 를 시작하기 전에 보드에 최신 S4A 펌웨어 를 업로드했는지 확인하십시오 . 이렇게 하려면 공식 Arduino IDE 가 필요합니다 .

이 웹 사이트 의 다운로드 섹션에 있는 지침을 따르십시오 .


* 그래도 여전히 보드가 감지되지 않음

이는 Windows 운영 체제에서 자주 발생하는 알려진 문제입니다. 보드와의 연결을 중단하고 (S4A에서 센서 보드를 마우스 오른쪽 버튼으로 클릭), USB 케이블을 뽑았다가, 다시 꽂은 다음 연결을 다시 시작하십시오. 프로그램이 여전히 보드를 감지하지 못하면 직렬 COM 포트가 충돌하여 S4A를 열려고 할 때 응답하지 않을 수 있습니다. 이를 피하려면 직접 센서 보드를 마우스 오른쪽 단추로 클릭하고 직렬 포트를 선택하거나 Windows 장치 관리자를 통해 지정된 Arduino COM 포트를 변경하십시오. 이 문제에 대한 자세한 도움말은 이 가이드 를 참조하십시오.


(8) 커뮤니티

질문과 답변이 있으면 커뮤니티 지원 메일 목록을 사용하십시오. 다음 주소로 이메일을 보내 구독 할 수 있습니다.

s4a-community+subscribe@googlegroups.com

일단 구독하면 목록에서 다음 위치로 이동할 수 있습니다.

s4a-community@googlegroups.com

그리고 다음 주소에서 메일 목록 포럼을 구독하고, 기여하고, 탐색 할 수 있습니다.

메일 목록 웹 사이트


(9) 연락처

버그 또는 제안 사항 을 보고하려면 scratch@citilab.eu 로 연락하십시오.