2022-03-07 Arduino_1

2022. 3. 8. 00:10학부 강의/Arduino

TinkerCAD 시작하기

 

실물을 사용하기 전에 시뮬레이터를 사용해서 우선 배운다.

 

따로 프로그램을 설치할 필요없이 웹기반의 TinkerCAD 사용한다.

 

회원가입한다.

 

애플이나 구글의 계정을 이용할 수 있다.

 

Circuit menu에서 "새로운 회로 작성"을 누른다.

 


TinkerCAD 구성, 기능

 

우측에 구성요소(component)를 확인할 수 있을 것이다.

 

구성요소를 끌어와서 생성하면 구성요소마다 속성값(property)을 설정할 수 있다.

 

구성요소들을 서로 연결해서 원하는 회로를 구성할 수 있다.

 

회로의 기본요소인 아두이노 보드는 코드를 작성할 수 있다.

 

"코드" 버튼을 클릭해서 들어가면 스크레치와 같은 블록 코딩을 지원한다는 것을 확인할 수 있을 것이다.

 

물론 일반적인 문자 코딩도 지원하다.

 

아두이노 보드는 C/C++를 바탕으로 조금 변형된 (대채로 간소화된) 방식으로 코드를 작성할 수 있다.

 

그외에도 TinkerCAD는 내보내기(Export), 공유(Share) 기능을 지원한다.

 

특히 내보내기(Export) 기능의 경우 원한다면 맞춤형 PCB(Printed Circuit Board)로 제작하기 위해 BRD 파일로 다운로드 받을 수 있다.

 


LED 반짝이기

 

LED의 애노드를 아두이노의 13번 핀에 연결하고 캐소드를 그라운드(GND)에 연결합니다.

디지털 핀은 digitalWrite() 함수에 어 떤 값을 쓰는지에 따라 0V도 될 수 있고 5V도 될 수 있습니다.

 

 캐소드에 연결된 선이 그라운드에 연결되었기 때문에 항상 0V의 값을 가집니다.

 

하지만 13번 핀에 연결된 LED 의 애노드는 디지털 출력 값이 LOW인지 HIGH인지에 따라 0V도 될 수 있고 5V도 될 수 있다.

 

때문에 0V일 때는 그라운드와 동일한 전압이라 전류가 흐르지 않지만 13번 핀에 5V가 걸리면 5V0V보다 높기 때 문에 애노드에서 캐소드로 전류가 흐르면서 LED의 불빛이 켜집니다.

 

BreadBoard는 기본적으로 이미지 기준 +-라인은 세로로 abcd...알파벳 라인은 가로로 연결되어있습니다.

// C++ code
//
void setup()
{
  pinMode(13, OUTPUT);
}

void loop()
{
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000); // Wait for 1000 millisecond(s)
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000); // Wait for 1000 millisecond(s)
}

setup(): 아두이노의 전원이 공급되면 가장 먼저 실행되는 함수이자 한 번만 실행되는 함수다.

 

loop(): 계속해 반복되는 함수로 아두이노가 실행할 수 있는 최대 빠르기로 실행합니다.

 

pinMode(핀 번호, 모드): 디지털 핀의 용도를 초기에 설정. 매개변수로 사용될 핀 번호와 해당 핀을 출력 모드(OUTPUT)로 사용할지 입력 모드(INPUT)로 사용할지 결정.

 

digitalWrite(핀 번호, 값): 디지털 핀에 값을 쓰기 위한 목적으로 사용, 값에는 HIGH와 LOW 사용.

delay(ms): loop() 함수가 반복적으로 실행되는 시 간에 지연을 주기위한 목적으로 사용. 매개변수는 지연 시간으로 밀리 초(millisecond, ms) 단위로 입력.

 


 

LED에 적절한 전류가 흐르도록 저항을 추가했다.

 


시리얼모니터 출력

시리얼모니터 출력

Serial.begin(): 함수는 시리얼 통신을 시작하기 전에 통신 속도를 맞추기 위한 목적. 일반적으로 9600(bit)를 Baud Rate로 사용.

 

Serial.println("text"): 시리얼 모니터로 출력. ln은 개행을 의미.

'학부 강의 > Arduino' 카테고리의 다른 글

2022-04-13 Arduino_5  (0) 2022.04.13
2022-04-07 Arduino_4  (0) 2022.04.07
2022-03-30 단축_계산  (0) 2022.03.30
2022-03-30 Arduino_3  (0) 2022.03.30
2022-03-23 Arduino_2  (0) 2022.03.23