MicroProcessor_SBC/Arduino

Arduino With Tinkercad Circuit - 006_아두이노 시뮬레이터 Tinkercad Circuit 소개

LonleyEngineer 2021. 10. 27. 18:30
반응형

이번에는 Autodesk社의 Tinkercad Circuit에 대한 소개를 하려고 합니다.

 

1. Tinkercad란

Tinker+CAD 로 이루어진 단어인데요.

 

CAD는 Computer Aided Design의 약자인 것은 대부분 아실겁니다.

Tinker의 사전적 의미는 아래와 같습니다.

 

‘땜장이/떔쟁이’ 라는 뜻이 우선이고 서투른 직공이라는 뜻도 있습니다.

‘서투른 직공(수선공)’이 어떻게 보면 가장 tinkercad의 모토에 맞는 것은 아닐까 싶습니다.

왜냐하면 오토데스크사의 제품군을 보면 전문디자인 툴인 Fusion360, Autocad, 3ds Max Maya 등이 다양하게 있습니다. 하지만 tinkercad에 가보면 아기자기한 인터페이스에 꼭 필요한 기능들만 담은 3D디자인/전자장치/코드블록 으로 구성되어 있어 말 그대로 학생이나 초심자에게 어울리기 때문입니다.

 

틴커캐드의 기능을 이용해서 디자인/시뮬레이션하는 것을 팅커링(Tinkering) 한다고 표현합니다. 말그대로 서투른 수선공이 아기자기하게 수선한다는 말이죠.

 

틴커캐드를 사용하기 위해서는 회원 가입을 해야 하는데 회원가입 부분까지 다루지는 않겠습니다. 인터넷에 찾아보면 회원가입과 관련한 글이 정말 많기 때문입니다.

 

 

2. Tinkercad Circuit - 아두이노 시뮬레이터 소개

 

  •  틴커캐드에는 몇가지 기능이 있지만 그중에서 서킷(회로, Circuits)이 아두이노 시뮬레이터 입니다.
  • 회원가입을 하고 로그인을 하면 회로(circuits)메뉴를 볼 수 있고 메뉴를 선택해서 들어가면 새 회로 작성을 클릭하여 회로를 구성하고 시뮬레이션 할 수 있습니다.
  • 저는 잘하지 못하는 영어이지만 원어로 어떻게 표현되는지 보거나 외국 사이트에서 정보를 찾을 때 명칭을 일치시키기 위해 사이트 표시를 영문으로 바꾸었습니다.

  • 사이트 표시를 영문으로 바꾸는 방법은 틴커캐드 로그인 후 대시보드(Dashboard) 페이지 하단에 한국어를 영어로 바꿔주면 됩니다.

 

3.  왜 Tinkercad Circuit을 아두이노 시뮬레이터로 사용하는가

  • 서킷을 아두이노 시뮬레이터로 사용하는 이유는 몇가지 장점이 있기 때문입니다.
  • 첫번째 회로를 구성하는데 부담이 적기 때문입니다. 시뮬레이터의 목적은 말그대로 정상동작 여부를 모의실험 해보는 것입니다. 그리고 기능동작에 대한 검증이 주목적이 되는 것이지요. 만일 시뮬레이터 없이 바로 회로를 구성한다고 하면 부품을 일일이 준비하고 끼우고 연결하고 코딩하고 검증해야 하는데 물리적인 오류가 끼어버리면 코드의 문제인지 회로의 문제인지 몰라서 고생을 하게 됩니다. 그래서 시뮬레이터로 가상의 회로를 구성하고 코딩 후 기능검증을 하면 된다는 것입니다.
  • 두번째 처음 장점과 이어지는 것이긴 합니다만 시간/비용의 절약입니다. 실제 간단히 LED를 켜고 끄는 동작에 대한 테스트를 실물 아두이노 보드와 기판에 구성하는 것도 생각보다 시간이 걸립니다. 단순히 기능테스트나 공부를 위한 것이라면 회로를 구성하는데 들어가는 공과 시간을 절약할 수 있고 회로 구성을 위해 부품을 준비하며 실수로 다른 부품을 준비한다면 이중 지출이 생길 수 있습니다. 고로 시간/비용의 절약이 가능하기 때문입니다.
  • 세번째 장점은 자기가 구성한 서킷을 공유할 수 있다는 것입니다. 서킷을 공유하여 타인에게 보여줄 수 있고 타인과 함께 수정도 가능한 장점이 있어 물리적으로 동일 위치에 있지 않은 사람과도 시뮬레이션이 가능합니다.
  • 위의 이유들로 인해 교사-학생 모두 장점이 있어 교육용으로 사용하는 경우도 많습니다. 요즘 한국에는 방과 후 수업 과정으로 코딩을 많이 하기도 하는데요. 그때 실물 회로를 구성하여 실습을 진행한다면 학생 수가 10명만 되어도 교사가 하루 하나의 단원을 가르치기 힘들 수 있습니다. 전자분야 지식이 부족한 학생들이 어떤 오류를 만들지 모르기 때문에 가르치는 내용보다 디버깅에 들어가는 시간이 많아 본말이 전도될 수 있다는 것입니다.
  • 학생 뿐 아니라 개인적으로 아두이노에 입문하는 사람 역시 시뮬레이터 사용의 장점을 이용하면 빠르게 코드테스트와 기능 동작에 대한 이해를 할 수 있어서 도움이 많이 됩니다.
  • 교육 목적 외에 현업에 있는 엔지니어도 기능블록을 나누어 시뮬레이션 해보고 필요한 부품 등을 산정할 수 있고 시제품 개발 단계에서 빠른 테스트가 가능하기 때문에 장점을 활용할 수 있습니다.

 

4. 틴커캐드 서킷 화면구성

 

  • 틴커캐드 서킷을 사용하기 위해서 일단 서킷메뉴에 있는 ‘새 회로 작성 ‘Create New Circuit’을 선택해줍니다.

  • 새로운 서킷을 생성하면 좌측 상단에 자동으로 서킷이름이 생성됩니다. 이부분은 클릭하여 새로운 이름을 입력하는 방법으로 얼마든지 바꿀 수 있습니다.

 

  • 서킷의 전체적인 화면 구성을 보면 아래와 같습니다.

 

  • 각메뉴의 이름을 보면
  • ① 서킷 이름입니다. 프로젝트 네임 정도로 생각하면 될 것 같습니다.

 

  • ② 메인툴바 입니다. 회로의 편집에 이용하는 기능 아이콘이며 후반에 각 아이콘 별 상세 설명을 하겠습니다.

 

  • ③ 확대/축소 되어 화면보다 너무 크거나 작게 보이는 회로를 화면에 맞도록 줌시켜 줍니다. Zoom to fit

 

 

  • ④ 부품을 배치하고 회로를 그리는 작업 영역입니다. 흔히 말하는 워스크페이스(Work Space, Work Area)로 이해하면 되겠습니다.

 

  • ⑤ 회로에 사용된 부품 중 아두이노와 같이 코드를 사용할 수 있는 부품의 코드를 수정하는데 사용하는 버튼입니다. Toggle code editor

 

  • ⑥ 완성된 회로의 시뮬레이션을 시작하고 종료하는 버튼입니다. Start/Stop simulation

 

  • ⑦ 회로도를 Autodesk의 Eagle Cad용 파일인 .BRD 파일로 내보내는 기능입니다. 실제 회로를 PCB로 만들고 싶다면 Export를 해주어야 겠습니다. Download .brd file

 

 

  • ⑧ 회로를 다른 사람과 공유할 때 사용합니다. 링크를 이메일이나 메신저 등으로 전달하여 회로를 공유하고 함께 수정 가능합니다. 회로의 스냅샷을 다운로드 하는 기능도 있습니다. Share with people and apps

 

 

  • ⑨ 아래 나온 기본(Basic) 부품들(Components)외 더 많은 부품을 볼 것인지 선택하는 메뉴입니다. Find more components

 

 

switch to list view로 전환했을 때

  • ⑩ 부품을 그림과 이름 외 설명을 곁들여서 볼 것인지 선택하는 메뉴입니다. Switch to list view

 

  • ⑪ 부품들(Components)을 선택할 수 있는 영역입니다. 위의 search 란에서 알고 있는 부품을 검색할 수 있습니다.

 

  • ⑫ 시뮬레이션 중이거나 다른 기능을 수행 중에 회로를 바로 볼 수 있도록 하는 버튼입니다. Circuit View

 

  • ⑬ 현재 회로도에 사용된 부품의 목록을 자동으로 작성하는 기능입니다. 부품 주문을 위해 목록을 수기로 작성할 필요 없이 리스트를 이용하면 됩니다. Component list

 

 

 

 

5. 메인툴바(Main toolbar) 기능과 단축키

 

  • 회로 디자인 중 가장 많이 사용할 수 있는 메인툴바(Main toolbar)의 각 기능에는 단축키가 있습니다.
  • 회로에 부품을 배치하고 선을 연결하고 하면서 자꾸 마우스를 움직여서 아이콘을 클릭하면 번거롭기 때문에 만든 기능입니다. 실제 회로를 디자인 해보면 단축키가 아주 유용하니 기억해두기 바랍니다.
  • ① 회전(Rotation) 부품을 회전시켜 줍니다. 브레드보드에 올릴때나 브레드보드 없이 이용할때 각도를 조정하는 목적입니다. 단축키는 Rotation의 R 입니다.
  • ② 부품이나 선을 지워(Delete)줍니다. 단축키는 키보드의 Delete 키입니다.
  • ③ 되돌리기(Undo) 입니다. 변경한 내용이나 삭제한 것을 되돌려줍니다. 키보드 단축키 는 실행취소로 많이 사용되는 Ctrl+Z 입니다.
  • ④ 실행취소와 반대되는 다시하기(Redo)입니다. 되돌아 간 작업을 다시 원상복구 시키는데 이용합니다. 키보드 단축키는 Ctrl+Y 입니다.
  • ⑤ 설명이 필요하거나 특별히 기록하고 싶은 내용이 있을 때 사용하는 노트툴(Note tool) 입니다. 키보드 단축키는 Note tool의 N 입니다. 단축키를 누르면 작업영역의 마우스 커서가 있는 곳에 노트를 위치시킬 수 있게 띄워줍니다.
  • ⑥ 노트 보이기/감추기 토글(Toggle notes visibility)입니다. 단축키는 Shift+N 입니다.
  • ⑦ 선(Wire)의 색깔(Color)를 선택할 때 사용합니다. 선색을 선택할 때 풀다운 메뉴를 누르면 12가지 색이 나오는데 각 선 색마다 숫자키로 검정-1, 빨강-2, 주황-3 식으로 단축키가 있습니다. 갈색(Brown)-0까지는 단축키가 있는데 제가 못찾는지 회색과 흰색은 단축키를 못찾았습니다. 선을 그리고 선택한 상태에서 단축키를 누르면 선 색깔이 바뀝니다.

 

  • ⑧ 선(Wire)의 종류(Type)을 바꿔줍니다. 역시 하위에 단축키가 있습니다. 일반전선 개념은 Shift+1, Hookup(듀폰?)은 Shift+2, 악어집게(Alligator)는 Shift+3, 자동(Automatic)은 Shfit+4 입니다. 자동으로 선택하면 선택한 부품에 따라 알아서 선의 종류를 바꿔줍니다. 직접 해보니 일반 와이어 아니면 악어집게가 거의 대부분 선택되네요.

 

6.     간단한 예제로 보는 부품배치

  • 코딩이 필요 없는 부품들을 이용해서 간단히 회로 배치하고 스위치로 LED를 켜고 끄는 시뮬레이션까지 해보는 과정을 통해 이해를 돕겠습니다.
  • 부품의 배치는 부품란에서 끌어다 놓습니다.

  • 선택된 부붐은 파란 테두리가 생깁니다
  • 색이나 저항값, 전압값 등의 속성값을 변경할 수 있는 부품은 선택 시 이름과 속성값을 지정할 수 있는 창이 따로 나와서 지정할 수 있습니다. 대부분 이름은 지정안하는 듯 하지만 마지막에 부품리스트를 생성할 경우 구분을 위해 이름을 지정하는 것도 좋습니다.
  • LED를 배치하고 슬라이드스위치(Slide Switch) 1개, 동전전지(Coin cell 3v battery)를 끌어다 놓고 배치합니다. 자기가 구분할 수 있도록 이름도 지정해봅니다.

 

  • 동전전지의 + 부분 끝에 있는 단자나 LED의 다리에 마우스 커서를 올리면(Mouse over) 양극(Positive, +) 또는 애노드(Anode), 캐소드(Cathode) 등 연결에 주의해야 할 것들은 텍스트로 알려줍니다.

 

  • 이제 부품을 연결합니다. 부품을 연결하는 것은 선으로 연결하게 되는데 단자의 끝을 클릭하고 다른 단자의 끝으로 가서 클릭해주면 선 연결은 끝납니다. 여기서 선 색깔을 키보드 단축키로 바꾸거나 마우스로 바꿀 수 있습니다. 전원은 주로 빨간색이 +, 검은색이 -를 의미하기 때문에 그렇게 지정하는 습관을 들이는 것이 좋습니다.
  • 배터리의 양극에서 슬라이드 스위치의 오른쪽 다리에 빨간색으로 기본 와이어를 연결했습니다.

 

  • 그리고 배터리의 음극에서 LED의 캐소드(Cathode) 쪽으로 검은색 와이어를 이용해서 연결해줍니다.

 

 

 

  • 슬라이드 스위치의 그리고는 슬라이드 스위치의 중간 다리와 LED의 애노드(Anode) 쪽으로 선을 연결해주고 일반선인 녹색으로 지정합니다.

 

7. 회로 시뮬레이션

 

  • 위의 과정에서 구성을 끝냈습니다. 이제 시뮬레이션 버튼을 눌러 시뮬레이션을 해봅니다.

  • 시뮬레이션 버튼을 누르면 버튼이 시뮬레이션 시작(Start simulation)에서 시뮬레이션 종료(Stop simulation)로 바뀌고 시뮬레이션 타임만 흘러갈 뿐 아무런 변화가 없습니다. 현재로서는 스위치가 전류를 흐르지 않는 방향으로 되어 있기 때문입니다.

 

 

  • 시뮬레이션 진행 상태에서 슬라이드 스위치를 클릭하여 스위치를 옮겨보면 LED에 불이 켜지는 것을 볼 수 있습니다.

 

 

 

  • 시뮬레이션을 종료하려면 시뮬레이션 종료(Stop simulation) 버튼을 누르거나 회로보기(Circuit view) 버튼을 눌러주면 됩니다.

 

  • 주의할 점은 시뮬레이션 중에는 부품의 이동이나 선의 재배치 등 수정은 되지 않지만 부품을 선택하고 지워버리면 시뮬레이션이 종료되며 부품이 삭제되니 이점 유의해야 합니다.

 

8. 코드 추가

  • 현재의 회로에서 코드를 추가히기 위해서 코드(Code) 버튼을 눌러보면 ‘이 회로에는 프로그램 가능한 부품이 없다(No Programmable Components in this circuit)’ 며 코드를 추가할 수 없습니다.

 

 

  • 그럼 간단히 코드를 넣는 것만 보기위해 아두이노 하드웨어를 하나 작업 영역에 넣어봅니다.

  • 그리고 코드(Code) 버튼을 누르면 코드를 추가할 수 있도록 바뀌는 것을 볼 수 있습니다. 직접 코드를 작성하는 부분은 이후의 과정에서 다루기로 할 예정이니 코드는 작성하지 않겠습니다.(이 단계에서 바로 시뮬레이션 하면 아두이노 보드의 기본LED가 깜빡이는 것은 볼 수 있습니다.)

 

 

9. 부품리스트 보기 및 BRD파일 내보내기

  • 회로에 사용된 부품리스트를 보려면 위의 부품목록 버튼을 눌러줍니다. 부품리스트에 회로 구성하면서 지정한 이름 앞에 구분자 접두어(Prefix)가 붙은 상태로 개수와 종류를 나타내주고 CSV파일 형태로 다운로드도 가능하게 해주는 것을 볼 수 있습니다.

 

  • 내보내기(Export) 버튼을 누르면 이글캐드의 보드파일인 BRD 파일을 다운로드 할 수 있게 해줍니다. 다운받아서 온라인 BRD뷰어로 열어보니 아래와 같이 나오는 것을 확인할 수 있었습니다.

 

 

 

 

※ 이렇게 조금 지루하다 싶을 정도로 자세하게 틴커캐드 서킷 사용방법에 대해 확인해보았습니다. 다음 글부터는 아두이노와 주변회로를 구성하여 코딩하고 시뮬레이션 하는 글들을 포스팅 해보겠습니다.

 

저는 비전문가이기 때문에 정확하게 쓰려고 노력해도 오류가 있을 수 있습니다. 오류가 있다면 날선 비판 보다는 댓글로 지적해주시면 감사히 받아들이도록 하겠습니다.

반응형