총 8번의 만남으로 아두이노 스터디는 끝났다.


직접 용산에 가서 실습 장비를 사오기도 하였다.


좋은 경험이었다.







스터디 활동 보고서


참여 날짜 / 위치


2016년 6월 2일 목요일

5시 – 6시 

국민대학교 공학관 Imaginer room


참여 인원


이성재 경영학과

김** 기계시스템공학과

이** 자동차공학과


활동 개요


스터디 회의

강좌 요약 및 발표

실제 아두이노 활용 과제 수행


1. 초음파 센서의 값에 따라 삼색 LED 색이 바뀌도록 한다


#define TRIG 2

#define ECHO 3

#define RED 11

#define GREEN 10

#define BLUE 9


void setup(){

pinMode(TRIG, OUTPUT)

pinMode(ECHO, INPUT)

}


void loop(){

digitalWrite(TRIG, LOW);

delayMicroseconds(2);

digitalWrite(TRIG, HIGH);

delayMicroseconds(10);

digitalWrite(TRIG, LOW);


long distance = pulseIn(ECHO, HIGH)/58.2


analogWrite(RED, 0);

analogWrite(GREEN, 0);

analogWrite(BLUE, 0);


if(distance < 10){

analogWrite(RED, 255);

}

else if(distance < 20){

analogWrite(GREEN, 255);

}

else if(distance < 30){

analogWrite(BLUE, 255);

}


delay(100);

}


pulseIn의 의미 : ECHO : 확인하려는 핀 번호 / HIGH = 목표 상태값


2. 피에조 스피커에 활용


#define TRIG 2

#define ECHO 3


void setup(){

pinMode(TRIG, OUTPUT);

pinMode(ECHO, INPUT);

}


void loop(){

digitalWrite(TRIG, LOW);

delayMicroseconds(2);

digitalWrite(TRIG, HIGH);

delayMicroseconds(10);

digitalWrite(TRIG, LOW);


long distance = pulseIn(ECHO, HIGH)/58.2;


tone(8, 1000, 20);

delay(100);

tone(8, 1000, 20);


delay(distance);

}



3. 서보모터 기본 사용


#include <Serveo.h>


Servo myservo;

int pos = 0;

void setup(){

myserve.attach(9);

}


void loop(){

for(pos = 0; pos < 120; pos += 1)

{ myservo.write(pos);

delay(15);}}


4. 가변저항 코딩


#include <Servo.h>


Servo myservo;


void setup(){

myservo.attach(9);

}


void loop(){

myservo.write(map(analogRead(A0),0,1023,0,120));

delay(15);

}








스터디 활동 보고서


참여 날짜 / 위치


2016년 5월 26일 목요일

5시 – 7시 

국민대학교 성곡 도서관 Study room3


참여 인원


이성재 경영학과

김** 기계시스템공학과

김** 기업경영학과

이** 자동차공학과

이** 건설시스템공학과


활동 개요


스터디 회의

강좌 요약 및 발표

학습 중 의문점에 대한 토론학습 

실제 아두이노 활용 과제 수행


활동 세부사항


스터디 회의 


 1. 스터디 시간표를 이용해 스터디를 운영하자.


5 : 00 ~ 5 : 10 / 장비 셋팅

~ 5 : 40 / PPT 발표 & 질문

~ 6 : 40 / 실험 ( + 응용 )

~ 6 : 50 / 학습 정리. 느낀 점 토의.


2. 3D프린트 제작 시 역할 분담


 우선 우리나라 블로그를 활용하여 지식을 습득한 후 

RapRap , Miner 홈페이지를 활용하여 지식을 쌓고 재료 구매를 한다. 

필요한 역할 : 자료수집, 자료 번역, 제품구매.


3. 방학동안 스터디 운영계획 , 스터디 휴강


 방학을 활용하여 한 달 동안 주 3회씩 모여서 스터디 운영을 계획.

시험 기간인 6월 9,16일 휴강.

방학중 참여 가능 확정 인원 : 이**, 김**, 이**


5강 : 피에조 스피커 사용하기


 피에조 스피커란? 

 피에조 스피커를 활용한 학교종이 땡.땡.땡

 피에조 스피커를 활용한 전자 피아노 만들기


학습 중 의문점에 대한 토론


해더 파일이란?

헤더 파일 , 인클루드 파일이라고도 하며 

컴파일러에 의해 다른 소스 파일에 자동으로 포함된 소스 코드의 파일이다. 

즉 이 실험에서는 음계가 미리 작성되어 있는 파일을 의미한다.


실제 아두이노 활용 과제 수행


실험 1 :  피에조 스피커를 활용한 학교종이 땡.땡.땡


재료 : 피에조 스피커 

회로도를 따라 아두이노 우노와 브레드보드를 연결

학교종이 땡땡땡의 음계 코딩을 스케치에 작성

컴파일 후 업로드

완료


실험 1 의 특이 사항


미리 아두이노에 작성되어있는 음계를 해더파일로 불러온다. 


실험 2 : 피에조 스피커를 활용한 전자 피아노 만들기


피에조 스피커 / 버튼 3개 / 1K ohm 저항 3개 준비

회로도를 따라 아두이노 우노와 브레드보드를 연결

버튼을 눌렀을 때, 피에조 스피커에 소리가 나오는 내용의 코딩을 스케치에 작성

컴파일 후 업로드

완료


실험 2의 특이사항


강좌에서는10K ohm을 사용하라고 말하나, 

실제 보유한 저항이 1K ohm인 관계로 낮은 저항을 사용하게 되었다. 


6강 : 조도센서 사용하기


조도 센서란

 조도 센서를 활용한 LED 조절하기

조도 센서와 피에조스피커 활용하기


학습 중 의문점에 대한 토론


코드 작성 중 tone(8, map(analogRead(A0),0,1023,31,4978)20);

에서 31과 4978의 값의 범위는 무엇을 뜻 하는가 


강의 자료를 보면 변환하고자하는 범위의 최소 값과 최대 값을 의미한다. 

즉 빛의 세기를 1024 단계로 읽어 들인 후, 

31에서 4978사의 값의 디지털 범위로 변환 해준다. 

이 값의 의미는 피에조 스피커가 낼 수 있는 범위이기도 하다.


실제 아두이노 과제 수행


실험 1 : 조도 센서를 활용한 LED 조절하기


조도센서 / LED / 10k , 560 ohm 저항

회로도를 따라 아두이노 우노와 브레드보드를 연결

빛의세기에 따른 LED 불빛이 바뀌는 내용의 코딩을 스케치에 작성

컴파일 후 업로드

완료


실험 2 : 센서와 피에조스피커 활용하기 


조도 센서 / 피에조 스피커 / 10K ohm 저항

회로도를 따라 아두이노 우노와 브레드보드를 연결

각각의 버튼을 누를 때 마다 피에조 스피커에서 소리가 나오는 코딩을 스케치에 작성

컴파일 후 업로드

완료


실험 2의 특이사항


강의에서는 10k ohm 저항을 사용하라고 하나, 

1k ohm 저항이 최대인 관계로 1k ohm 저항을 사용함


다음 스터디 과제


강의 10,7강 수강

실패한 실험에 대한 대책 마련 회의


-참고-

아두이노 기초 강의 요약본







추가 스터디 활동 보고서

2016년 5월 19일

8시 – 10시

국제관 1층 UIT 공간


이** 경영학과

이** 자동차공학과


활동 개요 


강의 4 실험 2의 삼색 LED 버튼 제어의 실패원인 분석 및 해결

강의 4 실험 3(과제)에서 삼색 LED 버튼 심화 제어의 시도


활동 세부사항


삼색 LED 버튼 제어의 실패원인 분석 및 해결


1. 삼색 LED의 상태 점검


앞서서 한 실험 중 삼색 LED의 GND를 잘못 파악하여 문제가 발생했을 가능성이 있기에, 

이를 확인하기 위해 삼색 LED 색상 자동변화 실험을 진행함

문제 없이 작동함


2. 3개의 버튼 상태 점검


버튼이 브레드보드와 접속이 원활하지 않아 작동하지 않는 것인가 

확인하기 위해 각각의 버튼을 LED ON/OFF 실험에 사용하여 상태를 확인함

문제 없이 작동함


버튼의 내부 구성에 대한 이해도 증가 (버튼의 4개 발이 근접한 2개씩만 전류가 통하도록 이어져 있는 것임을 깨닫게 됨. 

그러므로 사용되는 부분의 발만 브레드보드에 정확히 고정되어 있으면 정상적으로 작동함)


3. 회로도 구성 점검


회로도 상에 잘못된 연결이 있을 수 있기 때문에 최대한 완벽하게 회로도 구성을 처음부터 다시 시작하도록 함.


4. 프로그래밍 코딩 점검


코딩 언어상에 문제가 있어서 작동하지 않았을 가능성이 있기 때문에 

최대한 완벽하게 코딩하기 위해 노력함.


5. 모든 점검 완료 후 작동


1차 실험 : 삼색 LED가 꺼진 채로 작동하기 시작하여, 버튼에 의해 제어되긴 하나, 버튼을 잠깐만 눌러도 너무 빠르게 LED의 색상이 변화함

원인 : 코딩 상에 Delay(10)이 작성되지 않아 생겨난 문제 


2차 실험 : 1차 실험의 오류를 수정한 다음, 정상적으로 작동하는지 확인

결과 : 정확하게 원하던 결과를 얻을 수 있었음


6. 스터디 중의 실험 실패의 원인


여러 명이 회로도를 만들다 보니 한 사람이 만들 때 보다 정확성이 떨어져서 문제가 생긴 것으로 보임. 


7. 해결 방안


앞으로 한 명의 담당자가 회로도를 작성하도록 함. 

한 명의 담당자는 그 날 강좌에 대해 가장 이해를 잘 하고 있는 발표자가 하는 것이 좋을것으로 생각됨







스터디 활동 보고서


참여 날짜 / 위치


2016년 5월 19일 목요일

5시 – 7시 

국민대학교 성곡 도서관 Study room3


참여 인원


이성재 경영학과

김** 기계시스템공학과

김** 기업경영학과

이** 자동차공학과

이** 건설시스템공학과


활동 개요


아두이노 요약본 발표

과제 의문점

역할분담


활동 세부사항


아두이노 강좌 3강 요약 및 발표


3강 : LED의 이해 및 활용


LED의 특징 / 저항의 특징 / 옴의 법칙에 대한 이해

파도처럼 반짝이는 LED의 구현

버튼을 사용하여 LED의 ON/OFF 제어하기


학습 중 의문점에 대한 토론


플로팅 상태란 정확히 무엇인가?

 전류가 흐르고 끊기는 것이 정확하지 않은 상태를 플로팅 상태라고 한다.

0도 아니고 1도 아닌 상태라고 바꾸어 이야기할 수 있다. 

이러한 상태를 제거하기 위해 저항을 풀업, 풀다운 방식으로 연결할 수 있다.


실제 아두이노 활용 과제 수행


실험 1 : 파도처럼 반짝이는 LED 구현


LED 5개 / 300 ohm 저항 5개 준비

회로도를 따라 아두이노 우노와 브레드보드를 연결

LED가 순차적으로 깜빡이는 내용의 코딩을 스케치에 작성

컴파일 후 업로드

완료


실험 1 의 특이 사항


강좌에서는 560 ohm의 저항을 사용하나, 

일치하는 저항이 없는 관계로 가장 가까운 

300 ohm의 저항을 사용하여 실험을 진행하였다. 

정상적으로 작동하였다. 


실험 2 : 버튼을 활용하여 LED 제어하기


LED 1개 / 버튼 1개 / 300ohm 저항 1개 / 1Kohm 저항 1개 준비

회로도를 따라 아두이노 우노와 브레드보드를 연결

버튼을 눌렀을 때, 잠깐 동안 LED 에 불이 들어오는 내용의 코딩을 스케치에 작성

컴파일 후 업로드

완료


실험 2의 특이사항


강좌에서는 560 ohm, 10K ohm을 사용하라고 말하나,

 실제 보유한 저항이 300 ohm, 1K ohm인 관계로 낮은 저항을 사용하게 되었다. 

정상적으로 작동하였다. 


아두이노 강좌 4강 요약 및 발표


4강 : 삼색 LED의 이해 및 활용


3색 LED의 특징 / PWM의 개념

자동으로 3색 LED 색 변화시키기

버튼을 이용하여 3색 LED 색 제어하기


학습 중 의문점에 대한 토론


PWM의 개념이 정확히 무엇이고, 왜 필요한가? 

 PWM이란 Pulse Width Modulation의 약자로, 펄스 폭 변조라는 의미이다

전류를 일반적으로 0과 5V 둘 중 하나만 낼 수 있는데, 

PWM 기능을 활용하여 0과 5V 전류의 시간적 길이를 조절함으로써 

그 사이의 전류를 낼 수 있게 하는 것이다. 


실제 아두이노 과제 수행


실험 1 : 삼색 LED가 특정 시간마다 색이 변화하게 하기


삼색 LED 1개 준비

회로도를 따라 삼색 LED를 브레드보드와 아두이노에 연결

특정 시간마다 삼색 LED의 색상 조합이 변화하는 내용의 코딩을 스케치에 작성

컴파일 후 업로드

완료


실험 1의 특이사항


삼색 LED의 GND 부분이 어느 것인지 알 수 없어서 1회의 실험 실패 후에 파악하게 됨


실험 1의 실패사항


1회차 : 삼색 LED의 GND 연결 부분에 대해 

4개의 발 중 유난히 짧은 한 개의 발이라고 예상, 실험을 진행함. 

결과 : 삼색 LED의 색상이 스스로 변화하기는 하나, 

붉은 색 계열로만 반짝이고 초록과 파란 색상이 거의 나타나지 않음


2회차 : 삼색 LED의 GND 부분이 끝 부분의 발이라는 점은 확실히 알고 있다는 점을 활용하여, 

반대쪽 발이 GND 부분이라고 예상함. 

결과 : RGB 색상 모두가 나타나며 원하던 결과를 얻을 수 있었음


실험 1의 개선사항


삼색 LED의 GND 부분의 발에 검정색 펜으로 표시를 해 놓음

앞으로 삼색 LED에서 GND와 다른 색상들을 

정확하게 인식하는 방법에 대해 좀 더 알아볼 필요가 있음


실험 2 : 버튼을 이용하여 삼색 LED의 색 조합을 제어하기


삼색 LED 1개 / 버튼 3개 / 1k ohm 저항 3개 준비

회로도를 따라 삼색 LED와 버튼, 저항을 브레드보드와 아두이노에 연결

각각의 버튼을 누를 때 마다 LED의 RGB 값이 변화하여 

삼색 LED의 색 조합을 임의로 정할 수 있도록 하는 코딩을 스케치에 작성

컴파일 후 업로드

완료


실험 2의 특이사항


강의에서는 10k ohm 저항을 사용하라고 하나, 

1k ohm 저항이 최대인 관계로 1k ohm 저항을 사용함


실험 2의 실패사항


1회차 : 삼색 LED에 파란색 불만 들어오며 버튼 또한 작동하지 않음. 

업로드 후, 잠시동안 LED가 꺼진 상태로 있었다가 파란색 불이 1초 정도의 간격으로 깜빡임.


2회차 : 코딩과 회로도를 점검하고 3~4회 정도 새롭게 실험했으나 완료하지 못함

결과 : 시간상 더 이상 실험 2를 점검하지 못하고 스터디를 마무리함


-참고-

아두이노 기초 강의 요약본









스터디 활동 보고서


참여 날짜 / 위치


2016년 5월 12일 목요일

5시 – 6시 

국민대학교 성곡 도서관 Study room4 


참여 인원


이성재 경영학과

김** 기계시스템공학과

김** 기업경영학과

이** 자동차공학과

이** 건설시스템공학과


활동 개요


아두이노 요약본 발표

과제 의문점

역할분담


1. 아두이노 기초 강의 요약본 발표


강의 1,2를 PPT자료준비하고 이성재가 발표함.

아두이노를 이용하여 led 깜빡이기 활동을 해봄.


2. 과제의문점


int led=13; 선언 없이 led자리에 바로 13을 넣을 수 있는가?

= 가능하다.


함수 대소문자 구분해야 하는가?

 아두이노 프로그램이 함수지정을 대소문자를 구분지어서 했기 때문에 구분해야한다.


3. 역할분담


라즈베리&아두이노 관리 : 이**  

스터디름 예약 : 이**

기록: 김**

사진: 김**

번역: 이성재

강의 요약 & 발표 : 한 주씩 반복


다음 과제) 전원 강의 3,4 공부해오기, 발표&요약 : 김**


- 참고 -

아두이노 기초 강의 요약본





4월 28일 아두이노 스터디 오리엔테이션

스터디 활동 보고서


참여 날짜 / 위치


2016년 4월 28일

5시 – 5시 30분

국민대학교 예술대학 카페테리아 


참여 인원


이** 경영학과

김** 기계시스템공학과

김** 기업경영학과

이** 자동차기계공학과


활동 개요


스터디 진행 방향 및 목적 회의

스터디 참여 인원 확정

구체적 스터디 활동 내용의 상의

스터디 날짜 협의

스터디 진행 방향 및 목적


스터디는 기본적으로 비인가 동아리 활동의 일환으로,

 신기술 연구개발 동아리(가칭)의 1차적 프로젝트입니다. 

스터디의 내용은 마이크로컴퓨터 ‘아두이노(Arduino)’의 기본 기능 학습 및 개발 연습입니다. 

이 활동은 차후 3D Printer 제작 프로젝트에서 ‘멘델(Mendel)’의 구성요소인

 ‘아두이노 메가 2560’을 다루기 위해 진행되는 하위 스터디 활동입니다. 

기본적으로 3D Printer의 X, Y, Z축을 제어하고 처리하는 아두이노를 학습하고 

코딩을 연습함으로써 직접 멘델을 제작할 시 도움이 되기 위함입니다.


스터디 참여 인원 확정


위의 진행 방향과 목적을 임시 인원에게 설명한 다음, 

회의에 참석한 인원들에게 스터디 참석 여부에 대해 물었습니다. 

회의 참석인원 전원 아두이노 스터디에 참여하며, 

그 명단은 이**, 김**, 김**, 이** 입니다. 

회의에 참석하지 못한 이** 을 포함해 총 5명의 인원으로 스터디를 시작합니다. 


구체적 스터디 활동 내용의 상의


기본적인 스터디 진행은 

‘ 각자 아두이노 기초 강좌 시청 – 스터디 시간에 모여 토론 및 실습 – 피드백 ’

 과정으로 이루어집니다. 

아두이노 강좌는 Youtube에 공개된 ODIY의 영상을 참고합니다.

(https://www.youtube.com/channel/UCRU2G2NpTuOBqAySTAxXrAw

추가적으로 스터디에 각자의 참여도 및 기여도를 높이기 위해 

한 명씩 돌아가며 강좌의 내용을 요약하여 ppt로 제작한 다음

 간단하게 발표하는 방안을 도입하기 위해 논의 중입니다. 

시범적으로 2~3회 가량 시행해 본 다음, 스터디에 도움이 된다고 생각되면 계속해서 진행할 예정입니다. 


스터디 날짜 협의


스터디 날짜는 매주 목요일 5시부터 2시간이며 

5월 12일부터 시작할 예정입니다. 




+ Recent posts