Blockly@rduino: 블록 코딩으로 아두이노 프로젝트 만들기 - 스크래치 방식 시각적 프로그래밍
지원 보드
아두이노 우노 (Arduino UNO)
아두이노 메가 2560 (Arduino Mega 2560)
관련 앱 및 온라인 서비스
Blockly@rduino - 메인 웹 에디터
Blockly@rduino 포럼 - 커뮤니티 지원
Blockly@rduino 위키 - 문서 및 튜토리얼
프로젝트 소개
Blockly@rduino는 아두이노 보드를 위한 '스크래치 스타일' 블록 프로그래밍 환경입니다. 학교 교육 현장과 입문자에게 필요한 다양한 기능을 제공하는 것이 목적입니다.
스크래치는 전 세계 어린이들에게 프로그래밍을 쉽게 익히게 한 혁신적 도구입니다. 이를 하드웨어 제어(LeapMotion, 아두이노, Wii, Picaxe 등)로 확장한 시도가 많았으나, 대부분 '실시간 연결 제어'에 그쳤습니다. 진정한 목표는 블록으로 프로그램을 짜고 독립 실행 가능한 코드를 생성하는 것이었습니다.
기존 BlocklyDuino 프로젝트가 방치되어 있어 개발자 David Li에게 연락 후 포크를 결정, 수개월 협업 끝에 완전히 새로운 버전인 Blockly@rduino를 탄생시켰습니다.
주요 기능 및 특징
보드 및 언어 선택
대상 보드(우노, 메가 등)와 프로그래밍 언어(한국어 포함 다국어) 선택 가능.
업로드 방식 선택
온라인 업로드: Codebender 플러그인 활용 (브라우저에서 바로 보드에 업로드)
오프라인 업로드: Blockly@rduino-communication 툴로 로컬 IDE 없이 업로드
실시간 보드 통신 (FirmataPlus 기반)
Alan Yorinks의 FirmataPlus 라이브러리 덕분에 블록 에디터에서 직접 핀 입출력 테스트 가능. 코드 업로드 전 센서/액추에이터 동작 확인에 유용.
난이도별 블록 세트 제공
학생 수준에 맞춰 초급/중급/고급 블록 세트 전환 가능. 불필요한 블록 숨김으로 학습 집중도 향상.
블록 카테고리 커스터마이징
사용할 블록 카테고리를 체크박스로 선택/해제. 지속적으로 새 블록 추가 중.
드래그 앤 드롭 프로그래밍 & 실시간 코드 미리보기
블록을 조립하면 우측에 아두이노 C++ 코드가 실시간 생성/표시. 블록과 텍스트 코드 매핑 학습에 도움.
코드 편집 및 저장
생성된 코드 직접 수정 가능. 로컬 아두이노 IDE에 복사해 사용하거나 저장.
Codebender 플러그인 원클릭 업로드
시리얼 모니터 통신
예제 프로젝트 라이브러리 & 나만의 예제 만들기
교육용 '키트' 개념 도입
보드뿐 아니라 특정 교육 키트(센서/모듈 세트) 선택 시 해당 핀아웃과 전용 블록 카테고리 자동 구성. 수업 준비 시간 단축.
접근성 개선 및 지속적 업데이트
그래픽 향상 외에 웹 접근성(스크린 리더 지원 등) 개선 작업도 진행 중. 오픈소스 프로젝트로 커뮤니티 기여 환영.