2021 Design-Coding 프로그램과 팀 프로젝트 [2021.12.20.(월) ~ 2022.01.28.(금)]
2021 Design-Coding 프로그램과 팀 프로젝트 [2021.12.20.(월) ~ 2022.01.28.(금)]
이번 프로그램에서는 인벤터(Inventor)를 사용한 모델링, 파이썬(Python) 코딩, 3D 프린터, 라즈베리 파이(Raspberry Pi) 제어, 포토샵(Photoshop)&일러스트레이터(Illustrator)와 프리미어 프로(Premiere Pro)를 사용한 영상편집을 다루었다. 이렇게 배운 내용을 바탕으로 팀 프로젝트를 진행하여 산출물(영상 등)을 발표하는 자리를 가졌다.
1. 인벤터(Inventor)를 사용한 모델링
팀 프로젝트 진행에 모델링이 필요하므로 기본적인 3D 모델링 교육을 받았다.
인벤터를 사용하여 3D 모델링을 진행한 결과물이다.
머그컵과 파이프도 3D 모델링을 통해 제작하였다.
좀 더 짧은 파이프의 3D 모델링을 진행하였다. 오른쪽은 기계부품인 캐스터에 대한 3D 모델링과 조립을 진행한 모습이다.
2. 파이썬(Python) 코딩
라즈베리 파이 제어에 파이썬이 사용되므로 기본적인 교육을 받았다. Jupyter Notebook 환경에서 파이썬 코딩을 진행하였다.
for 문을 사용한 실습을 진행하였다.
if 문을 사용한 조건 문제이다. 올해가 윤년인지 아닌지 출력하는 코드이다.
마찬가지로 if 문을 사용한 조건 문제이다. score 값이 해당 조건에 부합하면 학점을 주는 코드이다.
리스트를 사용하는 문제이다. append 메소드를 사용하여 리스트에 원소를 추가한 후 random 모듈의 choice 메소드를 사용하여 임의의 원소를 선택하였다.
random 모듈을 사용하는 문제이다. randrange 메소드는 지정한 숫자 사이 값을 리턴한다. 주사위를 숫자가 더 큰 쪽이 이기는 게임을 구현한 코드이다.
로그인을 구현한 코드이다. if 문을 사용하여 조건에 맞으면 로그인을 성공하게 하고, 그렇지 않으면 로그인을 실패하게 한다.
양의 정수를 입력받고 입력한 숫자가 6의 배수인지 아닌지를 파악하는 코드이다.
문제 3번은 if 문을 사용하여 종달새가 노래를 하는지 아닌지를 파악하는 코드이다. 문제 4번은 3번 문제에서 날씨 상태도 추가한 코드이다.
문제 5번은 if 문을 사용하여 페널티킥의 성공 여부를 묻는 코드이다.
문제 6번은 회원 여부와 방문 예정 장소가 일치하는지 검사하는 코드이다.
while 무한 루프를 사용하여 덧셈 계산을 수행하는 코드이다.
딕셔너리에 key와 value를 담고 궁합인 음식을 알려주는 코드이다.
파일 입출력도 다루었다. 'data.txt' 파일을 열고 'test.txt' 파일로 작성하는 코드이다.
잘 쓰인 것을 확인할 수 있다.
파이썬 함수도 다루었다. score 리스트에 값을 저장해놓은 후, ranking 함수를 정의하여 65점을 맞은 사람의 등수를 출력하는 코드이다.
마지막으로 tkinter 모듈을 다루었다. 로그인 창을 띄운 후 로그인을 하는 코드이다.
로그인 성공 시 '로그인 성공!'이라는 문자열이 뜬다.
로그인 실패 시 '로그인 실패!'라는 문자열이 뜬다.
3. 3D 프린터
팀 프로젝트에서 3D 모델링을 진행한 작업물을 출력하기 위해 3D 프린터에 관한 교육도 잠깐 받았다. 슬라이서 소프트웨어(slicer software)로 사용한 프로그램은 'ideamaker'이다.
우선 큐넷(Q-net) 사이트에 접속하여 '3D 프린터 운용기능사' 공개 문제를 다운로드하였다. ideamaker를 다루기 전, 공개 문제 중에서 하나를 선택하여 3D 모델링을 진행하였다.
위에서 두 개의 부품을 조립한 모습이다. 여기서 STL 파일로 변환 후 저장을 하면 슬라이서 소프트웨어에서 작업을 할 수 있다.
ideamaker에서 위 부품의 STL 파일을 불러와 서포트를 생성한 모습이다.
예상 프린트 결과를 확인한 모습이다. 슬라이서 소프트웨어에서의 작업도 마치면 3D 프린터에서 출력할 수 있다!
4. 라즈베리 파이(Raspberry Pi) 제어
라즈베리 파이가 팀 프로젝트의 주영역이므로 라즈베리 파이 제어 교육을 받았다.
이번 교육에 사용한 라즈베리 파이 보드이다.
브레드 보드(빵판)에 GPIO 코블러 모듈을 끼워 사용하였다.
라즈베리 파이 OS도 설치 완료한 모습이다.
브레드 보드에 회로를 연결하여 LED 제어를 하는 모습이다.
LED 신호등 제어 코드를 입력한 모습이다.
LED 신호등 제어 영상이다.
LED 버튼 제어를 하는 모습이다.
인체 감지 센서로 부저를 제어하는 영상이다.
마이크 센서로 LED를 제어하는 모습이다.
서보 모터를 회전을 제어하는 코드이다.
서보 모터를 제어하는 영상이다.
파이썬의 tkinter 모듈을 사용하여 버튼과 LED를 제어하는 영상이다.
라즈베리 파이 보드에 카메라를 단 모습이다. 이것으로 사진과 영상 촬영이 가능하다.
7세그먼트 제어 영상이다.
조이스틱으로 LED를 제어하는 영상이다.
5. 포토샵(Photoshop)&일러스트레이터(Illustrator)
포토샵과 일러스트레이터도 영상을 편집할 때 사용되기 때문에 교육을 받았다.
이것은 포토샵이다. 'Spot Healing Brush Tool'을 사용하여 주근깨를 보정하는 모습이다.
포토샵에서 'Move tool'을 사용하여 왼쪽 사진의 여자를 복제한 모습이다.
포토샵에서 누끼를 따서 다른 사진에 붙여 넣은 모습이다.
일러스트레이터를 사용하여 표현한 것이다.
마찬가지로 일러스트레이터를 사용하여 표현한 그림이다.
일러스트레이터로 이런 피라미드 모양도 표현할 수 있다.
이런 신기한 모양도 일러스트레이터로 표현이 가능하다!
일러스트레이터로 제작한 그림이다.
이러한 그래프 모양도 제작할 수 있다.
독특한 모양의 화살표도 만들어보았다.
원과 사각형을 합치고 자르기 등의 도구를 통해 만든 그림이다.
6. 프리미어 프로(Premiere Pro)를 사용한 영상 편집
팀 프로젝트의 최종 산출물 중 하나는 영상이다. 영상을 제작하기 위해 프리미어 프로의 기초를 배웠다.
샘플 이미지와 영상, BGM을 사용하여 간단한 영상을 제작하는 모습이다.
좀 더 사진과 영상을 추가하여 BGM의 길이에 맞게 영상을 수정하고 effect를 넣는 모습이다!
팀 프로젝트
1. 주제
시각 장애인용 신호 감지 점자 블록
2. 필요성
신호등 근처에 존재하는 기존 음향 신호기는 시각 장애인이 위치를 찾는 것도 어렵고, 안내 멘트가 주변 소음에 묻혀 제기능을 하지 못하고 있다. 따라서 시각 장애인이 횡단보도 보행에 어려움을 겪고 있는 상황이다. 이러한 상황에서 기존 음향 신호기를 대체할 수단이 필요하다고 판단했다.
3. 목표
시각 장애인에게 안전한 길을 유도하는 점자 블록에 신호를 감지할 수 있는 기능을 추가하여 보다 직관적이고 안전한 횡단보도를 만든다.
4. 산출물
가상 도로 환경을 제작하였다. 노란색 점자 블록 아래에 마이크로 스위치와 진동 모터를 부착하였다.
신호등이 빨간불일 때, 점자 블록을 밟으면 진동이 울려 빨간불임을 알린다. 신호등이 초록불일 때, 점자 블록을 밟으면 진동이 울리지 않아 초록불임을 인지하고 안전하게 횡단보도를 건널 수 있다.
이번 프로젝트 주제를 바탕으로 제작한 영상이다.
5. 소감
결론부터 말하자면, 색다른 경험이었다. 3D 프린터로 뽑은 점자 블록의 치수가 잘못 기입되어 있어 다시 모델링을 하고, 라즈베리 파이에 많은 회로를 직렬로 연결하여 보드가 고장이 나는 등의 난관을 겪었었다. 하지만 우여곡절 끝에 팀원들과 프로젝트를 끝마치다니.. 지금 생각해도 참 대단하다고 생각한다. 포기하고 싶은 생각도 많이 들었고 스트레스도 그만큼 상당했다. '우리가 할 수 있을까?'라는 생각은 '우리니까 할 수 있다!'라는 생각으로 바뀌었고, 이러한 노력의 결과는 성과발표회에서 은상을 수상하는 형태로 나타났다. 막강한 팀들에 기가 죽었던 우리지만, 팀원 모두가 포기하지 않고 프로젝트의 결과를 냈기에 상을 탈 수 있었던 것이라 생각한다. 이 프로젝트를 같이 진행했던 팀원들은 정말 최고의 팀원이라고 생각한다. 약 한 달 정도로 짧은 시간이었지만, 오래도록 기억에 남을 프로젝트라 말할 것이다.