Upload
eunhee-ha
View
1.977
Download
3
Embed Size (px)
Citation preview
코딩클럽신송섭 ([email protected])2
강사소개
• 이 름 : 신송섭• EMail : [email protected]• FB : www.facebook.com/songsup.shin
코딩클럽신송섭 ([email protected])3
목차
• 오픈소스/아두이노• 개발환경에대하여
• 프로그래밍기초
• LED Blink– 실습 #1 - LED On/Off– 실습 #2 - LED 부드럽게 On/Off– 실습 #3 - RGB LED Control
• 외부입력으로 LED 제어하기– 실습 #4 –버튼으로 LED On/Off– 실습 #5 -기울기스위치(Tilt switch)로 On/Off– 실습 #6 –가변저항으로 LED On/Off 제어– 실습 #7 –가변저항으로 LED 밝기제어
• 센서로 LED 제어하기– 실습 #8 –빛센서– 실습 #9 -온도센서
코딩클럽신송섭 ([email protected])4
Open Source • Open Source
= Open Source H/W + Open Source S/W
– Open Source SW : Linux, Inkscape, Ecllips, ………– Open Source HW :
• 정의 : 오픈소스문화에서비롯되어생성된소스를공개• 공개범위 : 회로도, PCB 거버화일, BOM, 기구도면, HDL, IC Circuit Layout data, 하드웨어를구동하기위한소프트웨어
• 오픈소스하드웨어프로젝트리스트(http://en.wikipedia.org/wiki/List_of_open-source_hardware_projects)
• Arduino, 3D Printer, Quadcopter, Robot 등등• Raspberry Pi는오픈소스일까?
– 오픈소스라이선스https://wiki.kldp.org/wiki.php/OpenSourceLicenseGuide
http://www.oshwa.org/http://opensource.org/
코딩클럽신송섭 ([email protected])6
아두이노 - History • 아두이노시작
– Ivrea, Northern Italy– Interaction Design Institute Ivrea (IDII), Masimo Banzi– Hernando Barragan(학생) : Wiring( http://www.wiring.org.co )– Processing : MIT Media Lab– 2005년 IDII 학생들의위해서 Release
Wiring Processing
Arduino H/W
ArdionoIDE
Arduino Platform
코딩클럽신송섭 ([email protected])7
아두이노 – Core team
The Arduino core team [from left]—David Cuartielles, Gianluca Martino, Tom Igoe, David Mellis, and Massimo Banzi
http://spectrum.ieee.org/geek-life/hands-on/the-making-of-arduino
코딩클럽신송섭 ([email protected])9
Arduino H/W
코딩클럽신송섭 ([email protected])10
Open Source H/W
코딩클럽신송섭 ([email protected])11
Arduino UNO R3 Board
디지털입출력/PWM 핀
아날로그입출력핀전원입출력
MicroController
USB 커넥터
외부전원입력
리셋버튼I2C, AREF
ICSPUSB to Serial
리셋버튼
전원 LED
코딩클럽신송섭 ([email protected])12
Arduino UNO - Shield
코딩클럽신송섭 ([email protected])13
Arduino IDE(Intergrated Development Environment)
코딩
(텍스트 편
집기)
컴파일
(컴파일러)
링크
(링커)
디버깅
(디버거)
다운로딩
(임베디드시
스템)
실행
이클립스
AVR Studio
Visual Studio
코딩클럽신송섭 ([email protected])14
Arduino -연결
코딩클럽신송섭 ([email protected])15
Arduino IDE - Sketch• Sketch다운로드
http://arduino.cc/en/Main/Software
• 설치하기
코딩클럽신송섭 ([email protected])16
Arduino - IDE
도구모음메뉴바
알림영역
보드설정/시리얼포트
탭메뉴
시리얼모니터
상태표시줄
화일명
입력영역
IDE 버전
라인번호
코딩클럽신송섭 ([email protected])17
Arduino IDE -메뉴바기능알아보기
확인 : 코드에에러가없는지확인하고컴파일
업로딩 : 에러확인,컴파일, 업로드를실행
새화일 : 새스케치를만든다.
열기 : 저장된스케치열기
저장 : 현재작업중인스케치저장
시리얼모니터창열기
코딩클럽신송섭 ([email protected])19
Arduino –드라이버재설치방법
코딩클럽신송섭 ([email protected])20
전기회로
코딩클럽신송섭 ([email protected])22
부품 -저항
• 종류 : 고정저항, 가변저항, 시멘트저항, 칩저항, 등등등• 기호 : • 단위 : ohm(Ω, 오옴)
• 고정저항 • 가변저항
왜 사용하는 걸까?
코딩클럽신송섭 ([email protected])23
부품 –저항값읽기
주황색
첫번째수
주황색
두번째수
빨간색
승수
금색
오차율
33x100=3300ohm±5%
=3.3kohm±5%
3 3 102
=100
±5%
코딩클럽신송섭 ([email protected])24
부품 – LED• LED :전기에너지를빛에너지로변환하는부품• 기호 : • LED는두종류의물질을가지고만드는반도체• 갈륨비소(GaAs), 갈륨인(GaP), 갈륨비소인(GaAsP), 갈륨질소(GaN)등• LED를사용하는이유
– 에너지효율 Up, 전력소모는 Down
– 백열등에비해 1/5 수준의전력만소비– 백열등에비해 15배이상의긴수명– 지구를살리는친환경기술– 다양한색깔을표현할수있음– 빛의색상, 밝기등을손쉽게제어할수있음
코딩클럽신송섭 ([email protected])27
Arduino –프로그래밍기초• http://arduino.cc/en/Reference/HomePage• 구조
– 기본구조문 : setup(), loop(),– 제어구문 : if, if … else…, for, switch, while, do while, break, continue, return, goto– 기타구문 : ;, {}, //, /* */, #define, #include– 수연산자 : =, +, -, *, /, %– 비교연산자 : ==, ~=, <, >, <=,>=– 논리연산자 : &&, ||, ! – 포인트연산자 : *, &– 비트연산자 : &, |, ^, ~, <<, >>– 합성연산자 : ++, --, +=, -=, *=, /=, &=, |=
• 변수 : 상수, 변수, 데이터타입, 형변환, …• 함수
– 기본제공함수 : 디지털입출력함수, 아날로그입출력함수, 시간함수, 수학함수, …– 사용자함수
• 라이브러리– 함수들의집합– 기본함수 : EEPROM, Ethernet, Firmata, GSM, LCD, SD, Servo, SPI,… – ..\Arduino\libraries– http://arduino.cc/en/Reference/Libraries
코딩클럽신송섭 ([email protected])28
C 프로그래밍기초 -기본• 주석
– /* 주석 */ : 여러줄주석– // 주석 : 한줄주석
• 세미콜론( ; ) : 문장의끝– 문자의끝을의미
• { } : 함수, 반복문, 조건문등에서블럭을정의할때사용함시작/끝을나타내며항상쌍으로이루어져야함
– void setup(){ }– void loop(){ }– for( ){ ~ }– If( ){ ~ } else { ~ }
if( ){if( ){
if( ){}
}}else{}
코딩클럽신송섭 ([email protected])29
C 프로그래밍기초 –상수/변수• 상수와변수?
– 상수란 : 항상일정한값.– 변수란 : 변하는데이터, 데이터를저장할수있는공간,
• 선언과초기화
– 선언 : ‘데이터형’’변수이름’ = ‘초기값’;const int led=13; <-상수선언
int led=13; <-변수선언– 초기화
• 상수는선언하면서값을주어짐
• 변수는선언하면서초기화해도되고프로그램중간에넣어도된다.• 상수/변수이름짓기
– 영문대소문자, 숫자, ‘_’만사용함, 대소문자구분됨ex) a, A, Show_Me_The_Money, showmethemoney, showMEtheMoney …
– 특수문자안됨 ex) A#212, B@4%6, …– 띄어쓰기가있으면안됨 ex)add num, show me the money, …– 숫자가맨앞에오는것은안됨 ex) 1aA– 실제변수의기능에따라이름을작명 ex) VResistorVal, RLedPort, BLedPort, …
코딩클럽신송섭 ([email protected])30
C 프로그래밍기초 -연산자
연산자 연산의 예 의미
< a<b a가 b보다 작으면
> a>b a가 b보다 크면
== a==b a와 b가 같으면
!= a!=b a와 b가 같지 않으면
<= a<=b a가 b보다 작거나 같으면
>= a>=b a가 b보다 크거나 같으면
연산자 연산의 예 의미 연산자 연산의 예 의미
+ a+b a 더하기 b / a/b a 나누기 b
- a-b a 빼기 b % a%b a 나누기 b 의 나머지
* a*b a 곱하기 b
• 수연산자
• 비교연산자
연산자 연산의 예 의미 연산자 연산의 예 의미
++ a++ a + 1을 의미 += a+=1 a=a+1
-- a-- a – 1을 의미 -= a-=1 a=a-1
• 합성연산자
코딩클럽신송섭 ([email protected])31
연산자 사용예 의미
! !a not 연산자, a 가 아니면
&& a&&b and 연산자, a 이고 b
|| a||b or 연산자, a 이거나 b
• 조건연산자
• 사용예
• !a : a가아니면
– if(!(a<3)){ A실행 }
• A && b : a 이고 b일때
– if(analogRead(swPin1) && digitalRead(swPin2)){ }
• A || b : a 이거나 b일때
– if(analogRead(swPin1) || digitalRead(swPin2)){ }
C 프로그래밍기초 -연산자
코딩클럽신송섭 ([email protected])32
C 프로그래밍기초 – if 조건문• 문법
• 기능
– 만약, ‘조건 ’이참(True)라면 ‘ ’을실행하고‘조건 ’이거짓(False)이면 ‘ ’을실행한다.
• 사용예(a=3이면) (a=10이면)
if(조건)
{ <- A영역시작‘A 영역’
} <- A영역끝else
{ <- B영역시작‘B 영역’
} <- B영역끝
A 영역
B 영역
if( a < 10 ){
digitalWrtite(13, HIGH);
}
else{
digitalWrite(12, HIGH);
}
if( a < 10 ){
digitalWrtite(13, HIGH);
}
else{
digitalWrite(12, HIGH);
}
코딩클럽신송섭 ([email protected])33
C 프로그램기초 – for() 제어문• 문법
• 기능 : 조건식이만족하면영역을실행한다.– 초기값 : 조건식에사용할변수의초기값– 조건식 : 조건문– 증감식 : 변수의증감값
• 사용예
for(초기값;조건식;증감식)
{
실행영역;
}
for(i=0;i<5;i++)
{
digitlaWrite(i, HIGH);
}
delay(1000);
i=
digitalWrite( , HIGH)0
i=i+1
실행
i<5 이면 실행
012345
1234
delay(1000);
코딩클럽신송섭 ([email protected])34
• 프로그램에서함수란? 특정한기능을하는제어문, 조건문, 함수들의집합
• 함수구조
“반환값” “함수이름” (“전달인자1”, “전달인자2”,---)
Ex)
digitalWrite(pin, HIGH);
pinMode(pin, OUTPUT);
delay(1000);
randomNumber=random(min,max);
=
• 함수란?
“반환값”
“전달인자1”, “전달인자2”,
함수 f( )
C 프로그래밍기초 -함수
코딩클럽신송섭 ([email protected])35
Arduino -프로그램구조1. // 프로그램설명부 : 프로그램동작설명, 제작자, 라이선스, 생성연월일/버전, 등정보부분2. /* Blink3. Turns on an LED on for one second, then off for one second, repeatedly.4.5. This example code is in the public domain.6. */ <-주석끝
7. // 변수및함수정의부8. int led = 13; <-변수정의및초기값설정
9. void setup( ) { <-프로그램시작할때한번만실행됨10. // 입출력핀의초기값11. // 시리얼포트설정12. // 변수초기값13. // 등프로그램시작시한번만실행되거나주변회로에대한초기값을설정하는부분14. }
15. void loop( ) { <-메인실행함수, 반복실행됨
16. // 주실행프로그램부분17. // 무한반복됨
18. }
19. void User_Lib() <-사용자정의함수20. {
21. // 사용자정의함수부분
22. }
코딩클럽신송섭 ([email protected])36
Arduino –기본프로그램예제1. /* <-주석시작2. Blink3. Turns on an LED on for one second, then off for one second, repeatedly.4.5. This example code is in the public domain.6. */ <-주석끝7.8. // Pin 13 has an LED connected on most Arduino boards. <-한줄주석9. // give it a name: <-한줄주석
10. int led = 13; <-변수정의및초기값설정
11. // the setup routine runs once when you press reset: <-한줄주석12. void setup( ) { <-프로그램시작할때한번만실행됨13. // initialize the digital pin as an output.14. pinMode(led, OUTPUT); <-핀의사용모드정의함수15. }
16. // the loop routine runs over and over again forever: <-한줄주석17. void loop( ) { <-메인실행함수, 반복실행됨18. digitalWrite(led, HIGH); // LED 켜기19. delay(1000); // 1초동안시간지연20. digitalWrite(led, LOW); // LED 끄기21. delay(1000); // 1초동안시간지연22. }
코딩클럽신송섭 ([email protected])37
실습 #1 -사용함수• pinMode();
– 기능 : 디지털입출력핀을입력또는출력으로설정– Syntax
pinMode(pin, mode);– Parameter
pin : 디지털핀번호mode : INPUT or OUTPUT
• digitalWrite();– 기능 : 디지털핀에 HIGH or LOW를쓴다.– Syntax
digitalWrite(pin,mode);– Parameter
pin : 디지털핀번호mode : HIGH or LOW
• dely();– 기능 : 지연– Syntax
delay(time);– Parameter
time : 지연시간(ms), 1000ms = 1sec
코딩클럽신송섭 ([email protected])38
실습 #1 - LED On/Off
1. int led5 = 5; 2. int led6 = 6;
3. void setup( ) {4. pinMode(2, OUTPUT); 5. pinMode(3, OUTPUT); 6. pinMode(4, OUTPUT); 7. pinMode(led5, OUTPUT); 8. pinMode(led6, OUTPUT);9. }
10. void loop( ) { 11. digitalWrite(2, HIGH); // LED 켜기12. digitalWrite(3, HIGH); // LED 켜기13. digitalWrite(4, HIGH); // LED 켜기14. digitalWrite(5, HIGH); // LED 켜기15. digitalWrite(6, HIGH); // LED 켜기16. delay(1000); // 1초동안시간지연
17. digitalWrite(2, LOW); // LED 끄기18. digitalWrite(3, LOW); // LED 끄기19. digitalWrite(4, LOW); // LED 끄기20. digitalWrite(led5, LOW); // LED 끄기21. digitalWrite(led6, LOW); // LED 끄기22. delay(1000); // 1초동안시간지연23. }
330ohm
코딩클럽신송섭 ([email protected])39
실습 #2 - LED PWM On/Off1. void setup( ) {2. pinMode(2, OUTPUT); 3. pinMode(3, OUTPUT); 4. pinMode(4, OUTPUT); 5. pinMode(5, OUTPUT); 6. pinMode(6, OUTPUT);7. }
8. void loop( ) { 9. int i=0;
10. for(i=0;i<255;i+=10){11. analogWrite(2, i); 12. analogWrite(3, i); 13. analogWrite(4, i); 14. analogWrite(5, i); 15. analogWrite(6, i); 16. delay(250);17. }
18. for(i=255;i<0;i-=10){19. analogWrite(2, i); 20. analogWrite(3, i); 21. analogWrite(4, i); 22. analogWrite(5, i); 23. analogWrite(6, ); 24. delay(250);25. }26. }
analogWrite();- 기능 : 디지털핀에 PWM 신호출력- Syntax
analogWrite(pin, value);- Parameter
pin : 핀번호value : duty cycle( 0 ~255)
0 : always off255 : always on
- PWM(Pulse Width Modulation)
코딩클럽신송섭 ([email protected])40
실습 #3 – RGB LED On/Off1. void setup()2. {3. pinMode(9, OUTPUT); 4. pinMode(10, OUTPUT); 5. pinMode(11, OUTPUT); 6. }
7. void loop()8. {9. for(int i=0; i<255;i+=10){10. for(int j=0; j<255; j+=10){ 11. for(int k=0; k<255; k+=10){ 12. analogWrite(9, i);13. analogWrite(10, j);14. analogWrite(11, k);15. delay(5);16. }17. }18. }19. }
330ohm
코딩클럽신송섭 ([email protected])41
실습 #4 -버튼입력digitalRead();- 기능 : 디지털핀에 PWM 신호출력- Syntax
digitalRead(pin);- Parameter
pin : 핀번호- 리턴값 : 0(LOW) or 1(HIGH)
10kohm
코딩클럽신송섭 ([email protected])42
실습 #4 –버튼입력으로 LED On/Off1. const int buttonPin = 2; // 버튼입력핀설정2. const int ledPin = 13; // LED 핀설정
3. Int buttonState = 0; // 버튼상태값을읽을변수및초기값정의
4. void setup() {5. pinMode(ledPin, OUTPUT); 6. pinMode(buttonPin, INPUT); 7. }
8. void loop(){9. buttonState = digitalRead(buttonPin);
10. if (buttonState == HIGH) { 11. digitalWrite(ledPin, HIGH); // turn LED on: 12. } 13. else {14. digitalWrite(ledPin, LOW); // turn LED off:15. }16. }
코딩클럽신송섭 ([email protected])44
시리얼포트모니터링
1. http://arduino.cc/en/reference/serial2. 프로그래밍방법
- setup() 함수내에 Serial.begin(“baud rate”);- Baud rate : 300, 600, 1200,2400, 4800, 9600,…
- loop() 함수에서출력이필요한변수의값을출력함- Serial.print();- Serial.println(); (with CR/NL)
코딩클럽신송섭 ([email protected])45
시리얼함수
• Serial.begin();– 기능 : 시리얼포트의보드레이트를설정– Syntax
Serial.begin(baud_rate);– Parameter
baud_rate : 300, 600, 1200, 2400, 4800, 9600, 14440, 19200, 28800, 57600, 115200값으로셋팅
• Serial.print(); and Serial.println();– 기능 : 시리얼포트로변수값을출력– Sytax
Serial.print(val);Serial.print(val, format);
– Parameterval : 출력값 –숫자, 문자, 문자열, 특수기호(\n,\t,\r, …)format : BIN, OCT, DEC, HEX, 소수점자릿수,
- ExampleSerial.print(78);Serial.print(1.23456);Serial.print(‘N’);Serial.print(“Hello world”);Serial.print(“\n \r”);Serial.print(78, BIN);Serial.print(1.23456,3);
코딩클럽신송섭 ([email protected])46
실습 -시리얼통신1. int thisByte = 33;
2. void setup() { 3. Serial.begin(9600); 4. Serial.println("ASCII Table ~ Character Map"); 5. }
6. void loop() { 7. Serial.write(thisByte); 8. Serial.print(", dec: "); 9. Serial.print(thisByte); 10. Serial.print(", hex: "); 11. Serial.print(thisByte, HEX); 12. Serial.print(", oct: "); 13. Serial.print(thisByte, OCT); 14. Serial.print(", bin: "); 15. Serial.println(thisByte, BIN);
16. if(thisByte == 126) {17. while(true) { 18. continue; 19. } 20. } 21. thisByte++; 22. }
코딩클럽신송섭 ([email protected])47
실습 #6 –가변저항으로 LED On/Off 시간제어
analogRead();- 기능 : 디지털핀에 PWM 신호출력- Syntax
returnValue = analogRead(pin);- Parameter
pin : 핀번호- 리턴값 : 0 ~ 1023
1번핀
2번핀
3번핀
1번핀
2번핀
3번핀
코딩클럽신송섭 ([email protected])48
실습 #6 –가변저항으로 LED On/Off 시간제어1. int sensorPin = A0; // 가변저항입력핀설정2. int ledPin = 13; // LED 핀설정3. int sensorValue = 0; // 가변저항으로부터입력되는값을자장하기위한변수
4. void setup() { 5. pinMode(ledPin, OUTPUT); // LED 핀을출력으로설정6. Serial.begin(9600); // 시리얼포트설정7. }
8. void loop() {9.10. sensorValue = analogRead(sensorPin); // 가변저항으로부터값을읽어들임
11. Serial.print(sensorValue); // 가변저항으로읽어들인값을 PC로전송12.13. digitalWrite(ledPin, HIGH); // LED On14. delay(sensorValue); // 가변저항으로부터입력되는값만큼지연(milliseconds)15.16. digitalWrite(ledPin, LOW); // LED Off
delay(sensorValue); // 가변저항으로부터입력되는값만큼지연(milliseconds)17.18. }
코딩클럽신송섭 ([email protected])49
실습 #7 –가변저항으로 LED 밝기제어1. int sensorPin = A0; // select the input pin for the potentiometer2. int red_led = 9 ;3. int blue_led = 10;4. int green_led = 11;5. int sensorValue = 0; // variable to store the value coming from the sensor
6. void setup() { 7. pinMode(red_led, OUTPUT);8. pinMode(blue_led, OUTPUT);9. pinMode(green_led, OUTPUT);10. Serial.begin(9600);11. }
12. void loop() {13. sensorValue = analogRead(sensorPin); // read the value from the sensor:14. Serial.println(sensorValue);15. map_sensorValue=map(sensorValue, 0,1023, 0,255);16.17. analogWrite(red_led, sensorValue/4 ); 18. analogWrite(blue_led, map_sensorValue );19. analogWrite(green_led, sensorValue/4 );
20. }
코딩클럽신송섭 ([email protected])50
실습 #8 -밝기에따라 LED On/Off
Photocell, CdS cell, photoresistors, LDR(Light dependent resistor), 광도전 센서
10kohm
코딩클럽신송섭 ([email protected])51
실습 #9 -온도센서• 접촉식온도센서
– 써미스터(Thermister)• NTC(Negative Temperature Coefficient Thermister)• PTC(Positive Temperature Coefficient Thermister)• CTR(Critical Temperature Resister Thermister)
– 써모커플(Thermocouple, 열전대)– RTD(Resistance temperature detector, 측온저항계)– 반도체온도센서
• 비접촉식온도센서– 적외선복사온도계
코딩클럽신송섭 ([email protected])52
실습 #9 -온도센서 - Thermister• 서미스터
코딩클럽신송섭 ([email protected])53
실습 #9 –써미스터온도테이블
코딩클럽신송섭 ([email protected])54
실습 #9 -온도센서 -반도체• 반도체온도센서
– 아날로그타입 : LM35, TMP36, …– 디지털타입 : 18B20, DHTX1, SHTX1, …
코딩클럽신송섭 ([email protected])56
실습 #9 –온도에따라 LED On/Off1. int sensorPin = A4; // select the input pin for the potentiometer2. int sensorValue = 0; // variable to store the value coming from the sensor
3. void setup() { // declare the ledPin as an OUTPUT:4. Serial.begin(9600);5. }
6. void loop() {7.8. sensorValue = analogRead(sensorPin); // read the value from the sensor:9. Serial.print(sensorValue);10.11. if(sensorValue < 250){12. digitalWrite(ledPin, HIGH); // turn the ledPin on13. } else {14. digitalWrite(ledPin, LOW); // turn the ledPin off:
}15. }
코딩클럽신송섭 ([email protected])57
실습 #9 –함수를이용해서온도표시하기• 라이브러리다운받기
– https://code.google.com/p/thermistor10k/downloads/list• 압축풀기
– ../Thermister/– ../Thermister/example, Thermister.cpp, Thermister.h
• 아두이노스케치북위치로카피하기– 스케치북위치 : 스케치>파일>환경설정– 스케치북위치 : ..\\user-name\Document\Arduino\– 스케치북폴더로 ..\\libraries\Thermister폴더를카피– “스케치 > 파일 > 예제”에 copy한폴더의 example 이보임– “라이브러리이름”/example 폴더내에있는파일이보임– 예제파일을연구해서라이브러리를어떻게사용하는지연구
코딩클럽신송섭 ([email protected])58
Arduino 개발방법
아디디어 구상
자료수집
부품구매
하드웨어
코딩
디버깅
• 회로도를 찾아보자• 부품에 해당되는 라이브러리가 있을까?• 없으면 라이브러리가 있는 부품을 구하자
• 온라인• Devicemart.co.kr• Eleparts.co.kr• Icbanq.co.kr• 오픈마켓(G마켓, 11번가, 옥션, …)• 알리바바, 알리익스프레스, 아마존,..
• 오프라인• 구로유통상가• 청계천• 안양유통상가
• 브래드보드에 회로를 구성한다.• PCB에 회로를 구성한다. <- 고수
• 라이브러리를 설치한다• 응용프로그램을 코딩한다.
• 현상보고 문제 예측하기• 소프트웨어 구성대로 하드웨어가 동작하는지?• 소프트웨어는 정확히 구성되어 있는가..?• 소프트웨어 검증방법은?• 소프트웨어에서 설정한대로 하드웨어가 연결되었는가?• 하드웨어 문제인가?• 왜?• 하드웨어 검증방법은? • 미궁에 빠지다• 열정과 노력이 필요함
코딩클럽신송섭 ([email protected])59
아두이노와스크래치
• Firmata방식 –마이컴과호스트컴퓨터간의통신프로토콜– S4A(http://s4a.cat)– S2A(https://github.com/MrYsLab/S2A_fm )– BYOB(Build Your Own Block)/SNAP(http://snap.berkeley.edu)
• 다운로드방식
– Ardublock(http://blog.ardublock.com )– Minibloq(http://blog.minibloq.org )– Modekit(http://www.modkit.com )– Amici (http://dimeb.informatik.uni-bremen.de/eduwear/?cat=16 )
Firmatafor PC
ArduinoFirmata for arduino
• Scratch• Processing• MAX/MSP• Flash• Other Program
코딩클럽신송섭 ([email protected])60
Arduino = Maker• 정보를얻을수있는곳
– http://www.adafruit.com– http://www.instructables.com– http://makezine.com– http://hackaday.com– ……
• 크라우드펀딩– http://www.kickstarter.com– https://www.indiegogo.com– https://www.quirky.com– ……
코딩클럽신송섭 ([email protected])61
감사합니다.