SlideShare una empresa de Scribd logo
1 de 49
레고 측우자격루
메이커 페어란?
https://makerfaire.co.kr/maker-faire-seoul-2018/
 메이커 페어 서울 2018 정보
- 일정 : 2018.09.29. ~ 2018.09.30.
- 장소 : 서울 상암 문화비축기지
- 전시/운영자 107팀(400여 명)
- 관람객 1만 5천 명
더 많은 사진들
https://www.flickr.com/photos/153380342@N07/albums/72157671987171817
목 차
1. 프로젝트 소개
2. IoT 기술 소개
3. 기능 상세
4. 제작 과정
5. 시연
6. 느낀 점
1. 프로젝트 소개 - 개요
2016년에 ‘자격루’를 참고로 하여 일부를 응용한 ‘레고 자격루 디지털 시계’를 선보였습니다.
이번에는 자격루의 전체 모습을 구현하고자 했고, 자격루로 물을 올리는 것은 ‘측우기’로부터
시작하면 어떨까 싶어 측우기와 자격루를 결합한 ‘측우자격루’를 제작하게 되었습니다.
자격루 2016 자격루 2017
측우자격루
자격루측우기
측우기[測雨器]
세종 때 발명되어 사용한 조선시대의
공식적인 우량 측정 기구.
1440년을 전후하여 발명되어 1442년(세종
24)부터 20세기 초까지 조선 왕조의
공식적인 우량 관측기구로 사용된 도구로,
현대의 우량계에 해당한다.
금속제 원통형 그릇에 빗물을 받아 표준화된
눈금의 자로 그 깊이를 측정했다.
측우대[測雨臺]
측우기를 안정(安定)하게 올려놓고 우량
측정을 편하게 하기 위하여 만든 대석(臺石).
[네이버 지식 백과] 측우기[測雨器] (한국민족문화대백과)
1. 프로젝트 소개 - 참고자료
자격루[自擊漏]
자동으로 시보(時報, 정확한 시각을
알리는 신호)를 알려주는 장치가
되어 있는 물시계.
1434년(세종 16) 왕명으로 장영실·
김조·이천 등이 제작하였다.
시(時)·경(更)·점(點)에 맞추어 종과 북
·징을 쳐서 시각을 알렸으며, 파수호
(播水壺)와 수수호(受水壺), 동력전달
장치와 시보장치로 되어 있다.
사진 : 국립고궁박물관
1. 프로젝트 소개 - 참고자료
[네이버 지식백과] 자격루 [自擊漏] (두산백과)
2. IoT 기술 소개 - 라즈베리파이 / 아두이노 비교
구분 라즈베리파이 아두이노(제누이노)
이미지
종류 싱글보드 컴퓨터 마이크로 컨트롤러
OS Linux(40여 종), Windows IoT 10 X
개발 환경 vi, nano, IDLE, Scratch, Eclipse Sketch
특징
- 진입장벽 존재(Linux 및 개발언어 사전지식)
- 하드웨어 성능 우수
- 초보자에게 적합(윈도우에서 개발 가능)
- 많은 레퍼런스 존재
검색 결과*
3320만 건(2016)
6130만 건(2017)
2억1700만 건(2018)
5930만 건(2016)
8200만 건(2017)
8840만 건(2018)
국내 도서*
27권(2016)
42권(2017)
59권(2018)
74권(2016)
153권(2017)
184권(2018)
* 이미지 출처 : wiki
* 2016년 9월, 2017년 10월, 2018년 9월 Google(영문으로 검색)/알라딘 검색 기준
GPIO*
* 라즈베리파이3 모델B 기준
* GPIO : General Purpose Input/Output
하드웨어
아답터
TV/모니터
공유기
키보드
마우스
HDMI Cable
유/무선
라즈베리파이 주변장치 연결*
모터LED
2. IoT 기술 소개 - 라즈베리파이 / 아두이노 비교
액츄에이터(Output)
스피커
거리센서 조도센서
센서(Input)
아두이노 주변장치 연결*
PC/노트북
(USB Port)
다양한 쉴드
* 아두이노 우노 R3 기준
아답터
2. IoT 기술 소개 - 라즈베리파이 / 아두이노 비교
하드웨어모터LED거리센서 조도센서
액츄에이터(Output)센서(Input)
2. IoT 기술 소개 - 라즈베리파이 GPIO
라즈베리파이3 GPIO Header
GPIO2~27 : 26개까지 GPIO 포트 사용 가능
이미지 출처 : https://docs.microsoft.com/en-us/windows/iot-
core/media/pinmappingsrpi/rp2_pinout.png
2. IoT 기술 소개 - 아두이노 우노
아두이노 우노 보드
라즈베리파이와는 다르게 Analog Pin도 있음
이미지 출처 : https://wiki.eprolabs.com/index.php?title=Arduino_UNO
2. IoT 기술 소개 - 저항
저항 읽는 법
이미지 출처 :
http://ggolbeng2.tistory.com/m/entry/%EC%A0%80%ED%95%AD-
%EC%9D%BD%EB%8A%94-%EB%B2%95
2. IoT 기술 소개 - LED
LED(Light Emitting Diode)
C 소스
#include <stdio.h>
#include <wiringPi.h>
#define LED1 17 // GPIO 17
int main(void)
{
printf("Hello, worldn");
if (wiringPiSetupGpio() == -1) {
return 1;
}
pinMode(LED1, OUTPUT);
while(1)
{
digitalWrite(LED1, 1);
delay(1000);
digitalWrite(LED1, 0);
delay(1000);
}
return 0;
}
LED 깜빡임 무한 반복(1초 간격)
LED 저항
라즈베리파이
저항이 필요한 이유 :
[옴의 법칙(Ohm’s law)]
V = I×R(전압=전류×저항)
 I = V/R(전류=전압/저항)
 저항이 없으면(R=0이면) I는
무한대이므로 LED에 과부하
걸림
2. IoT 기술 소개 - 모터
DC모터(DC motor)
pwm_pin = 26
dir_pin = 22
…
try:
while True:
gear = input("Press gear(-2, -1, 0, 1, 2
) : ");
if gear == "0":
pwm_motor.ChangeDutyCycle(0) #stop
elif gear == "1" or gear == "-1":
pwm_motor.ChangeDutyCycle(50) #go slow
elif gear == "2" or gear == "-2":
pwm_motor.ChangeDutyCycle(100) #go fast
if gear > "0":
GPIO.output(dir_pin, True) #go
else:
GPIO.output(dir_pin, False) #back
직류 전류(Direct Current)를 전원으로 하여 돌아가는 모터. 일반적으로 널리 쓰이는 모터
Python 소스
5V GND
PWM : Duty비 변경에
따라 속도 조절
DIR : High/Low에
따라 회전 방향 변경
AAA * 6
(9V)
G22 G26
모터 드라이버
Duty비(On Duty Ratio) :
한 주기(T)에 대해서 Pulse가
On인 상태의 비율
PWM(펄스 폭 변조) :
Pulse Width Modulation.
Pulse의 Duty비를 바꿈으로써
출력의 크기 제어
2. IoT 기술 소개 - 모터
서보모터(Servomotor)
import RPi.GPIO as GPIO
import time
pin = 12
GPIO.setmode(GPIO.BCM)
GPIO.setup(pin, GPIO.OUT)
p = GPIO.PWM(pin,50) #50Hz(20ms cycle)
p.start(7.5)
try:
while True:
p.ChangeDutyCycle(7.5) #90 degree
time.sleep(1)
p.ChangeDutyCycle(12.5) #180 degree
time.sleep(1)
p.ChangeDutyCycle(2.5) #0 degree
time.sleep(3)
except KeyboardInterrput:
p.stop()
GPIO.cleanup()
각도를 조절할 수 있는 모터. 일반적으로 180도 이동이 가능함
Python 소스
참고 자료 : https://rpi.science.uoit.ca/lab/servo/
𝐝𝐜 =
𝟎. 𝟓
𝟐𝟎
× 𝟏𝟎𝟎 = 𝟐. 𝟓%
𝐝𝐜 =
𝟏. 𝟓
𝟐𝟎
× 𝟏𝟎𝟎 = 𝟕. 𝟓%
𝐝𝐜 =
𝟐. 𝟓
𝟐𝟎
× 𝟏𝟎𝟎 = 𝟏𝟐. 𝟓%
Duty Cycle = Length/Period
2. IoT 기술 소개 - WiFi 통신
WebIOPi: 라즈베리파이 GPIO 포트를 웹 상에서
제어가 가능하게 개발된 Framework
<script type="text/javascript">
webiopi().ready(function() {
var content, button;
content = $("#content");
button = webiopi().createMacroButton("on",
"LED/Motor ON", "led_motor_on");
content.append(button);
button = webiopi().createMacroButton("off",
"LED/Motor OFF", "led_motor_off");
content.append(button);
});
</script>
JavaScript 소스
import webiopi
GPIO = webiopi.GPIO
…
@webiopi.macro
def led_motor_on():
GPIO.output(LED_MOTOR, GPIO.HIGH)
@webiopi.macro
def led_motor_off():
GPIO.output(LED_MOTOR, GPIO.LOW)
Python 소스
5V
GND
모터
On/Off
AAA * 6
(9V)
G18
WebIOPi
공유기
태블릿 PC노트북
참고 자료 : http://webiopi.trouch.com/
2. IoT 기술 소개 - 사운드
사운드 출력
//music_test.c
#include <stdlib.h>
int main(void) {
system("omxplayer cheer_up.mp3");
return 0;
}
#music_test.py
from omxplayer import OMXPlayer
from time import sleep
player = OMXPlayer('cheer_up.mp3')
player.play()
sleep(5)
player.pause()
# Kill the `omxplayer` process gracefully.
player.quit()
C 소스
Python 소스
참고 자료 :
https://github.com/willprice/python-omxplayer-wrapper
http://elinux.org/Omxplayer
2. IoT 기술 소개 - 센서
무게 센서(Load cell)
아두이노 소스
#include <HX711.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
HX711 hx(9, 10, 128, -0.00229); // 보정계수
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
Serial.begin(9600);
hx.set_offset(134033); // Offset Setting
lcd.init(); // initialize the lcd
lcd.backlight();
lcd.begin(16,2);
}
void loop() {
delay(500);
double sum0 = 0;
double sum1 = 0;
for (int i = 0; i < 10; i++) {
sum0 += hx.read();
sum1 += hx.bias_read();
}
lcd.clear();
lcd.setCursor(2,0);
lcd.print("keyes-scale");
lcd.setCursor(5, 1);
lcd.print(sum1/10);
lcd.print("g");
}
로드셀
+
증폭기
(HX711)
+
아두이노
+
LCD 1602
+
아크릴판
= 저울
로드셀
참고 자료 : https://www.hackster.io/MOHAN_CHANDALURU/hx711-
load-cell-amplifier-interface-with-arduino-fa47f3
2. IoT 기술 소개 - 센서
수위 센서(Liquid Level Sensor)
int Liquid_level=0;
void setup() {
Serial.begin(9600);
pinMode(5,INPUT);
}
void loop() {
Liquid_level=digitalRead(5);
//센서가 인식하면 1, 아니면 0으로 표시
Serial.print("Liquid_level= ");
Serial.println(Liquid_level,DEC);
delay(500);
}
아두이노 소스
비접촉 수위센서 모듈
참고 자료 : https://www.dfrobot.com/wiki/index.php/Non-
contact_Liquid_Level_Sensor_XKC-Y25-T12V_SKU:_SEN0204
2. IoT 기술 소개 - 센서
거리측정 센서
//아날로그 0번핀 사용
int pinNum = A0;
//거리값 변수 생성
int distance = 0;
void setup() {
Serial.begin(9600); //시리얼 통신 초기화
//A0번핀을 INPUT으로 설정
pinMode (pinNum, INPUT);
}
void loop() {
//적외선 거리 센서로 부터 측정값을 읽어온다
int data = analogRead(pinNum);
//측정한 volt값을 0에서 5000사이의 값으로 변환
int volt = map(data, 0, 1023, 0, 5000);
//측정값을 통해 거리를 계산
distance = (21.61/(volt-0.1696))*1000/5;
//거리 출력
Serial.println(distance);
//지연시간을 500ms로 설정
delay(500);
}
아두이노 소스(적외선 거리측정 센서)
초음파 거리측정 센서
적외선 거리측정 센서
참고 자료 :
http://mechasolutionwiki.com/index.php?title=%EC%B4%88%EC%9D%8C%E
D%8C%8C_%EA%B1%B0%EB%A6%AC%EC%84%BC%EC%84%9C_(HC-SR04)
https://kocoafab.cc/tutorial/view/272
2. IoT 기술 소개 - 센서
압력 센서(FSR, Force Sensing Resistor)
int FSR_Pin = A0; //analog pin 0
void setup() {
Serial.begin(9600);
}
void loop() {
int FSRReading = analogRead(FSR_Pin);
Serial.println(FSRReading);
delay(250);
}
아두이노 배선
라즈베리파이 배선
ADC(Analog-to-digital converter) 필요
아두이노 소스
import spidev, time
spi = spidev.SpiDev()
spi.open(0, 0)
def analog_read(channel):
r = spi.xfer2([1, (8 + channel) << 4, 0])
adc_out = ((r[1]&3) << 8) + r[2]
return adc_out
while True:
reading = analog_read(0)
voltage = reading * 3.3 / 1024
print("Data %dt Voltage %f V" % (reading, voltage)
)
time.sleep(0.2)
라즈베리파이(Python) 소스
참고자료 : http://bildr.org/2012/11/force-sensitive-resistor-arduino/
https://github.com/acaird/raspi-scale/raw/master/images/lamescale_bb.png
2. IoT 기술 소개 - 집적회로(IC, Integrated Circuit)
MCP3008
(ADC: Analog-to-digital converter)
RPi Symbol Pin
Con1 CH0 1
Con2 CH1 2
Con3 CH2 3
Con4 CH3 4
Con5 CH4 5
Con6 CH5 6
Con7 CH6 7
Con8 CH7 8
Pin Symbol RPi
16 VDD 3V3
15 V_REF 3V3
14 AGND GND
13 CLK 11
12 D_OUT 9
11 D_IN 10
10 CS/SHDN 8
9 DGND GND
아날로그 신호를 디지털 신호로 변환
74HC595
(Shift Register)
RPi Symbol Pin
Con2 Q1 1
Con3 Q2 2
Con4 Q3 3
Con5 Q4 4
Con6 Q5 5
Con7 Q6 6
Con8 Q7 7
GND GND 8
Pin Symbol RPi
16 VCC VCC
15 Q0 Con1
14 DS
17 or
앞 Q7S
13 OE GND
12 STCP 27
11 SHCP 18
10 MR VCC
9 Q7S
X or
뒤 DS
사용해야 할 디지털 출력의 수가 많을 때 사용
참고 자료 : https://ko.wikipedia.org/wiki/%EC%95%84%EB%82%A0%EB%A1%9C%EA%B7%B8-
%EB%94%94%EC%A7%80%ED%84%B8_%EB%B3%80%ED%99%98%ED%9A%8C%EB%A1%9C
http://www.hardcopyworld.com/ngine/aduino/index.php/archives/2826
2. IoT 기술 소개 - 릴레이
NC: Normally closed
NO: Normally open
C: Common terminal
입력전기 신호를 받아서, 출력부에 필요한 동작전기 신호를 보내, 전기회로를 ON/OFF하는 장치
릴레이(Relay)
5V 릴레이 단말/핀 설명
5V 릴레이와 아두이노 연결
5V GND
Signal
참고 자료 :
http://www.circuitbasics.com/setting-up-a-5v-relay-on-the-arduino/
https://steps2make.com/wp-content/uploads/2017/10/Arduino_KY-
019_5v_relay_module_connections.png
2. IoT 기술 소개 - 적외선 통신
적외선(Infrared) 통신
#include <PowerFunctions.h>
PowerFunctions pf(2, 0, 1);
void setup() {
Serial.println("ready to send lego ir
commands");
}
void loop() {
pf.single_pwm(RED, PWM_BRK);
for (int i = 0; i < 7; i++) {
pf.single_increment(RED);
delay(200);
}
for (int i = 0; i < 14; i++) {
pf.single_decrement(RED);
delay(200);
}
}
아두이노 소스
적외선 송신기
(IR Transmitter)
레고 서보모터 작동시키기
레고 적외선 수신기
레고 서보모터
레고 배터리팩
적외선 송신기
아두이노
참고 자료 :
https://github.com/jurriaan/Arduino-PowerFunctions
https://raspberrypi.stackexchange.com/questions/56999/will-this-arduino-
module-work-with-raspberry-pi-3
3. 기능 상세 - 측우기
로드셀(무게 센서), 적외선 센서, 모터
로드셀,
아두이노,
적외선 송신기
거리측정센서
모터
ㅋ
측우기
측우기 작동 시나리오
(PLAN A)
1. 측우기에 비(구슬)가 계속 내리면 로드셀에서 무게 측정
2. 일정량의 구슬을 모으면 측우기를 기울여서 구슬을 떨어뜨림
3. 거리측정센서에서 구슬을 인식하면 컨베이어 벨트를 움직여서 구슬을 위로 올려줌
(PLAN B)
1. 무선 조종기 통해서 측우기를 기울여서 구슬 떨어뜨림
2. 무선 조종기 통해서 컨베이어 벨트를 움직여서 구슬을 위로 올려줌
적외선 수신기
무선 조종기
스마트라이트
3. 기능 상세 - 자격루A
자격루A 작동 시나리오
1. 중력을 이용해서, 맨 위 항아리에서부터 차례차례 구슬을 아래로 내려줌
자격루A
중력
스마트라이트
자격루B
3. 기능 상세 - 자격루B
압력센서, LED, 모터, 사운드, Wi-Fi
모터
스마트라이트
스피커(사운드)
자격루B 작동 시나리오
(PLAN A)
1. 압력센서에서 떨어지는 구슬을 인식하면, 종/북/징을 움직이면서 소리 나게 해줌
(PLAN B)
1. WiFi 통해 Web화면으로 원격으로 시계를 작동시켜줌
1) 6개 도시 클릭하면 시간대 변경 가능
2) 종/북/징 이미지 누르면 움직이면서 소리 나게 해줌
Web화면
공유기
라즈베리파이
LED
압력센서
3. 기능 상세 - 자격루B 하드웨어 아키텍처
라즈베리파이
스피커
아이패드
배터리팩
모터 +
미니피겨
모터
드라이버
LED 시계
공유기
시간 조정
LED 제어
(스마트라이트)
3. 기능 상세 - 자격루B LED 배선도
Shift
Register
74HC595
5Φ LED
5V Relay
* 설계는 글자당 LED 3X5 사이즈로 했으나 실제 모델은 5X7 사이즈로 제작함
3.3V PWR
5V PWR
3. 기능 상세 - 자격루B 모터 배선도
라즈베리파이 GPIO
레고 M 모터
모터 드라이버
L298N
AAA * 6
or
Adapter
(9V 0.3A)
DIRPWM
DIR PWM
PWM
DIR
종북징
4. 제작 과정(2018년 5~6월)
4. 제작 과정(2018년 7~8월)
4. 제작 과정(2018년 9월(1))
4. 제작 과정(2018년 9월(2))
5. 시연
https://youtu.be/xBIIRG7htPY
6. 느낀 점
- 3년 간 메이커 페어 참여를 위해 준비하다 보니 무심코 지나쳤던 부분이 ‘보이기‘ 시작함
 전자제품 볼 때마다 원리에 대해 한 번 더 생각해 보게 됨
- 동료 검토하면서, 세상에 선보이면서, 많은 아이디어 수집됨
 가능한 여러 곳에 공유할수록 좋은 아이디어 발굴 가능
- 1~2년 전 내용 다시 학습할 때 예전에 정리한 자료가 많은 도움이 됨
 지속적으로 자료 정리할 필요 있음
- 잘못된 회로도를 현행화 하지 않아 나중에 문제 파악에 어려움 겪음
 문제 파악하면 미루지 말고 바로 수정해야 함
- 자발적으로 진행하는 만큼 계획을 유연하게 세울 수 있으나, 언제나 시간이 부족함
 충분한 Buffer 고려한 계획 수립 및 일정에 따른 실천 필요
- 메이커 페어 직전에 추석 연휴기간이 있어 부족한 부품 수급에 어려움
 부품 구입 시 백업 부품도 구매해야겠다고 느낌
[Backup - 느낀 점(2017)]
‘창조’의 즐거움 및 나눔
- 주도적으로 기획/설계/개발
- 동료들과 창조적인 활동 공유
작년에는 혼자, 올해는 여럿.
- 다양한 아이디어 수집 가능
- 시행착오 시간 감소
많이 부족함을 느낌
- 기존 발명품 만든 선배들에 대한 존경심 생김
- 여러 분야 전문가 협업하고 싶음
(레고 디자이너, 전자회로 전문가, 하드웨어 제작자 : 연락 주세요)
메이커 페어 효과
- ‘취미’라고 부를 수 있는 활동 추가됨
- 여러 분야 메이커와 교류 기회
[Backup - 느낀 점(2016)]
1) 10년 만에 다시 해본 전공 공부
학생 때와 달리 스스로 하는 학습이다 보니 흥미 있게 공부 진행
2) 새로운 프로그래밍 언어 도전
매니저가 되어가면서 정체되고 있는 개발 Skill에 대한 불안감 해소
3) 소프트웨어와 하드웨어의 융합
전공지식(하드웨어)과 실무지식(소프트웨어) 결합하여 시너지 효과 발생
4) 레고의 놀라운 확장성 확인
‘레고 테크닉’이라는 신세계를 발견하여 다양한 확장 가능성 확인
[Backup - FAQ(1)]
Q. 제작 기간은 얼마나 되는지요?
A. 처음 시계 만들려고 했던 것부터 치면 3년 반 정도 소요되었습니다만, 실제로는 띄엄띄엄
제작했습니다. 측우기와 자격루A 부분은 6개월 정도 걸렸습니다.
Q. 제작 비용은 총 얼마나 될까요?
A. 약 100만원 정도 소요된 것 같습니다(공구 제외, 잘못 샀거나 백업으로 구매한 부품 제외).
Q. 기존에 파는 제품인가요?
A. 아닙니다. 다만 자격루 부분은 순수 창작이지만 측우기에서 자격루로 물(구슬) 이동하는 부분은
기존 창작한 다른 작가의 작품을 개조했습니다(작가님에게서 비영리 목적이면 사용 가능하다고 허락
받았습니다).
Q. 조립 설명서가 있나요?
A. 측우기 쪽 모듈의 개조 전 버전은 원 창작자의 홈페이지에 조립 설명서가 있습니다(참고 자료
페이지 참조). 자격루는 설명서가 별도로 없습니다. 자격루 초기 버전 제작 시에 레고 모델링 툴인
LDD(Lego Digital Designer) 및 Bricklink Studio를 활용해서 만든 모델링 파일은 있습니다.
[Backup - FAQ(2)]
Q. 레고 부품들은 어디에서 구했나요?
A. 거의 대부분 레고 부품 거래 사이트인 브릭링크(http://brinklink.com) 통해서 구했습니다. LED는
레고 부품이 아니며, 전자부품 쇼핑몰에서 구매했습니다.
Q. 스피커에서 소리 날 때 분수도 올라가던데요. 스피커도 제작한 건가요?
A. 스피커는 기성품입니다(다른 행사에서 상품으로 받았습니다).
Q. 태블릿 PC에서의 자격루 제어 프로그램은 스마트폰 앱인가요?
A. 아닙니다. 웹페이지입니다. 따라서 태블릿 PC/스마트폰 뿐 아니라 PC/노트북에서도 똑같이
보이고 똑같이 작동시킬 수 있습니다.
Q. 개발 언어는 어떻게 되는지요?
A. LED 시계/소리는 C로, 웹서버(WebIOPi) 및 레고 미니피겨 컨트롤은 파이썬으로, 웹페이지에는
HTML/CSS/JavaScript를 사용했습니다. 저울에는 C 기반인 아두이노 전용 언어를 사용했습니다.
프로그램 소스는 깃허브(https://github.com/pcmola)에 올려두었습니다.
[Backup - FAQ(3)]
Q. 전자부품은 아두이노로 만들었나요? 레고 마인드스톰을 썼나요?
A. 측우기 측정하는 저울 부분에는 아두이노를 사용했고, 자격루 시계에는 라즈베리파이를
사용했습니다. 레고 마인스트톰은 사용하지 않았고, 모터/리시버/리모컨은 레고 파워펑션 제품군을
사용했습니다.
레고 파워펑션 부품들. (왼쪽 위부터) 리시버,
서보모터, M모터, L모터, XL모터,
(왼쪽 아래부터) 일반리모컨, 스피드리모컨,
AAA 배터리박스, AA 배터리박스.
작품에 사용된 레고 파워평션 부품들
아두이노
라즈베리파이
이미지 출처 : Wiki, http://apparat.tistory.com/38
[Backup - 라즈베리파이 GPIO 연결]
GPIO
(BCM)
사용여부 사용처
2 O LED GREEN
3 O JING_DIR
4 O BUTTON_HOUR
5
6 O BUTTON_MINUTE
7 O LED COLON
8 O MCP3008
9 O MCP3008
10 O MCP3008
11 O MCP3008
12 O BOOK PWM
13 O JONG DIR
16 O BOOK DIR
17 O 74HC595
18 O 74HC595
19 O JONG PWM
20 O JING PWM
21 O RELAY
22 O TIMEZONE
23 O TIMEZONE
24 O TIMEZONE
25
26
27 O 74HC595
gpio readall
+-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
| | | 3.3v | | | 1 || 2 | | | 5v | | |
| 2 | 8 | SDA.1 | IN | 1 | 3 || 4 | | | 5V | | |
| 3 | 9 | SCL.1 | IN | 1 | 5 || 6 | | | 0v | | |
| 4 | 7 | GPIO. 7 | IN | 1 | 7 || 8 | 0 | IN | TxD | 15 | 14 |
| | | 0v | | | 9 || 10 | 1 | IN | RxD | 16 | 15 |
| 17 | 0 | GPIO. 0 | IN | 0 | 11 || 12 | 1 | IN | GPIO. 1 | 1 | 18 |
| 27 | 2 | GPIO. 2 | OUT | 0 | 13 || 14 | | | 0v | | |
| 22 | 3 | GPIO. 3 | OUT | 0 | 15 || 16 | 0 | IN | GPIO. 4 | 4 | 23 |
| | | 3.3v | | | 17 || 18 | 0 | IN | GPIO. 5 | 5 | 24 |
| 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | |
| 9 | 13 | MISO | IN | 0 | 21 || 22 | 0 | IN | GPIO. 6 | 6 | 25 |
| 11 | 14 | SCLK | IN | 0 | 23 || 24 | 1 | IN | CE0 | 10 | 8 |
| | | 0v | | | 25 || 26 | 1 | IN | CE1 | 11 | 7 |
| 0 | 30 | SDA.0 | IN | 1 | 27 || 28 | 1 | IN | SCL.0 | 31 | 1 |
| 5 | 21 | GPIO.21 | IN | 1 | 29 || 30 | | | 0v | | |
| 6 | 22 | GPIO.22 | IN | 1 | 31 || 32 | 0 | IN | GPIO.26 | 26 | 12 |
| 13 | 23 | GPIO.23 | IN | 0 | 33 || 34 | | | 0v | | |
| 19 | 24 | GPIO.24 | IN | 0 | 35 || 36 | 0 | IN | GPIO.27 | 27 | 16 |
| 26 | 25 | GPIO.25 | IN | 0 | 37 || 38 | 0 | IN | GPIO.28 | 28 | 20 |
| | | 0v | | | 39 || 40 | 0 | IN | GPIO.29 | 29 | 21 |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
+-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+
[Backup - 참고 자료]
Railway System: Reverse module V-type(https://akiyuki.jp/en/works/889)
- Loading Unit, Unloading Unit을 개조하여 측우기 구동부 만드는 데 사용함
메이커 정보
블로그
http://pcmola.com
깃허브
https://github.com/pcmola
이메일
pcmola@naver.com
End Of Document
책상 위 놓을 자료
조종해 보세요
측우기 작동 구슬 올리기
멈춤제자리
클릭해 보세요
시간대 변경
종/북/징 작동

Más contenido relacionado

La actualidad más candente

Aperture : 3&4. 조도센서를 이용한 led 밝기 제어하기
Aperture : 3&4. 조도센서를 이용한 led 밝기 제어하기Aperture : 3&4. 조도센서를 이용한 led 밝기 제어하기
Aperture : 3&4. 조도센서를 이용한 led 밝기 제어하기Hyemin Song
 
IoT with Raspberry Pi + Node JS - Chapter 2
IoT with Raspberry Pi + Node JS - Chapter 2IoT with Raspberry Pi + Node JS - Chapter 2
IoT with Raspberry Pi + Node JS - Chapter 2Park Jonggun
 
강의자료 코딩클럽 아두이노 워크샵-2015.4.11
강의자료 코딩클럽 아두이노 워크샵-2015.4.11강의자료 코딩클럽 아두이노 워크샵-2015.4.11
강의자료 코딩클럽 아두이노 워크샵-2015.4.11SongSup Shin
 
라즈베리파이와 자바스크립트로 IoT 시작하기
라즈베리파이와 자바스크립트로 IoT 시작하기라즈베리파이와 자바스크립트로 IoT 시작하기
라즈베리파이와 자바스크립트로 IoT 시작하기Circulus
 
Aperture : 1. 아두이노에 대해 알아보기
Aperture : 1. 아두이노에 대해 알아보기Aperture : 1. 아두이노에 대해 알아보기
Aperture : 1. 아두이노에 대해 알아보기Hyemin Song
 
#아두이노 초급연수
#아두이노 초급연수#아두이노 초급연수
#아두이노 초급연수gongdigi24
 
코딩클럽 왕초보 아두이노따라잡기 1탄
코딩클럽 왕초보 아두이노따라잡기 1탄코딩클럽 왕초보 아두이노따라잡기 1탄
코딩클럽 왕초보 아두이노따라잡기 1탄Eunhee Ha
 
원준갓의 IoT 수업
원준갓의 IoT 수업원준갓의 IoT 수업
원준갓의 IoT 수업Won Jun Song
 
Intuitive Understanding of Arduino for IoT
Intuitive Understanding of Arduino for IoTIntuitive Understanding of Arduino for IoT
Intuitive Understanding of Arduino for IoT영광 송
 
창조경제 IoT 해커톤 교육 4일차
창조경제 IoT 해커톤 교육 4일차창조경제 IoT 해커톤 교육 4일차
창조경제 IoT 해커톤 교육 4일차유명환 FunFun Yoo
 
3D 프린터와 아두이노
3D 프린터와 아두이노3D 프린터와 아두이노
3D 프린터와 아두이노Chiwon Song
 
[2] 아두이노 활용 실습
[2] 아두이노 활용 실습[2] 아두이노 활용 실습
[2] 아두이노 활용 실습Chiwon Song
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to ArduinoSeokjun Kim
 
[실습편] 하드웨어에 생명을 주는 아두이노
[실습편] 하드웨어에 생명을 주는 아두이노[실습편] 하드웨어에 생명을 주는 아두이노
[실습편] 하드웨어에 생명을 주는 아두이노Chiwon Song
 
창조경제 IoT 해커톤 교육 2일차 교육 자료
창조경제 IoT 해커톤 교육 2일차 교육 자료창조경제 IoT 해커톤 교육 2일차 교육 자료
창조경제 IoT 해커톤 교육 2일차 교육 자료유명환 FunFun Yoo
 

La actualidad más candente (20)

Aperture : 3&4. 조도센서를 이용한 led 밝기 제어하기
Aperture : 3&4. 조도센서를 이용한 led 밝기 제어하기Aperture : 3&4. 조도센서를 이용한 led 밝기 제어하기
Aperture : 3&4. 조도센서를 이용한 led 밝기 제어하기
 
IoT with Raspberry Pi + Node JS - Chapter 2
IoT with Raspberry Pi + Node JS - Chapter 2IoT with Raspberry Pi + Node JS - Chapter 2
IoT with Raspberry Pi + Node JS - Chapter 2
 
강의자료 코딩클럽 아두이노 워크샵-2015.4.11
강의자료 코딩클럽 아두이노 워크샵-2015.4.11강의자료 코딩클럽 아두이노 워크샵-2015.4.11
강의자료 코딩클럽 아두이노 워크샵-2015.4.11
 
라즈베리파이와 자바스크립트로 IoT 시작하기
라즈베리파이와 자바스크립트로 IoT 시작하기라즈베리파이와 자바스크립트로 IoT 시작하기
라즈베리파이와 자바스크립트로 IoT 시작하기
 
Aperture : 1. 아두이노에 대해 알아보기
Aperture : 1. 아두이노에 대해 알아보기Aperture : 1. 아두이노에 대해 알아보기
Aperture : 1. 아두이노에 대해 알아보기
 
#아두이노 초급연수
#아두이노 초급연수#아두이노 초급연수
#아두이노 초급연수
 
코딩클럽 왕초보 아두이노따라잡기 1탄
코딩클럽 왕초보 아두이노따라잡기 1탄코딩클럽 왕초보 아두이노따라잡기 1탄
코딩클럽 왕초보 아두이노따라잡기 1탄
 
P.E.S
P.E.SP.E.S
P.E.S
 
원준갓의 IoT 수업
원준갓의 IoT 수업원준갓의 IoT 수업
원준갓의 IoT 수업
 
Intuitive Understanding of Arduino for IoT
Intuitive Understanding of Arduino for IoTIntuitive Understanding of Arduino for IoT
Intuitive Understanding of Arduino for IoT
 
창조경제 IoT 해커톤 교육 4일차
창조경제 IoT 해커톤 교육 4일차창조경제 IoT 해커톤 교육 4일차
창조경제 IoT 해커톤 교육 4일차
 
3D 프린터와 아두이노
3D 프린터와 아두이노3D 프린터와 아두이노
3D 프린터와 아두이노
 
[2] 아두이노 활용 실습
[2] 아두이노 활용 실습[2] 아두이노 활용 실습
[2] 아두이노 활용 실습
 
Avr lecture2
Avr lecture2Avr lecture2
Avr lecture2
 
Avr lecture3
Avr lecture3Avr lecture3
Avr lecture3
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
[실습편] 하드웨어에 생명을 주는 아두이노
[실습편] 하드웨어에 생명을 주는 아두이노[실습편] 하드웨어에 생명을 주는 아두이노
[실습편] 하드웨어에 생명을 주는 아두이노
 
창조경제 IoT 해커톤 교육 2일차 교육 자료
창조경제 IoT 해커톤 교육 2일차 교육 자료창조경제 IoT 해커톤 교육 2일차 교육 자료
창조경제 IoT 해커톤 교육 2일차 교육 자료
 
IoT 해커톤 교육 3일차
IoT 해커톤 교육 3일차IoT 해커톤 교육 3일차
IoT 해커톤 교육 3일차
 
Avr lecture1
Avr lecture1Avr lecture1
Avr lecture1
 

Similar a 메이커 페어 서울 2018 - 측우자격루(개발자용)

2020.07.14 PWJ SunTechI IoT 소개자료 (최종) (2).pptx
2020.07.14 PWJ SunTechI IoT 소개자료 (최종) (2).pptx2020.07.14 PWJ SunTechI IoT 소개자료 (최종) (2).pptx
2020.07.14 PWJ SunTechI IoT 소개자료 (최종) (2).pptxRinandarMuslimin
 
Vr cctv 제작 ver1
Vr cctv 제작 ver1Vr cctv 제작 ver1
Vr cctv 제작 ver1병재 김
 
사물인터넷 노트4_라즈베리파이기본
사물인터넷 노트4_라즈베리파이기본사물인터넷 노트4_라즈베리파이기본
사물인터넷 노트4_라즈베리파이기본Dong Hwa Jeong
 
아두이노로 배우는 피지컬 컴퓨팅(중급)
아두이노로 배우는 피지컬 컴퓨팅(중급)아두이노로 배우는 피지컬 컴퓨팅(중급)
아두이노로 배우는 피지컬 컴퓨팅(중급)gongdigi24
 
Raspberry-PI GPIO with Python
Raspberry-PI GPIO with PythonRaspberry-PI GPIO with Python
Raspberry-PI GPIO with Pythonsewoo lee
 
컵드론 멀티콥터 펌웨어 분석 2015. 3.28.
컵드론 멀티콥터 펌웨어 분석 2015. 3.28.컵드론 멀티콥터 펌웨어 분석 2015. 3.28.
컵드론 멀티콥터 펌웨어 분석 2015. 3.28.chcbaram
 
ARTIK 710 IoT class 02
ARTIK 710 IoT class 02ARTIK 710 IoT class 02
ARTIK 710 IoT class 02정출 김
 
아두이노와 Fpga를 이용한 로봇제작
아두이노와 Fpga를 이용한 로봇제작아두이노와 Fpga를 이용한 로봇제작
아두이노와 Fpga를 이용한 로봇제작chcbaram
 
Test-SDIC2018-2(answer)
Test-SDIC2018-2(answer)Test-SDIC2018-2(answer)
Test-SDIC2018-2(answer)Yong Heui Cho
 
Arduino 특강 강태욱
Arduino 특강   강태욱Arduino 특강   강태욱
Arduino 특강 강태욱Tae wook kang
 
아두이노 bluetooth
아두이노 bluetooth아두이노 bluetooth
아두이노 bluetoothJungHoon Lee
 
[1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기
[1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기[1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기
[1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기NAVER D2
 
INVT_태양광 인버터 카탈로그_2023.4.10.pdf
INVT_태양광 인버터 카탈로그_2023.4.10.pdfINVT_태양광 인버터 카탈로그_2023.4.10.pdf
INVT_태양광 인버터 카탈로그_2023.4.10.pdfSamuel Ou
 
[IoT] MAKE with Open H/W + Node.JS - 4th
[IoT] MAKE with Open H/W + Node.JS - 4th[IoT] MAKE with Open H/W + Node.JS - 4th
[IoT] MAKE with Open H/W + Node.JS - 4thPark Jonggun
 
NodeJs로 디바이스 통신하기
NodeJs로 디바이스 통신하기NodeJs로 디바이스 통신하기
NodeJs로 디바이스 통신하기TaeYoung Kim
 
망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌
망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌
망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌종인 전
 
메이커 페어 서울 2018 - 레고 측우자격루
메이커 페어 서울 2018 - 레고 측우자격루메이커 페어 서울 2018 - 레고 측우자격루
메이커 페어 서울 2018 - 레고 측우자격루JongyoonWon1
 
OSS SW Basics Lecture 14: Open source hardware
OSS SW Basics Lecture 14: Open source hardwareOSS SW Basics Lecture 14: Open source hardware
OSS SW Basics Lecture 14: Open source hardwareJeongkyu Shin
 
Hideroot - Inc0gnito 2016
Hideroot - Inc0gnito 2016Hideroot - Inc0gnito 2016
Hideroot - Inc0gnito 2016perillamint
 

Similar a 메이커 페어 서울 2018 - 측우자격루(개발자용) (20)

2020.07.14 PWJ SunTechI IoT 소개자료 (최종) (2).pptx
2020.07.14 PWJ SunTechI IoT 소개자료 (최종) (2).pptx2020.07.14 PWJ SunTechI IoT 소개자료 (최종) (2).pptx
2020.07.14 PWJ SunTechI IoT 소개자료 (최종) (2).pptx
 
Vr cctv 제작 ver1
Vr cctv 제작 ver1Vr cctv 제작 ver1
Vr cctv 제작 ver1
 
사물인터넷 노트4_라즈베리파이기본
사물인터넷 노트4_라즈베리파이기본사물인터넷 노트4_라즈베리파이기본
사물인터넷 노트4_라즈베리파이기본
 
아두이노로 배우는 피지컬 컴퓨팅(중급)
아두이노로 배우는 피지컬 컴퓨팅(중급)아두이노로 배우는 피지컬 컴퓨팅(중급)
아두이노로 배우는 피지컬 컴퓨팅(중급)
 
Raspberry-PI GPIO with Python
Raspberry-PI GPIO with PythonRaspberry-PI GPIO with Python
Raspberry-PI GPIO with Python
 
컵드론 멀티콥터 펌웨어 분석 2015. 3.28.
컵드론 멀티콥터 펌웨어 분석 2015. 3.28.컵드론 멀티콥터 펌웨어 분석 2015. 3.28.
컵드론 멀티콥터 펌웨어 분석 2015. 3.28.
 
ARTIK 710 IoT class 02
ARTIK 710 IoT class 02ARTIK 710 IoT class 02
ARTIK 710 IoT class 02
 
아두이노와 Fpga를 이용한 로봇제작
아두이노와 Fpga를 이용한 로봇제작아두이노와 Fpga를 이용한 로봇제작
아두이노와 Fpga를 이용한 로봇제작
 
Test-SDIC2018-2(answer)
Test-SDIC2018-2(answer)Test-SDIC2018-2(answer)
Test-SDIC2018-2(answer)
 
Arduino 특강 강태욱
Arduino 특강   강태욱Arduino 특강   강태욱
Arduino 특강 강태욱
 
아두이노 bluetooth
아두이노 bluetooth아두이노 bluetooth
아두이노 bluetooth
 
[1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기
[1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기[1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기
[1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기
 
INVT_태양광 인버터 카탈로그_2023.4.10.pdf
INVT_태양광 인버터 카탈로그_2023.4.10.pdfINVT_태양광 인버터 카탈로그_2023.4.10.pdf
INVT_태양광 인버터 카탈로그_2023.4.10.pdf
 
[IoT] MAKE with Open H/W + Node.JS - 4th
[IoT] MAKE with Open H/W + Node.JS - 4th[IoT] MAKE with Open H/W + Node.JS - 4th
[IoT] MAKE with Open H/W + Node.JS - 4th
 
NodeJs로 디바이스 통신하기
NodeJs로 디바이스 통신하기NodeJs로 디바이스 통신하기
NodeJs로 디바이스 통신하기
 
망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌
망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌
망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌
 
메이커 페어 서울 2018 - 레고 측우자격루
메이커 페어 서울 2018 - 레고 측우자격루메이커 페어 서울 2018 - 레고 측우자격루
메이커 페어 서울 2018 - 레고 측우자격루
 
Meteor IoT
Meteor IoTMeteor IoT
Meteor IoT
 
OSS SW Basics Lecture 14: Open source hardware
OSS SW Basics Lecture 14: Open source hardwareOSS SW Basics Lecture 14: Open source hardware
OSS SW Basics Lecture 14: Open source hardware
 
Hideroot - Inc0gnito 2016
Hideroot - Inc0gnito 2016Hideroot - Inc0gnito 2016
Hideroot - Inc0gnito 2016
 

Más de JongyoonWon1

아두이노 X 레고 실습
아두이노 X 레고 실습아두이노 X 레고 실습
아두이노 X 레고 실습JongyoonWon1
 
아두이노 & 라즈베리파이
아두이노 & 라즈베리파이아두이노 & 라즈베리파이
아두이노 & 라즈베리파이JongyoonWon1
 
레고 소개 - 레고 구동부 중심으로
레고 소개 - 레고 구동부 중심으로레고 소개 - 레고 구동부 중심으로
레고 소개 - 레고 구동부 중심으로JongyoonWon1
 
메이커 페어 서울 2017 발표자료 - 레고 거북차 가습기(Smart Turtle Ship) (라즈베리파이 활용)
메이커 페어 서울 2017 발표자료 - 레고 거북차 가습기(Smart Turtle Ship) (라즈베리파이 활용)메이커 페어 서울 2017 발표자료 - 레고 거북차 가습기(Smart Turtle Ship) (라즈베리파이 활용)
메이커 페어 서울 2017 발표자료 - 레고 거북차 가습기(Smart Turtle Ship) (라즈베리파이 활용)JongyoonWon1
 
메이커 페어 서울 2016 발표자료 - 전통과 현대의 만남_자격루 레고 디지털 시계(레고+라즈베리파이)
메이커 페어 서울 2016 발표자료 - 전통과 현대의 만남_자격루 레고 디지털 시계(레고+라즈베리파이)메이커 페어 서울 2016 발표자료 - 전통과 현대의 만남_자격루 레고 디지털 시계(레고+라즈베리파이)
메이커 페어 서울 2016 발표자료 - 전통과 현대의 만남_자격루 레고 디지털 시계(레고+라즈베리파이)JongyoonWon1
 
브릭인사이드 창작발전소 발표자료 - 해인사 오후 6시(레고+라즈베리파이)
브릭인사이드 창작발전소 발표자료 - 해인사 오후 6시(레고+라즈베리파이)브릭인사이드 창작발전소 발표자료 - 해인사 오후 6시(레고+라즈베리파이)
브릭인사이드 창작발전소 발표자료 - 해인사 오후 6시(레고+라즈베리파이)JongyoonWon1
 

Más de JongyoonWon1 (6)

아두이노 X 레고 실습
아두이노 X 레고 실습아두이노 X 레고 실습
아두이노 X 레고 실습
 
아두이노 & 라즈베리파이
아두이노 & 라즈베리파이아두이노 & 라즈베리파이
아두이노 & 라즈베리파이
 
레고 소개 - 레고 구동부 중심으로
레고 소개 - 레고 구동부 중심으로레고 소개 - 레고 구동부 중심으로
레고 소개 - 레고 구동부 중심으로
 
메이커 페어 서울 2017 발표자료 - 레고 거북차 가습기(Smart Turtle Ship) (라즈베리파이 활용)
메이커 페어 서울 2017 발표자료 - 레고 거북차 가습기(Smart Turtle Ship) (라즈베리파이 활용)메이커 페어 서울 2017 발표자료 - 레고 거북차 가습기(Smart Turtle Ship) (라즈베리파이 활용)
메이커 페어 서울 2017 발표자료 - 레고 거북차 가습기(Smart Turtle Ship) (라즈베리파이 활용)
 
메이커 페어 서울 2016 발표자료 - 전통과 현대의 만남_자격루 레고 디지털 시계(레고+라즈베리파이)
메이커 페어 서울 2016 발표자료 - 전통과 현대의 만남_자격루 레고 디지털 시계(레고+라즈베리파이)메이커 페어 서울 2016 발표자료 - 전통과 현대의 만남_자격루 레고 디지털 시계(레고+라즈베리파이)
메이커 페어 서울 2016 발표자료 - 전통과 현대의 만남_자격루 레고 디지털 시계(레고+라즈베리파이)
 
브릭인사이드 창작발전소 발표자료 - 해인사 오후 6시(레고+라즈베리파이)
브릭인사이드 창작발전소 발표자료 - 해인사 오후 6시(레고+라즈베리파이)브릭인사이드 창작발전소 발표자료 - 해인사 오후 6시(레고+라즈베리파이)
브릭인사이드 창작발전소 발표자료 - 해인사 오후 6시(레고+라즈베리파이)
 

Último

Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 

Último (6)

Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 

메이커 페어 서울 2018 - 측우자격루(개발자용)

  • 2. 메이커 페어란? https://makerfaire.co.kr/maker-faire-seoul-2018/  메이커 페어 서울 2018 정보 - 일정 : 2018.09.29. ~ 2018.09.30. - 장소 : 서울 상암 문화비축기지 - 전시/운영자 107팀(400여 명) - 관람객 1만 5천 명
  • 4. 목 차 1. 프로젝트 소개 2. IoT 기술 소개 3. 기능 상세 4. 제작 과정 5. 시연 6. 느낀 점
  • 5. 1. 프로젝트 소개 - 개요 2016년에 ‘자격루’를 참고로 하여 일부를 응용한 ‘레고 자격루 디지털 시계’를 선보였습니다. 이번에는 자격루의 전체 모습을 구현하고자 했고, 자격루로 물을 올리는 것은 ‘측우기’로부터 시작하면 어떨까 싶어 측우기와 자격루를 결합한 ‘측우자격루’를 제작하게 되었습니다. 자격루 2016 자격루 2017 측우자격루 자격루측우기
  • 6. 측우기[測雨器] 세종 때 발명되어 사용한 조선시대의 공식적인 우량 측정 기구. 1440년을 전후하여 발명되어 1442년(세종 24)부터 20세기 초까지 조선 왕조의 공식적인 우량 관측기구로 사용된 도구로, 현대의 우량계에 해당한다. 금속제 원통형 그릇에 빗물을 받아 표준화된 눈금의 자로 그 깊이를 측정했다. 측우대[測雨臺] 측우기를 안정(安定)하게 올려놓고 우량 측정을 편하게 하기 위하여 만든 대석(臺石). [네이버 지식 백과] 측우기[測雨器] (한국민족문화대백과) 1. 프로젝트 소개 - 참고자료
  • 7. 자격루[自擊漏] 자동으로 시보(時報, 정확한 시각을 알리는 신호)를 알려주는 장치가 되어 있는 물시계. 1434년(세종 16) 왕명으로 장영실· 김조·이천 등이 제작하였다. 시(時)·경(更)·점(點)에 맞추어 종과 북 ·징을 쳐서 시각을 알렸으며, 파수호 (播水壺)와 수수호(受水壺), 동력전달 장치와 시보장치로 되어 있다. 사진 : 국립고궁박물관 1. 프로젝트 소개 - 참고자료 [네이버 지식백과] 자격루 [自擊漏] (두산백과)
  • 8. 2. IoT 기술 소개 - 라즈베리파이 / 아두이노 비교 구분 라즈베리파이 아두이노(제누이노) 이미지 종류 싱글보드 컴퓨터 마이크로 컨트롤러 OS Linux(40여 종), Windows IoT 10 X 개발 환경 vi, nano, IDLE, Scratch, Eclipse Sketch 특징 - 진입장벽 존재(Linux 및 개발언어 사전지식) - 하드웨어 성능 우수 - 초보자에게 적합(윈도우에서 개발 가능) - 많은 레퍼런스 존재 검색 결과* 3320만 건(2016) 6130만 건(2017) 2억1700만 건(2018) 5930만 건(2016) 8200만 건(2017) 8840만 건(2018) 국내 도서* 27권(2016) 42권(2017) 59권(2018) 74권(2016) 153권(2017) 184권(2018) * 이미지 출처 : wiki * 2016년 9월, 2017년 10월, 2018년 9월 Google(영문으로 검색)/알라딘 검색 기준
  • 9. GPIO* * 라즈베리파이3 모델B 기준 * GPIO : General Purpose Input/Output 하드웨어 아답터 TV/모니터 공유기 키보드 마우스 HDMI Cable 유/무선 라즈베리파이 주변장치 연결* 모터LED 2. IoT 기술 소개 - 라즈베리파이 / 아두이노 비교 액츄에이터(Output) 스피커 거리센서 조도센서 센서(Input)
  • 10. 아두이노 주변장치 연결* PC/노트북 (USB Port) 다양한 쉴드 * 아두이노 우노 R3 기준 아답터 2. IoT 기술 소개 - 라즈베리파이 / 아두이노 비교 하드웨어모터LED거리센서 조도센서 액츄에이터(Output)센서(Input)
  • 11. 2. IoT 기술 소개 - 라즈베리파이 GPIO 라즈베리파이3 GPIO Header GPIO2~27 : 26개까지 GPIO 포트 사용 가능 이미지 출처 : https://docs.microsoft.com/en-us/windows/iot- core/media/pinmappingsrpi/rp2_pinout.png
  • 12. 2. IoT 기술 소개 - 아두이노 우노 아두이노 우노 보드 라즈베리파이와는 다르게 Analog Pin도 있음 이미지 출처 : https://wiki.eprolabs.com/index.php?title=Arduino_UNO
  • 13. 2. IoT 기술 소개 - 저항 저항 읽는 법 이미지 출처 : http://ggolbeng2.tistory.com/m/entry/%EC%A0%80%ED%95%AD- %EC%9D%BD%EB%8A%94-%EB%B2%95
  • 14. 2. IoT 기술 소개 - LED LED(Light Emitting Diode) C 소스 #include <stdio.h> #include <wiringPi.h> #define LED1 17 // GPIO 17 int main(void) { printf("Hello, worldn"); if (wiringPiSetupGpio() == -1) { return 1; } pinMode(LED1, OUTPUT); while(1) { digitalWrite(LED1, 1); delay(1000); digitalWrite(LED1, 0); delay(1000); } return 0; } LED 깜빡임 무한 반복(1초 간격) LED 저항 라즈베리파이 저항이 필요한 이유 : [옴의 법칙(Ohm’s law)] V = I×R(전압=전류×저항)  I = V/R(전류=전압/저항)  저항이 없으면(R=0이면) I는 무한대이므로 LED에 과부하 걸림
  • 15. 2. IoT 기술 소개 - 모터 DC모터(DC motor) pwm_pin = 26 dir_pin = 22 … try: while True: gear = input("Press gear(-2, -1, 0, 1, 2 ) : "); if gear == "0": pwm_motor.ChangeDutyCycle(0) #stop elif gear == "1" or gear == "-1": pwm_motor.ChangeDutyCycle(50) #go slow elif gear == "2" or gear == "-2": pwm_motor.ChangeDutyCycle(100) #go fast if gear > "0": GPIO.output(dir_pin, True) #go else: GPIO.output(dir_pin, False) #back 직류 전류(Direct Current)를 전원으로 하여 돌아가는 모터. 일반적으로 널리 쓰이는 모터 Python 소스 5V GND PWM : Duty비 변경에 따라 속도 조절 DIR : High/Low에 따라 회전 방향 변경 AAA * 6 (9V) G22 G26 모터 드라이버 Duty비(On Duty Ratio) : 한 주기(T)에 대해서 Pulse가 On인 상태의 비율 PWM(펄스 폭 변조) : Pulse Width Modulation. Pulse의 Duty비를 바꿈으로써 출력의 크기 제어
  • 16. 2. IoT 기술 소개 - 모터 서보모터(Servomotor) import RPi.GPIO as GPIO import time pin = 12 GPIO.setmode(GPIO.BCM) GPIO.setup(pin, GPIO.OUT) p = GPIO.PWM(pin,50) #50Hz(20ms cycle) p.start(7.5) try: while True: p.ChangeDutyCycle(7.5) #90 degree time.sleep(1) p.ChangeDutyCycle(12.5) #180 degree time.sleep(1) p.ChangeDutyCycle(2.5) #0 degree time.sleep(3) except KeyboardInterrput: p.stop() GPIO.cleanup() 각도를 조절할 수 있는 모터. 일반적으로 180도 이동이 가능함 Python 소스 참고 자료 : https://rpi.science.uoit.ca/lab/servo/ 𝐝𝐜 = 𝟎. 𝟓 𝟐𝟎 × 𝟏𝟎𝟎 = 𝟐. 𝟓% 𝐝𝐜 = 𝟏. 𝟓 𝟐𝟎 × 𝟏𝟎𝟎 = 𝟕. 𝟓% 𝐝𝐜 = 𝟐. 𝟓 𝟐𝟎 × 𝟏𝟎𝟎 = 𝟏𝟐. 𝟓% Duty Cycle = Length/Period
  • 17. 2. IoT 기술 소개 - WiFi 통신 WebIOPi: 라즈베리파이 GPIO 포트를 웹 상에서 제어가 가능하게 개발된 Framework <script type="text/javascript"> webiopi().ready(function() { var content, button; content = $("#content"); button = webiopi().createMacroButton("on", "LED/Motor ON", "led_motor_on"); content.append(button); button = webiopi().createMacroButton("off", "LED/Motor OFF", "led_motor_off"); content.append(button); }); </script> JavaScript 소스 import webiopi GPIO = webiopi.GPIO … @webiopi.macro def led_motor_on(): GPIO.output(LED_MOTOR, GPIO.HIGH) @webiopi.macro def led_motor_off(): GPIO.output(LED_MOTOR, GPIO.LOW) Python 소스 5V GND 모터 On/Off AAA * 6 (9V) G18 WebIOPi 공유기 태블릿 PC노트북 참고 자료 : http://webiopi.trouch.com/
  • 18. 2. IoT 기술 소개 - 사운드 사운드 출력 //music_test.c #include <stdlib.h> int main(void) { system("omxplayer cheer_up.mp3"); return 0; } #music_test.py from omxplayer import OMXPlayer from time import sleep player = OMXPlayer('cheer_up.mp3') player.play() sleep(5) player.pause() # Kill the `omxplayer` process gracefully. player.quit() C 소스 Python 소스 참고 자료 : https://github.com/willprice/python-omxplayer-wrapper http://elinux.org/Omxplayer
  • 19. 2. IoT 기술 소개 - 센서 무게 센서(Load cell) 아두이노 소스 #include <HX711.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> HX711 hx(9, 10, 128, -0.00229); // 보정계수 LiquidCrystal_I2C lcd(0x27,16,2); void setup() { Serial.begin(9600); hx.set_offset(134033); // Offset Setting lcd.init(); // initialize the lcd lcd.backlight(); lcd.begin(16,2); } void loop() { delay(500); double sum0 = 0; double sum1 = 0; for (int i = 0; i < 10; i++) { sum0 += hx.read(); sum1 += hx.bias_read(); } lcd.clear(); lcd.setCursor(2,0); lcd.print("keyes-scale"); lcd.setCursor(5, 1); lcd.print(sum1/10); lcd.print("g"); } 로드셀 + 증폭기 (HX711) + 아두이노 + LCD 1602 + 아크릴판 = 저울 로드셀 참고 자료 : https://www.hackster.io/MOHAN_CHANDALURU/hx711- load-cell-amplifier-interface-with-arduino-fa47f3
  • 20. 2. IoT 기술 소개 - 센서 수위 센서(Liquid Level Sensor) int Liquid_level=0; void setup() { Serial.begin(9600); pinMode(5,INPUT); } void loop() { Liquid_level=digitalRead(5); //센서가 인식하면 1, 아니면 0으로 표시 Serial.print("Liquid_level= "); Serial.println(Liquid_level,DEC); delay(500); } 아두이노 소스 비접촉 수위센서 모듈 참고 자료 : https://www.dfrobot.com/wiki/index.php/Non- contact_Liquid_Level_Sensor_XKC-Y25-T12V_SKU:_SEN0204
  • 21. 2. IoT 기술 소개 - 센서 거리측정 센서 //아날로그 0번핀 사용 int pinNum = A0; //거리값 변수 생성 int distance = 0; void setup() { Serial.begin(9600); //시리얼 통신 초기화 //A0번핀을 INPUT으로 설정 pinMode (pinNum, INPUT); } void loop() { //적외선 거리 센서로 부터 측정값을 읽어온다 int data = analogRead(pinNum); //측정한 volt값을 0에서 5000사이의 값으로 변환 int volt = map(data, 0, 1023, 0, 5000); //측정값을 통해 거리를 계산 distance = (21.61/(volt-0.1696))*1000/5; //거리 출력 Serial.println(distance); //지연시간을 500ms로 설정 delay(500); } 아두이노 소스(적외선 거리측정 센서) 초음파 거리측정 센서 적외선 거리측정 센서 참고 자료 : http://mechasolutionwiki.com/index.php?title=%EC%B4%88%EC%9D%8C%E D%8C%8C_%EA%B1%B0%EB%A6%AC%EC%84%BC%EC%84%9C_(HC-SR04) https://kocoafab.cc/tutorial/view/272
  • 22. 2. IoT 기술 소개 - 센서 압력 센서(FSR, Force Sensing Resistor) int FSR_Pin = A0; //analog pin 0 void setup() { Serial.begin(9600); } void loop() { int FSRReading = analogRead(FSR_Pin); Serial.println(FSRReading); delay(250); } 아두이노 배선 라즈베리파이 배선 ADC(Analog-to-digital converter) 필요 아두이노 소스 import spidev, time spi = spidev.SpiDev() spi.open(0, 0) def analog_read(channel): r = spi.xfer2([1, (8 + channel) << 4, 0]) adc_out = ((r[1]&3) << 8) + r[2] return adc_out while True: reading = analog_read(0) voltage = reading * 3.3 / 1024 print("Data %dt Voltage %f V" % (reading, voltage) ) time.sleep(0.2) 라즈베리파이(Python) 소스 참고자료 : http://bildr.org/2012/11/force-sensitive-resistor-arduino/ https://github.com/acaird/raspi-scale/raw/master/images/lamescale_bb.png
  • 23. 2. IoT 기술 소개 - 집적회로(IC, Integrated Circuit) MCP3008 (ADC: Analog-to-digital converter) RPi Symbol Pin Con1 CH0 1 Con2 CH1 2 Con3 CH2 3 Con4 CH3 4 Con5 CH4 5 Con6 CH5 6 Con7 CH6 7 Con8 CH7 8 Pin Symbol RPi 16 VDD 3V3 15 V_REF 3V3 14 AGND GND 13 CLK 11 12 D_OUT 9 11 D_IN 10 10 CS/SHDN 8 9 DGND GND 아날로그 신호를 디지털 신호로 변환 74HC595 (Shift Register) RPi Symbol Pin Con2 Q1 1 Con3 Q2 2 Con4 Q3 3 Con5 Q4 4 Con6 Q5 5 Con7 Q6 6 Con8 Q7 7 GND GND 8 Pin Symbol RPi 16 VCC VCC 15 Q0 Con1 14 DS 17 or 앞 Q7S 13 OE GND 12 STCP 27 11 SHCP 18 10 MR VCC 9 Q7S X or 뒤 DS 사용해야 할 디지털 출력의 수가 많을 때 사용 참고 자료 : https://ko.wikipedia.org/wiki/%EC%95%84%EB%82%A0%EB%A1%9C%EA%B7%B8- %EB%94%94%EC%A7%80%ED%84%B8_%EB%B3%80%ED%99%98%ED%9A%8C%EB%A1%9C http://www.hardcopyworld.com/ngine/aduino/index.php/archives/2826
  • 24. 2. IoT 기술 소개 - 릴레이 NC: Normally closed NO: Normally open C: Common terminal 입력전기 신호를 받아서, 출력부에 필요한 동작전기 신호를 보내, 전기회로를 ON/OFF하는 장치 릴레이(Relay) 5V 릴레이 단말/핀 설명 5V 릴레이와 아두이노 연결 5V GND Signal 참고 자료 : http://www.circuitbasics.com/setting-up-a-5v-relay-on-the-arduino/ https://steps2make.com/wp-content/uploads/2017/10/Arduino_KY- 019_5v_relay_module_connections.png
  • 25. 2. IoT 기술 소개 - 적외선 통신 적외선(Infrared) 통신 #include <PowerFunctions.h> PowerFunctions pf(2, 0, 1); void setup() { Serial.println("ready to send lego ir commands"); } void loop() { pf.single_pwm(RED, PWM_BRK); for (int i = 0; i < 7; i++) { pf.single_increment(RED); delay(200); } for (int i = 0; i < 14; i++) { pf.single_decrement(RED); delay(200); } } 아두이노 소스 적외선 송신기 (IR Transmitter) 레고 서보모터 작동시키기 레고 적외선 수신기 레고 서보모터 레고 배터리팩 적외선 송신기 아두이노 참고 자료 : https://github.com/jurriaan/Arduino-PowerFunctions https://raspberrypi.stackexchange.com/questions/56999/will-this-arduino- module-work-with-raspberry-pi-3
  • 26. 3. 기능 상세 - 측우기 로드셀(무게 센서), 적외선 센서, 모터 로드셀, 아두이노, 적외선 송신기 거리측정센서 모터 ㅋ 측우기 측우기 작동 시나리오 (PLAN A) 1. 측우기에 비(구슬)가 계속 내리면 로드셀에서 무게 측정 2. 일정량의 구슬을 모으면 측우기를 기울여서 구슬을 떨어뜨림 3. 거리측정센서에서 구슬을 인식하면 컨베이어 벨트를 움직여서 구슬을 위로 올려줌 (PLAN B) 1. 무선 조종기 통해서 측우기를 기울여서 구슬 떨어뜨림 2. 무선 조종기 통해서 컨베이어 벨트를 움직여서 구슬을 위로 올려줌 적외선 수신기 무선 조종기 스마트라이트
  • 27. 3. 기능 상세 - 자격루A 자격루A 작동 시나리오 1. 중력을 이용해서, 맨 위 항아리에서부터 차례차례 구슬을 아래로 내려줌 자격루A 중력 스마트라이트
  • 28. 자격루B 3. 기능 상세 - 자격루B 압력센서, LED, 모터, 사운드, Wi-Fi 모터 스마트라이트 스피커(사운드) 자격루B 작동 시나리오 (PLAN A) 1. 압력센서에서 떨어지는 구슬을 인식하면, 종/북/징을 움직이면서 소리 나게 해줌 (PLAN B) 1. WiFi 통해 Web화면으로 원격으로 시계를 작동시켜줌 1) 6개 도시 클릭하면 시간대 변경 가능 2) 종/북/징 이미지 누르면 움직이면서 소리 나게 해줌 Web화면 공유기 라즈베리파이 LED 압력센서
  • 29. 3. 기능 상세 - 자격루B 하드웨어 아키텍처 라즈베리파이 스피커 아이패드 배터리팩 모터 + 미니피겨 모터 드라이버 LED 시계 공유기 시간 조정 LED 제어 (스마트라이트)
  • 30. 3. 기능 상세 - 자격루B LED 배선도 Shift Register 74HC595 5Φ LED 5V Relay * 설계는 글자당 LED 3X5 사이즈로 했으나 실제 모델은 5X7 사이즈로 제작함 3.3V PWR 5V PWR
  • 31. 3. 기능 상세 - 자격루B 모터 배선도 라즈베리파이 GPIO 레고 M 모터 모터 드라이버 L298N AAA * 6 or Adapter (9V 0.3A) DIRPWM DIR PWM PWM DIR 종북징
  • 37. 6. 느낀 점 - 3년 간 메이커 페어 참여를 위해 준비하다 보니 무심코 지나쳤던 부분이 ‘보이기‘ 시작함  전자제품 볼 때마다 원리에 대해 한 번 더 생각해 보게 됨 - 동료 검토하면서, 세상에 선보이면서, 많은 아이디어 수집됨  가능한 여러 곳에 공유할수록 좋은 아이디어 발굴 가능 - 1~2년 전 내용 다시 학습할 때 예전에 정리한 자료가 많은 도움이 됨  지속적으로 자료 정리할 필요 있음 - 잘못된 회로도를 현행화 하지 않아 나중에 문제 파악에 어려움 겪음  문제 파악하면 미루지 말고 바로 수정해야 함 - 자발적으로 진행하는 만큼 계획을 유연하게 세울 수 있으나, 언제나 시간이 부족함  충분한 Buffer 고려한 계획 수립 및 일정에 따른 실천 필요 - 메이커 페어 직전에 추석 연휴기간이 있어 부족한 부품 수급에 어려움  부품 구입 시 백업 부품도 구매해야겠다고 느낌
  • 38. [Backup - 느낀 점(2017)] ‘창조’의 즐거움 및 나눔 - 주도적으로 기획/설계/개발 - 동료들과 창조적인 활동 공유 작년에는 혼자, 올해는 여럿. - 다양한 아이디어 수집 가능 - 시행착오 시간 감소 많이 부족함을 느낌 - 기존 발명품 만든 선배들에 대한 존경심 생김 - 여러 분야 전문가 협업하고 싶음 (레고 디자이너, 전자회로 전문가, 하드웨어 제작자 : 연락 주세요) 메이커 페어 효과 - ‘취미’라고 부를 수 있는 활동 추가됨 - 여러 분야 메이커와 교류 기회
  • 39. [Backup - 느낀 점(2016)] 1) 10년 만에 다시 해본 전공 공부 학생 때와 달리 스스로 하는 학습이다 보니 흥미 있게 공부 진행 2) 새로운 프로그래밍 언어 도전 매니저가 되어가면서 정체되고 있는 개발 Skill에 대한 불안감 해소 3) 소프트웨어와 하드웨어의 융합 전공지식(하드웨어)과 실무지식(소프트웨어) 결합하여 시너지 효과 발생 4) 레고의 놀라운 확장성 확인 ‘레고 테크닉’이라는 신세계를 발견하여 다양한 확장 가능성 확인
  • 40. [Backup - FAQ(1)] Q. 제작 기간은 얼마나 되는지요? A. 처음 시계 만들려고 했던 것부터 치면 3년 반 정도 소요되었습니다만, 실제로는 띄엄띄엄 제작했습니다. 측우기와 자격루A 부분은 6개월 정도 걸렸습니다. Q. 제작 비용은 총 얼마나 될까요? A. 약 100만원 정도 소요된 것 같습니다(공구 제외, 잘못 샀거나 백업으로 구매한 부품 제외). Q. 기존에 파는 제품인가요? A. 아닙니다. 다만 자격루 부분은 순수 창작이지만 측우기에서 자격루로 물(구슬) 이동하는 부분은 기존 창작한 다른 작가의 작품을 개조했습니다(작가님에게서 비영리 목적이면 사용 가능하다고 허락 받았습니다). Q. 조립 설명서가 있나요? A. 측우기 쪽 모듈의 개조 전 버전은 원 창작자의 홈페이지에 조립 설명서가 있습니다(참고 자료 페이지 참조). 자격루는 설명서가 별도로 없습니다. 자격루 초기 버전 제작 시에 레고 모델링 툴인 LDD(Lego Digital Designer) 및 Bricklink Studio를 활용해서 만든 모델링 파일은 있습니다.
  • 41. [Backup - FAQ(2)] Q. 레고 부품들은 어디에서 구했나요? A. 거의 대부분 레고 부품 거래 사이트인 브릭링크(http://brinklink.com) 통해서 구했습니다. LED는 레고 부품이 아니며, 전자부품 쇼핑몰에서 구매했습니다. Q. 스피커에서 소리 날 때 분수도 올라가던데요. 스피커도 제작한 건가요? A. 스피커는 기성품입니다(다른 행사에서 상품으로 받았습니다). Q. 태블릿 PC에서의 자격루 제어 프로그램은 스마트폰 앱인가요? A. 아닙니다. 웹페이지입니다. 따라서 태블릿 PC/스마트폰 뿐 아니라 PC/노트북에서도 똑같이 보이고 똑같이 작동시킬 수 있습니다. Q. 개발 언어는 어떻게 되는지요? A. LED 시계/소리는 C로, 웹서버(WebIOPi) 및 레고 미니피겨 컨트롤은 파이썬으로, 웹페이지에는 HTML/CSS/JavaScript를 사용했습니다. 저울에는 C 기반인 아두이노 전용 언어를 사용했습니다. 프로그램 소스는 깃허브(https://github.com/pcmola)에 올려두었습니다.
  • 42. [Backup - FAQ(3)] Q. 전자부품은 아두이노로 만들었나요? 레고 마인드스톰을 썼나요? A. 측우기 측정하는 저울 부분에는 아두이노를 사용했고, 자격루 시계에는 라즈베리파이를 사용했습니다. 레고 마인스트톰은 사용하지 않았고, 모터/리시버/리모컨은 레고 파워펑션 제품군을 사용했습니다. 레고 파워펑션 부품들. (왼쪽 위부터) 리시버, 서보모터, M모터, L모터, XL모터, (왼쪽 아래부터) 일반리모컨, 스피드리모컨, AAA 배터리박스, AA 배터리박스. 작품에 사용된 레고 파워평션 부품들 아두이노 라즈베리파이 이미지 출처 : Wiki, http://apparat.tistory.com/38
  • 43. [Backup - 라즈베리파이 GPIO 연결] GPIO (BCM) 사용여부 사용처 2 O LED GREEN 3 O JING_DIR 4 O BUTTON_HOUR 5 6 O BUTTON_MINUTE 7 O LED COLON 8 O MCP3008 9 O MCP3008 10 O MCP3008 11 O MCP3008 12 O BOOK PWM 13 O JONG DIR 16 O BOOK DIR 17 O 74HC595 18 O 74HC595 19 O JONG PWM 20 O JING PWM 21 O RELAY 22 O TIMEZONE 23 O TIMEZONE 24 O TIMEZONE 25 26 27 O 74HC595 gpio readall +-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+ | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM | +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+ | | | 3.3v | | | 1 || 2 | | | 5v | | | | 2 | 8 | SDA.1 | IN | 1 | 3 || 4 | | | 5V | | | | 3 | 9 | SCL.1 | IN | 1 | 5 || 6 | | | 0v | | | | 4 | 7 | GPIO. 7 | IN | 1 | 7 || 8 | 0 | IN | TxD | 15 | 14 | | | | 0v | | | 9 || 10 | 1 | IN | RxD | 16 | 15 | | 17 | 0 | GPIO. 0 | IN | 0 | 11 || 12 | 1 | IN | GPIO. 1 | 1 | 18 | | 27 | 2 | GPIO. 2 | OUT | 0 | 13 || 14 | | | 0v | | | | 22 | 3 | GPIO. 3 | OUT | 0 | 15 || 16 | 0 | IN | GPIO. 4 | 4 | 23 | | | | 3.3v | | | 17 || 18 | 0 | IN | GPIO. 5 | 5 | 24 | | 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | | | 9 | 13 | MISO | IN | 0 | 21 || 22 | 0 | IN | GPIO. 6 | 6 | 25 | | 11 | 14 | SCLK | IN | 0 | 23 || 24 | 1 | IN | CE0 | 10 | 8 | | | | 0v | | | 25 || 26 | 1 | IN | CE1 | 11 | 7 | | 0 | 30 | SDA.0 | IN | 1 | 27 || 28 | 1 | IN | SCL.0 | 31 | 1 | | 5 | 21 | GPIO.21 | IN | 1 | 29 || 30 | | | 0v | | | | 6 | 22 | GPIO.22 | IN | 1 | 31 || 32 | 0 | IN | GPIO.26 | 26 | 12 | | 13 | 23 | GPIO.23 | IN | 0 | 33 || 34 | | | 0v | | | | 19 | 24 | GPIO.24 | IN | 0 | 35 || 36 | 0 | IN | GPIO.27 | 27 | 16 | | 26 | 25 | GPIO.25 | IN | 0 | 37 || 38 | 0 | IN | GPIO.28 | 28 | 20 | | | | 0v | | | 39 || 40 | 0 | IN | GPIO.29 | 29 | 21 | +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+ | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM | +-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+
  • 44. [Backup - 참고 자료] Railway System: Reverse module V-type(https://akiyuki.jp/en/works/889) - Loading Unit, Unloading Unit을 개조하여 측우기 구동부 만드는 데 사용함
  • 48. 조종해 보세요 측우기 작동 구슬 올리기 멈춤제자리