블록코딩

파이보 메이커는 Blockly 기반의 블록 코딩을 지원합니다. 기본 블록 외에 파이보를 쉽게 쓸 수 있도록 openpibo 파이썬 패키지와 이어진 블록이 있습니다. 블록 코드는 [파이썬 코드] 버튼으로 파이썬으로 볼 수 있습니다.

참고

이 페이지는 IDE 툴박스에서 자동으로 만들었습니다(docs/tools/gen_block_guide.py). 블록 그림은 툴박스에서 꺼냈을 때의 기본값입니다. 모든 기능은 파이보 안에서 돌아가며 인터넷이 필요한 것은 [수집] 분류뿐입니다.

블록 구성

Blockly 기본 블록 (Blockly 공식 블록 — 설명은 블록에 마우스를 올리면 나옵니다)
├── 논리 (7)
├── 반복 (5)
├── 수학 (13)
├── 문자 (15)
├── 목록 (12)
├── 색상 (4)
├── 변수 (만들면 생김)
└── 함수 (만들면 생김)

파이보 전용 블록
├── 시작 (1)
├── 소리 (4)
├── 수집 (4)
├── 장치 (8)
├── 동작 (10)
├── 화면 (11)
├── 음성 (8)
├── 시각 (16)
├── 인식 (36)
└── 도구 (12)

파이보 전용 블록

시작

클릭했을때

코드를 실행합니다.

소리

오디오 [폴더 선택 ▾] [파일 선택 ▾] ([80]) 크기로 재생하기

음악 파일을 골라서 원하는 소리 크기로 재생합니다.

오디오 [폴더 선택 ▾] ([audio]) . [mp3 ▾] ([80]) 크기로 재생하기

음악 파일 이름을 적어서 소리를 재생합니다.

오디오 멈추기

재생 중인 소리를 멈춥니다.

([5]) 초 녹음하고 [폴더 선택 ▾] ([audio]) . [wav ▾] 저장하기

설정한 시간 동안 소리를 녹음하고 파일로 저장합니다.

수집

위키피디아에서 ([로봇]) 찾아보기

(인터넷 필요!) 위키피디아에서 입력한 내용을 찾아줍니다. 값을 돌려주는 블록

[서울 ▾] 날씨 예보 가져오기

(인터넷 필요!) 선택한 지역의 날씨 정보를 가져옵니다. 값을 돌려주는 블록

[서울 ▾] 날씨의 [오늘 ▾] [예보 ▾] 찾아보기

(인터넷 필요!) 선택한 지역의 특정 날씨 정보를 찾아줍니다. 값을 돌려주는 블록

[속보 ▾] 뉴스에서 [제목 ▾] 찾아보기

(인터넷 필요!) 뉴스에서 입력한 내용을 검색합니다. 값을 돌려주는 블록

장치

RGB ([0]) ([0]) ([0]) ([0]) ([0]) ([0]) 눈 불빛 바꾸기

눈 불빛의 색을 변경합니다.

색상 ([변수 ▾]) ([변수 ▾]) 눈 불빛 바꾸기

색상 변수를 사용해 눈 불빛의 색을 변경합니다.

어댑터 확인하기

어댑터가 연결되어 있는지 확인합니다. 값을 돌려주는 블록

배터리 확인하기

배터리 상태를 확인합니다. 값을 돌려주는 블록

시스템 메시지 확인하기

시스템 메시지를 확인합니다. 값을 돌려주는 블록

사람 감지하기

사람이 있는지 감지합니다. 값을 돌려주는 블록

터치 감지하기

터치가 감지되었는지 확인합니다. 값을 돌려주는 블록

버튼 확인하기

버튼이 눌렸는지 확인합니다. 값을 돌려주는 블록

동작

동작 목록 가져오기

사용할 수 있는 동작 목록을 가져옵니다. 값을 돌려주는 블록

내 동작 목록 가져오기

내 동작(사용자가 만든 동작) 목록을 가져옵니다. 값을 돌려주는 블록

동작 [동작 선택 ▾] ([1]) 번 실행하기

선택한 동작을 정해진 횟수만큼 실행합니다.

동작 ([wave1]) ([1]) 번 실행하기

입력한 동작을 정해진 횟수만큼 실행합니다.

내 동작 ([나의 모션]) ([1]) 번 실행하기

사용자가 만든 동작을 정해진 횟수만큼 실행합니다.

동작 초기화하기

모든 모터를 초기 상태로 만듭니다.

[오른발[0] ▾] 모터를 ([0]) 도로 이동하기

선택한 모터를 정해진 각도로 움직입니다.

[오른발[0] ▾] 모터를 ([40]) 속도로 설정하기

선택한 모터의 움직이는 속도를 설정합니다.

[오른발[0] ▾] 모터를 ([0]) 가속도로 설정하기

선택한 모터의 가속도를 설정합니다.

모든 모터 ([0,0,0,0,0,0,0,0,0,0]) ([1000]) ms 동안 움직이기

모든 모터를 정해진 시간 동안 움직이도록 설정합니다.

화면

화면 글자 크기 ([30]) 설정하기

화면에 보이는 글자 크기를 설정합니다.

좌표 ([0]) ([0]) ([안녕하세요]) 화면에 저장하기

화면에 글자를 저장합니다.

이미지 [폴더 선택 ▾] [파일 선택 ▾] 화면에 저장하기

화면에 선택한 이미지를 저장합니다.

이미지 [폴더 선택 ▾] ([sample]) . [jpg ▾] 화면에 저장하기

화면에 입력한 이미지를 저장합니다.

이미지 ([변수 ▾]) 화면에 저장하기

화면에 이미지 변수를 저장합니다.

좌표 ([0]) ([0]) , ([0]) ([0]) 네모 [채우기 ▾] 화면에 저장하기

화면에 네모를 저장합니다.

좌표 ([0]) ([0]) , ([0]) ([0]) 원 [채우기 ▾] 화면에 저장하기

화면에 원을 저장합니다.

좌표 ([0]) ([0]) , ([0]) ([0]) 선 화면에 저장하기

화면에 선을 저장합니다.

화면 반전하기

화면의 색을 반전합니다.

화면 표시하기

화면에 저장된 내용을 표시합니다.

화면 지우기

화면을 초기화합니다.

음성

([5]) 초 동안 듣고 글자로 바꾸기

파이보 마이크로 듣고, 말이 끝나면 글자로 바꿉니다. 기기 안에서 처리하고 한국어·영어는 자동으로 알아봅니다. 처음 한 번은 준비하느라 몇 초 더 걸립니다. 값을 돌려주는 블록

([안녕하세요]) 를 [남성 1 ▾] 목소리로 [폴더 선택 ▾] ([tts]) . [mp3 ▾] 에 저장하기(ondevice)

입력한 글자를 파이보 안에서 목소리로 만들어 파일로 저장합니다. 한국어·영어는 자동으로 알아봅니다.

([안녕하세요]) 를 [남성 1 ▾] 목소리 ([80]) 크기로 말하기(ondevice)

입력한 글자를 파이보 안에서 목소리로 만들어 말합니다. 한국어·영어는 자동으로 알아봅니다.

([안녕하세요]) 를 목소리 [폴더 선택 ▾] ([tts]) . [mp3 ▾] 에 저장하기(E-speak)

입력한 글자를 espeak 기계 목소리로 파일에 저장합니다.

([안녕하세요]) 를 목소리 ([80]) 크기로 말하기(E-speak)

입력한 글자를 espeak 기계 목소리로 말합니다.

대화 서버 시작하기(LLM)

대화 서버를 시작합니다.

([안녕하세요]) 대화하기, 역할 (값) (LLM)

대화 서버(LLM)에 글을 보내고 대답을 받습니다. 역할에는 파이보가 어떤 말투·역할로 대답할지 적습니다. 값을 돌려주는 블록

대화 서버 종료하기(LLM)

대화 서버를 끕니다.

시각

사진 찍기

카메라로 사진을 찍습니다. 값을 돌려주는 블록

이미지 [폴더 선택 ▾] [파일 선택 ▾] 불러오기

선택한 이미지 파일을 불러옵니다. 값을 돌려주는 블록

이미지 [폴더 선택 ▾] ([image]) . [jpg ▾] 불러오기

입력한 이미지 파일을 불러옵니다. 값을 돌려주는 블록

이미지 색상 ([변수 ▾]) 매트 만들기

고른 색으로 채운 빈 이미지를 만듭니다. 값을 돌려주는 블록

이미지 ([변수 ▾]) ⏵ [폴더 선택 ▾] ([image]) . [jpg ▾] 에 저장하기

이미지를 파일로 저장합니다.

이미지 ([변수 ▾]) IDE에 보여주기

이미지 변수를 IDE에서 보여줍니다.

이미지 ([변수 ▾]) OLED에 보여주기

이미지 변수를 OLED에서 보여줍니다.

이미지 ([변수 ▾]) 좌표 ([0]) ([0]) , ([0]) ([0]) 색상 ([변수 ▾]) 굵기 ([2]) 네모 그리기

이미지에 네모를 그립니다.

이미지 ([변수 ▾]) 좌표 ([0]) ([0]) 반지름 ([0]) 색상 ([변수 ▾]) 굵기 ([2]) 원 그리기

이미지에 동그라미를 그립니다.

이미지 ([변수 ▾]) 좌표 ([0]) ([0]) ⏵ ([0]) ([0]) 색상 ([변수 ▾]) 굵기 ([2]) 선 그리기

이미지에 선을 그립니다.

이미지 ([변수 ▾]) 좌표 ([0]) ([0]) 크기 ([30]) 색상 ([변수 ▾]) ([안녕하세요]) 표시하기

이미지에 글자를 표시합니다.

이미지 ([변수 ▾]) [만화 ▾] 바꾸기

이미지의 스타일을 바꿉니다. 값을 돌려주는 블록

이미지 ([변수 ▾]) 가로 ([100]) 세로 ([100]) 크기 바꾸기

이미지 크기를 바꿉니다. 값을 돌려주는 블록

6×8 점 그림

점을 눌러 그린 6×8 그림을 이미지로 만듭니다(카메라 화면 크기로 키움). 값을 돌려주는 블록

8×4 점 그림

점을 눌러 그린 8×4 그림을 이미지로 만듭니다(카메라 화면 크기로 키움). 값을 돌려주는 블록

8×8 점 그림

점을 눌러 그린 8×8 그림을 이미지로 만듭니다(카메라 화면 크기로 키움). 값을 돌려주는 블록

인식

이미지 ([변수 ▾]) 얼굴 찾기

이미지에서 얼굴을 찾습니다. 값을 돌려주는 블록

이미지 ([변수 ▾]) 얼굴 ([변수 ▾]) 표시하기

이미지에서 얼굴을 표시합니다.

이미지 ([변수 ▾]) 얼굴 ([변수 ▾]) 분석하기(나이,성별,감정)

이미지에서 얼굴을 분석합니다.(나이,성별,감정) 값을 돌려주는 블록

이미지 ([변수 ▾]) 얼굴분석 ([변수 ▾]) 표시하기

이미지에서 얼굴분석 결과 표시합니다.

이미지 ([변수 ▾]) 얼굴 ([변수 ▾]) 랜드마크 찾기

이미지에서 얼굴의 랜드마크를 찾습니다. 값을 돌려주는 블록

이미지 ([변수 ▾]) 얼굴랜드마크 ([변수 ▾]) 표시하기

이미지에서 얼굴의 랜드마크 표시합니다.

얼굴사전

얼굴 사전에 학습된 이름 목록을 가져옵니다. 값을 돌려주는 블록

이미지 ([변수 ▾]) 얼굴 ([변수 ▾]) ⏵ 이름 ([pibo]) 로 얼굴 사전에 학습하기

이미지에서 얼굴을 이름으로 학습합니다.

이름 ([pibo]) 얼굴 사전에서 지우기

학습된 얼굴 데이터에서 특정 이름을 삭제합니다.

이미지 ([변수 ▾]) 얼굴 ([변수 ▾]) 얼굴 사전에서 확인하기

이미지에서 얼굴이 누구인지 인식합니다. 값을 돌려주는 블록

얼굴 사전 ⏵ [폴더 선택 ▾] ([facedb]) 저장하기

학습된 얼굴 데이터를 파일로 저장합니다.

얼굴 사전 ⏴ [폴더 선택 ▾] ([facedb]) 불러오기

저장된 얼굴 학습 파일을 불러옵니다.

이미지 ([변수 ▾]) 얼굴 방향/거리 분석하기

인식된 얼굴의 방향과 거리를 분석합니다. 값을 돌려주는 블록

이미지 ([변수 ▾]) 얼굴 방향/거리 ([변수 ▾]) 표시하기

인식된 얼굴의 방향과 거리를 표시합니다.

사물인식 모델 [폴더 선택 ▾] ([yolo11s]) .onnx 불러오기

사물인식 모델을 불러옵니다.(yolo)

이미지 ([변수 ▾]) 사물 찾기

이미지에서 사물을 찾아냅니다. (80개 종류의 사물) 값을 돌려주는 블록

이미지 ([변수 ▾]) 사물 찾기(raw)

이미지에서 사물을 찾아냅니다. (80개 종류의 사물) - RAW 값을 돌려주는 블록

이미지 ([변수 ▾]) 사물 ([변수 ▾]) 표시하기

이미지에서 사물을 표시합니다. (80개 종류의 사물)

이미지 ([변수 ▾]) QR코드 찾기

이미지에서 QR코드를 찾아냅니다. 값을 돌려주는 블록

이미지 ([변수 ▾]) QR코드 찾기(raw)

이미지에서 QR코드를 찾아냅니다.(RAW) 값을 돌려주는 블록

이미지 ([변수 ▾]) QR코드 ([변수 ▾]) 표시하기

이미지에서 QR코드를 표시합니다.

이미지 ([변수 ▾]) 포즈 데이터 찾기

이미지에서 사람의 포즈 데이터를 가져옵니다. (17개 좌표) 값을 돌려주는 블록

이미지 ([변수 ▾]) 포즈 데이터 ([변수 ▾]) 표시하기

이미지에서 사람의 포즈 데이터를 표시합니다.

포즈 데이터 ([변수 ▾]) [자세인식 ▾] 분석하기

포즈 데이터를 분석해 정해진 포즈를 알아냅니다. 값을 돌려주는 블록

이미지 ([변수 ▾]) 좌표 ([0]) ([0]) , ([0]) ([0]) 트래커 설정하기

이미지의 특정 위치에 트래커를 설정합니다.

이미지 ([변수 ▾]) 추적하기

설정된 트래커로 이미지를 추적합니다. 값을 돌려주는 블록

이미지 ([변수 ▾]) 추적 결과 ([변수 ▾]) 표시하기

추적 결과를 표시합니다.

손 동작 모델 [gesture_recognizer ▾] 을 불러오기

내장된 손 동작 모델을 불러옵니다.

손 동작 모델 [폴더 선택 ▾] ([gesture_recognizer]) .task 불러오기

손 동작 모델을 불러옵니다.

이미지 ([변수 ▾]) 손 동작 인식하기

이미지에서 손 동작을 인식합니다. 값을 돌려주는 블록

이미지 ([변수 ▾]) 손 동작 ([변수 ▾]) 표시하기

이미지에서 손 동작을 표시합니다.

이미지 ([변수 ▾]) 길이 ([5]) cm 마커 찾기

이미지에서 마커를 인식합니다. 값을 돌려주는 블록

이미지 ([변수 ▾]) 마커 ([변수 ▾]) 표시하기

이미지에서 마커를 표시합니다.

분류기 모델 [폴더 선택 ▾] ([모델 이름]) 불러오기

분류기 화면에서 가르치고 저장한 모델을 불러옵니다. 폴더는 mymodel, 칸에 모델 이름을 적습니다. (이미지·손·얼굴·포즈)

분류기 모델로 ([변수 ▾]) 분류하기

불러온 분류기 모델로 이미지를 분류해 가장 알맞은 이름을 돌려줍니다. 손·얼굴·포즈 모델은 화면에 손·얼굴·몸이 안 보이면 빈 글자를 돌려줍니다. 값을 돌려주는 블록

이미지 ([변수 ▾]) 에 분류기가 본 것 표시하기

바로 전에 [분류기 모델로 … 분류하기] 가 본 것을 그 이미지에 그립니다. 손·포즈는 점과 뼈대, 얼굴은 점, 그리고 종류 이름과 확률을 씁니다.

도구

([1]) 초 동안 기다리기

정해진 시간 동안 멈춥니다.

시간 값 가져오기

현재 시간 값을 가져옵니다. 값을 돌려주는 블록

현재 시간 확인하기

지금의 시간을 확인합니다. 값을 돌려주는 블록

( ) 가 ( ) 에 있는지 확인하기

항목이 리스트 안에 있는지 확인합니다. 값을 돌려주는 블록

사전 ([변수 ▾]) 에서 키 ([키 이름]) 값 가져오기

사전에서 정해진 키에 해당하는 값을 가져옵니다. 값을 돌려주는 블록

사전 ([변수 ▾]) 에 { ([키 이름]) : ( ) } 추가하기

사전에 정해진 키와 값을 추가합니다.

빈 사전 만들기

빈 사전을 만듭니다. 값을 돌려주는 블록

리스트 ([변수 ▾]) [ ([0]) : ([0]) , ([0]) : ([0]) ] 값을 ([변수 ▾]) 에 저장하기

리스트의 지정된 범위 값을 저장합니다.

[파일 ▾] ([경로]) 있는지 확인하기

파일이나 폴더가 있는지 확인합니다. 값을 돌려주는 블록

([1]) 글자형으로 바꾸기

변수의 타입을 글자형으로 바꿉니다. 값을 돌려주는 블록

([1]) [정수형 ▾] 숫자형으로 바꾸기

변수의 타입을 숫자형(정수 또는 소수)으로 바꿉니다. 값을 돌려주는 블록

([변수 ▾]) ⬉ ([변수 ▾]) ⬈ ([변수 ▾]) 각도 구하기

세 점 사이의 각도 구하기 값을 돌려주는 블록