code.make.create.

 

LED 연결하는 방법을 알아보려고 해요.

 

LED를 브레드보드에 연결할 때

보통은 다리길이를 가지고 설명을 많이 들었을 꺼에요.

길이가 길고 짧은것에 따라서 +와 -를 연결하라고 설명을 들었을텐데요.

전 늘 까먹어요.

 

긴게 +였는지 짧은게 + 였는지

 

그래서 더 정확한 정리를 해서 왔습니다.

 

LED를 잘 살펴보면

그림처럼 평평하게 싸~~~악 잘라진 Flat Spot이 존재해요.

 

이것은 핀의 길이로 구분을 하게 되면

브레드 보드에 꼽고 나서는 알 수가 없어서

다시 뽑아서 확인하고 꼽다보면 무조건!!! 실수가 나오고

 

특히나 LED를 납땜에서 모듈형태로 만들었을 때

다리 길이로 공부를 하면 알아낼 방법이 없어요.

 

그래서 우리는 LED 머리모먕을 보고 알아야 해요.

 

 

 

왼쪽과 같은 모듈을 사용한다면 고민할 필요가 없지만

오른쪽같은 일반 LED를 사용하는 사람들이라면

 

우리가 지금 설명하는 부분을 정확히 알아야 합니다.

 

LED의 머리를 보고 평평한 부분 Flat spot을 알아봤다면

그곳이 ground입니다. 즉 - 라는 뜻이에요.

 

일자로 잘린걸로 보이니 일자 즉 마이너스 표시가 떠오르죠.

그럼 그 반대 볼록한 부분이 + 가 되는 것입니다.

 

그래서 볼락한 부분이 디지털 핀과 연결되고 저항도 달리는 것이고

Flat spot이 GND로 연결되면 되는 것이에요.

 

출처: 코마크레 블로

 

회로 연결하는 것도 정리해봤어요.

LED 를 다시 뽑아보지 않아도 이제 잘 연결할 수 있겠죠???

 

모두들 즐거운 코딩하세요 ^^

 

 

 

 

CODE.MAKE.CREATE

 

코딩문법 중에서 가장 중요하다고 생각되는

조건문에 대해서 정리해볼께요.

 

코딩은 늘 

어떠한 조건에 움직이는 아이잖아요.

 

그래서 아두이노코딩과 블록코딩 두가지 버전으로

조건문을 비교해서 설명해보려고 합니다.

 

언어코딩은 사용문법을 잘 익혀야 하는데요.

우선 조건문 if는 소문자입니다.

대소문자를 구분하기 때문에 실수하지 않아야 합니다.

 

사용 모양은

if(조건식)
{
	실행문;
}

 

이렇게 생겼습니다.

 

if 괄호열고 조건을 넣어주고 다시 닫고

중괄호 안에 조건에 따른 실행문을 넣어줍니다.

 

이 실행문의 끝은 세미콜론으로 마무리 해야하는것도

굉장히 중요한 포인트 입니다.

 

if 는 소문자

실행문의 끝은 세미콜론

중괄호의 열고 닫힘

 

이런 모든것이 중요합니다.

 

 

만약 A가 1이라면 B를 실행하라고 만들려면

 

if(A == 1)
{
	B;
}

 

 

아두이노 코딩과 블록코딩 두가지로 만들어봤습니다.

비슷한 구조를 가지고 있어요.

 

만약 A가 1이면 B하라 아니면 C를 실행하라 

if(A ==1)
{
	B;
}
else
{
	C;
}

 

if / else 구조를 만들어줄 수 있어요.

이것이 if 조건이면 아니면 else로 구성할 수 있어요.

 

 

불럭코딩으로도 만들어봤습니다.

모양이 비슷하죠!

 

엔트리 블록코딩을 사용해봤는데요.

만일 ... 라면 / 아니면 블록을 사용하면 이 내용을 구성할 수 있습니다.

 


 

 

또 다른 예시를 들어서 만들어볼께요.

많이 만들어봐야지 이해가 되니까요

 

 

 

만약 A가 1이면 B를 실행해줘

만약 A가 2이면 C를 실행해줘

 

이걸 만들어볼까요?

 

if(A == 1)
{
	B;
}
else if(A == 2)
{
	C;
}

 

조건이 여러개 일때는

if / else if / 를 사용할 수 있어요.

 

조건식은 꼭 if 옆에 써야 하기때문에 다른 조건일때는

else if(조건식) 을 쓰면 됩니다.

 

블록코딩은 어떨까요?

 

 

 

다른 형태로도 만들 수 있는데요.

이건 동작되는 방식이 달라서 꼭 자세히 보셔야 합니다.

 

if(A ==1)
{
	 B;
}
if(A == 2)
{
	C;
}

 

 

이렇게 두가지로 표현할 수 있는데요.

동작되는 형태는 매우 다릅니다.

 

이부분을 자세히 풀어볼께요.

 


 

 

[표현1]

if(A == 1)
{
	B;
}
else if(A == 2)
{
	C;
}

-------------------------------------------
[표현2]

if(A == 1)
{
	B;
}
if(A == 2)
{
	C;
}

 

 

아두이노 코딩으로 설명해보면 A가 1이라면 어떻게 실행이 될까요?

 

표현1은

if(A ==1)을 체크하고 맞으니 실행B를 진행합니다.

 

그러면 else if(A==2)를 체크할까요?

체크하지 않습니다.

 

이미 if(A==1)이 체크되었고 이 조건이 참이었기 때문에

다음 조건을 체크하지 않습니다.

 

표현2는 어떨까요?

 

if(A ==1)을 체크하고 맞으니 실행 B를 진행합니다.

이건 표현1가 똑같죠.

 

그러면 if(A==2)를 체크할까요?

이것또한 체크합니다.

 

if는 조건은!!이라고 해석이 된다면

else  if 는 다른 조건은! 이라고 해석이 됩니다.

 

그렇기 때문에 위 조건이 아닌 다른 조건이라는 뜻으로

if / else if를 쓰기 때문에

if 에서 조건을 만족하면 다음 조건으로 넘어가지 않습니다.

 

if/if는 계속 조건! 조건! 이기때문에

모든 if를 체크하고 넘어가게 됩니다.

 

내가 만드는 알고리즘에 맞게

모든 조건식을 체크해야한다면 if/if~ 로 구성하셔야 합니다.

 


 

아두이노와 블록코딩에서

모두 사용할 수 있도록

조건문 문법에 대해 정리해봤습니다.

 

지금 블록코딩을 하고 있더라고

개념을 잘 이해하고 있다면

이후 언어코딩으로 넘어갔을 때

어렵지 않게 배울 수 있습니다.

 

코딩은 다 연결이 되어있기 때문에

 

기본적인 문법만 탄탄하게 한다면

레벨 UP 은 순식간에 가능합니다.

 

모두들 즐거운 코딩하세요 ^^

 

 

 

code.make.create.

 

아두이노를 다루면서

가장 잘 알아야 확장이 가능하고,

가장 잘 알아야 디버깅이 쉬운 파트여서

정리해보려고 합니다.

 

 

1. Serial은 무엇인가요?

 

아두이노 보드와 컴퓨터 사이의 통신할 때 쓰이는 것으로,

시리얼 포트

UART라고 불리기도 합니다.

 

2.  어떻게 통신하는 걸까요?

 

아두이노 보드에 있는 디지털 핀

0(RX)와 1(TX)에서 

USB를 통해서

컴퓨터와 통신합니다.

 

 

3. 주의할 점은 없을까요?

 

시리얼을 사용하기 위해서 0과 1의 디지털 핀을

사용한다고 했었기에

해당 핀을 이용한 부품연결은

하지 않아야 합니다.

 

이 기능을 사용하지 않을 때에는

0과 1포트를 사용할 수 있지만!

 

너무 헷갈리고

실수의 여지가 있기때문에

 

수많은 다른 디지털 핀을 사용하길 권장합니다.

 

4. 사용법은 어떻게 되나요?

 

1) 시리얼을 시작한다는 의미로

 

Serial.begin(speed);

선언을 합니다.

 

setup() 함수 내부에 해주면 됩니다.

 

speed는 

 

시리얼 모니터에서 설정하는 보드레이트를 

넣어주면 됩니다.

 

 

2) 시작이 있으면 끝이 있죠.

 

Serial.end();

 

3) 가장 많이 사용하는 출력은

시리얼 모니터 창에 출력을 하려면

 

Serial.print("123123");

Serial.println("45454545");

 

출력하는 함수 print를 사용합니다.

 

println은 한줄씩 엔터치는 효과가 더해집니다.

 

가장 기본적인

선언하고, 출력하고, 마무리하는 것을 다뤄봤습니다.

 

 

자세한 내용은 아두이노 레퍼런스를 참고하면 좋습니다.

https://www.arduino.cc/reference/en/language/functions/communication/serial/

 

Serial - Arduino Reference

Description Used for communication between the Arduino board and a computer or other devices. All Arduino boards have at least one serial port (also known as a UART or USART), and some have several. Board Serial pins Serial1 pins Serial2 pins Serial3 pins

www.arduino.cc

 

즐거운 코딩하세요^^

 

code.make.create

 

아두이노코딩 error: expected unqualified-id before '{' token 

디버깅을 해보려고 해요.

 

 

코딩은 잘 만드는 것도 중요하지만

만들어진 코드를 잘 디버깅해서 오류를 찾아내는 과정

또한 매우 중요합니다.

 

프로그래머들이 하는 일의 반은 디버깅인 것 같아요.

 

아두이노 스케치에서 오류를 보고 어떻게 수정하는지 같이 정리해볼께요.

 

샘플로 가져온 코드를 컴파일 시켜볼께요.

 

 
잘 안보이죠?!
 
검정색 창에 붉은 글씨로 되어 있으니
캡처하니 잘 안보이네요.
 
현재  "expected unqualified-id before '{' token" 에러를 보여주고 있어요.
 
그럼 이 에러코드를 해석해야겠네요.
 
중괄호 {  전에 정해지지 않은 아이디( expected unqualified-id)가 있다고 알려주고 있어요.
 
이부분을 가서 잘 살펴봐야 하는데요.
우선 코드 정렬부터 해볼께요.
 
코드 정렬하기 전과 후
 
 

 

코드 정렬을 통해서

띄어쓰가기 정확히 되어있으면 코드가 눈에 더 잘 들어옵니다.

 

그래야 잘 오류를 잘 찾아낼 수 있겠죠

 

Ctrl+ t를 눌러서 정렬해주세요.

 

그럼 왼쪽 코드가 오른쪽 코드처럼 들여쓰기 되어서 표현이 됩니다.

 

이 상태에서 이제 크게 구역을 나눠서 먼저 보는거에요.

아두이노는 기본적으로 이런 형태를 가지고 있어요.

 

 

 

 

setup()과 loop() 함수 두개가 필수적으로 있고

그 함수는 중괄호로 열고 닫고 있어요.

 

그 속에 내가 원하는 코드가 들어가는거에요.

 

void setup()

{

코드가 들어가요.

}

 

void loop()

{

코드가 들어가요

}

 

void loop() {
코드가 들어가요.

}
}

 

이렇게 작성이 되었다면 이건 맞을까요? 틀렸을까요?

잘 모르겠으면 이렇게 만들고 컴파일 시켜보면 됩니다.

 

결과적으로 틀렸어요.

 

열림 중괄호가 하나면 닫힘도 하나여야 해요.

꼭 기억하세요.

 

자 그럼 작성된 코드로 가볼께요.

에러가 표시된 곳으로 가보니 { 중괄호 전에

#include가 있어요.

 

 
빨간색 라인이 보이시죠. 
이건 에러난 곳을 표시해주는 것이니
이 부분을 잘 살펴보면 되는데요.
 
조금전 우리가 배운것처럼
함수이름과 함께 중괄호의 열고 닫힘 이 있어야 하는데
 
#include가 있네요.
 
이건 설명한바가 없어요!
 
#include는 일반적으로 setup() 함수 위에
코드 젤 상단에 적어주는 것이 일반적이에요.
 
무엇을 선언한다는 뜻이기 때문에
사용하기전에 선언부터 해줘야한다는 것을 기억하세요.
 
해당 코드를 젤 위로 올려볼께요~
 
 
 

코드를 ㄹ위로 올려주니 어떤가요?

똑같은 코드가 있어요!

 

 

이렇게 정리를 해줘야 보이는 부분이죠.

 

#include끼리는 젤 처음 상단에 모아서 선언해줘야해요.

그럼 중복되는 것을 찾을 수 있어요.

 

중복코드를 삭제하고 다시 코드를 돌려볼께요.

 

예상한 부분이죠.

 

중괄호 이전에 #include를 지워줬으니 비워진 상태이잖아요.

 

 

이제는 코드 내용을 살펴봐야해요.

 

코드를 보니 핀의 모드 항목을 설정해주고 있어요.

INPUT으로 할지 OUTPUT으로 할지 디지털핀의 속성을 정하고 있는 것이기 때문에

이것은 setup() 함수 안에 있어야 합니다.

 

옮겨주세요.

 

그리고 중괄호는 지워주면 되겠죠.

 

또 컴파일을 해보면

 
중괄호가 또 있네요.
 
이것도 비워져 있어요.
코드의 의도를 알아야 합니다.
 
내용을 보면 2, 3, 4번 디지털 핀의 값이 1이 되면 
음을 연주하고 싶은 것 같아요.
 
이 영역은 계속 진행되어야 하니 loop() 함수에 들어가는게 맞을 것 같아요.
 
loop() {    *******  }
 
loop() 함수의 중괄호 안에 별표시 된 곳에 들어가야해요.
현재는 밖에 있기 때문에 문제가 되고 있습니다.
 
 
드디어 에러가 없는 코드를 만들었어요.
 
2,3,4가 버튼이라면
버튼이 눌릴때마다 다른 음을 연주하고 싶은 것 같고,
서보모터도 움직였으면 좋겠다는 의도로 만들어진 코드 같아요.
 
그렇게 동작이 되려면 더 수정해야 하는 코드입니다.
현재 코드론 그렇게 동작이 되지 않을꺼에요.
 
오늘은 오류를 잡는 내용이었기 때문에
이렇게 정리하도록 하겠습니다.
 
아두이노 스케치를 이용해서 컴파일 하면
오류가 나는 곳과 오류 메시지를 자세히 표현해주고 있어요.
 
 
그곳을 자세히 살펴보면
내가 어떤 실수를 했는지 알 수 있을 겁니다.
 
주로 많이 하는 실수가 중괄호 열고 닫힘이기 때문에
정렬을 해서 
내가 잘 열고 닫았는지 
갯수를 세어가면서 정리해보면 오류를 찾기 쉬워질꺼에요.
 
에러가 나는 코드와 수정된 코드를 공유할께요.
직접해보세요.
 
즐거운 코딩하세요.
 
code.make.create.
 
 
 
 
 

 

Error_code.zip
0.00MB
OK_code.zip
0.00MB

 

 

code.make.create

아두이노 코딩 변수에 대해 정리해보려고 합니다.

 

1. 변수란 무엇일까요?

정해지지 않은 임의의 값을 표현하기 위해 사용되는 것은 수학적 표현입니다.

컴퓨터 프로그래밍에서는 특정 값을 저장하는 공간을 뜻합니다.

 

2. 변수의 종류는 어떻게 될까요?

 

변수에는 정수, 문자, 실수를 저장할 수 있어요.

 

int = 정수 

char = 문자

float = 실수 (소수점이 들어가는 숫자)

 

를 담을 수 있는 공간을 만들 수 있는 명령어 입니다.

 

3. 변수의 모양은 어떻게 지정할까요?

 

정수인지 문자인지 실수인지 type을 정하고,

변수의 이름을 만들어 줍니다.

 

int a;

 

이름을 a로 정하고 정수형으로 만들었습니다.

이 문장의 끝은 세미콜론으로 마무리합니다

;  세미콜론

 

 

여기서 TIP

많은 친구들이 정상적으로 코드가 동작되지 않을 때

문장의 끝이 세미콜론 (;)으로 마무리가 잘 되었는지를 한번 확인해주세요.

한문장마다 ; 세미콜론이 붙지 않아 오작동 되는 경우가 많습니다.

 

 

 

보통의 프로그래밍 언어는 세미콜론으로 마무리 하지만

python같은 언어는 세미콜론을 생략하는 문법을 가지기도 합니다.

참고하세요~

 

변수를 값을 담기 위해서는 등호 =  를 사용합니다.

변수 a에 1의 값을 담으려면 선언과 함께 값을 담아주는 코드

 

int a = 1; 입니다.

 

이 표현은 나눠서도 가능한데요.

선언만 하고, 이후에 값을 담을 수도 있겠죠.

 

int a;

a = 1;

 

이때도 세미콜론 있지 마세요.

 

변수 두개가 타입이 같다면 같이 선언할 수도 있습니다.

int a, b;

 

 

변수를 선언하고 값을 담는 과정은 코딩의 기본입니다.

그리고 그 값을 연산자를 통해 변경도 가능합니다.

 

연산자를 정리할 때 좀더 자세히 다뤄볼께요.

 

여러타입의 변수를 선언하고 값을 넣어주고

그 값을 시리얼모니터에 찍어주면서 어떻게 변화하는지 살펴보세요.

 

모두들 즐거운 코딩하세요 ^^

 

 

 

 

 

CODE.MAKE.CREATE

 

우리는 앞으로 인공지능 시대를 살아가게 됩니다.

인공지능을

인공지능 개발자만 알아야 할까요?

 

저는 그렇게 생각하지 않습니다.

 

우리가 화가가 되기 위해서

미술학원을 다닐까요?

 

운동선수가 되기 위해

태권도를 다니고

줄넘기 학원을 다니는 걸까요?

 

살아가는데 필요한 배움이기 떄문에

우리는 배우고 있습니다.

 

인공지능 개발자가 아니어도

인공지능을 다룰 수 있는 사람이 되어야 하고

그것을 이용할 수 있는 인재가 되어야 합니다.

 

앞으로 살아갈 세상에는

인공지능을 이용한 직업군이 생기고

그것을 이용한 예술이 제품이 쏟아져 

나올 것으로 생각이 됩니다.

 

어떤 방식으로 동작이 되는지

어떻게 학습을 시켜야하는지를

경험해 볼 필요가 있지 않을까요?

 

교과과정에

코딩이 인공지능 교육이

포함되고 있는 이유라고 생각이 됩니다.

 


 

인공지능은 갑자기 나타난 친구일까요?

 

아닙니다.

 

1940년 뉴럴 네트워크라는 개념이 있었습니다.

 

인간의 신경망

"뉴런"을 모방했다는 의미였죠.

 

 
대표사진 삭제

사진 설명을 입력하세요.

 

 

그런데 

왜 이제서야

인공지능이 핫해지고

사람들이 관심을 두는

기술이 되었을까요?

 

 

 

오랜시간에 걸쳐서

컴퓨터 기술은 발전이 되었고

그에 따라 인공지능도

계속된 연구가 되었습니다.

 

그리고 드디어

이전에 생겼던 오류를

해결하였고

세상에 나올 수 있게 된 것이죠.

 

그 이유가 바로

많이 들어보셨을

"딥러닝" 입니다.

 

 

 

 

깊이가 생겼다는 의미입니다.

깊이가 생겨서 무엇이 해결되었을까요?

 

 

 

사람은 위의 사진을 구분할 수 있을까요?

우린 모두가 가능하죠!

 

그럼 컴퓨터는 어떨까요?

같은 사과지만 다르게 보이는 것

이것을 딥 러닝으로 가능하게 된 것입니다.

 

 

추론의 과정에서의 오류를

다시 학습을 통해

결과를 찾아낼 수 있도록

튜닝과정을 거치게 된 것이죠!

 

우리가 이제

인공지능 세상으로

들어오게 된 경정적 이유입니다.

 

 


 

 

엔트리 프로그램을 이용하면 

인공지능 학습 프로그램을 사용할 수 있습니다.

 

WEB버전에서만 가능하며

 

우리가 원하는 데이터를

학습시키고

그것에 맞게 결과를 추론하는지

인공지능 블록으로 확인할 수 

있습니다.

 

우리모두 즐겁고 신기한 코딩 하세요 ^^

 

 

code.make.create

code.make.create.

 

아두이노 우노 보드를 사용하면서

가장 많이 들었던 질문중에

선생님이 사용하는 점퍼선 색이 저한테는

없어요!!!!!! 였습니다.

 

점퍼선 색상이 동일해야 된다고 생각하더라구요.

 

이 질문을 하게 된 계기를 생각해보면

서보모터를 다룰때 색으로 구분하고 있고

색상을 잘 확인하세요 라는 말을 처음부터 했었어서

이런 고민이 생기지 않았나 싶습니다.

 

어떤 고민이든 질문이든 다 좋습니다.

그냥 따라하는 것보다 의문점이 생긴다는 것은

너무 훌륭한 것이거든요!!

 


서보모터는 색으로 구분하고 있는 것이 맞습니다.

주황, 빨강, 갈색으로 색이 구별되어 있고

색마다 연결해야 하는 내용이 다른 건 맞습니다.

 

하지만 점퍼선은 이런 모터와 보드를 연결해주는 브릿지 일 뿐입니다.

 

점퍼선의 종류를 좀 볼까요?

 

점퍼선을 보면

양쪽이 뾰족한 수 점퍼선

한쪽만 뾰족한 암수 점퍼선

뾰족한것이 없는 암 점퍼선

 

3가지 종류로 구분이 되고, 이 점퍼선들의 길이가 다양하게 제공되고 있습니다.

 

서보모터인 경우에는 뾰족한 점퍼선이 필요하잖아요.

 

서보모터의 구멍도 보드의 구멍도 동일하게 생겼기 때문에

수 점퍼선을 이용해서 연결해주면 됩니다.

 


초음파 센서같은 경우는 사진에서도 보이지만 센서 자체가

뾰족한 핀이 달려있어요.

 

그렇기 때문에 서보모터처럼 뾰족한 점퍼선을 사용하면

서로 연결할 수가 없겠죠.

 

초음파 센서와 보드를 연결할때는

암수 점퍼선을 써야하는 이유입니다.

 

아두이노 보드는  뾰족한것으로 끼워야 하기 때문에

한쪽만 뾰족한 암수를 써야하는 것이죠.

 


이렇듯 점퍼선은 부품의 모양에 따라서 선택될 뿐이지

점퍼선 색에 너무 고민하지 말아주세요.

 

서로를 연결할 도구일 뿐입니다.

 

다만

심화단계로 넘어가면

 

많은 부품을 한꺼번에 연결할 경우 헷갈리지 않게 하기 위해

색으로 구분하기도 하는데요.

 

이건 나와의 약속이지 부품과의 약속은 아닙니다.

 

보통 제작자들은

 

VCC,5V는 빨강으로

GND는 검정으로 맞춰서 연결합니다.

 

이렇게 연결이 되면 선만 봐도 +와 -를 구분할 수 있게 되고

혹시 선이 빠지게 되더라도 수정하기 용이하기 때문입니다.

 

이런경우를 제외하고

선생님이 노랑을 썼으니 꼭 노랑으로 연결해야지 할 필요는

없습니다.

 

 

점퍼선에 대한 오해가 풀리길 바래요

모두들 즐거운 코딩하세요.

 

code.make.create.

 

 

code.make.create.

 

아두이노코딩을 하다보면

만나게 되는 에러코드를

디버깅해보려고 합니다.

 

p:43: undefined reference to `setup'

collect2.exe: error: ld returned 1 exit status

 

setup은 정의되지 않았다

라고 해석될 수 있는 에러코드입니다.

 

 undifined 에러는 자주 만나게 되는데요.​

 

주로 철자실수로 인해서

있어야 함수가 없거나

없는 함수 이름이 쓰여지거나 하는 경우인데요.

 

아두이노 코드에서 setup함수는 필수이잖아요.

그런데 그 함수가 정의되지 않았다고 알려주는 코드입니다.

 

정말로 쓰지 않았을까요?

해당 코드는 다음과 같습니다.

 

#include <Servo.h>
Servo myservo;
void stup()
{
myservo.attach(12);
pinMode(9,INPUT_PULLUP);
}

 

 

찾았나요?

 

철자실수죠!!

seup이 아닌 setup입니다.

 

코드를 해석하지않으면

너무 쉬운 철자 실수도 찾아낼수가 없습니다.

 

에러가 나오면,

 

1. 해당라인으로 찾아가서

2. 정말로 틀리지 않았다고 생각되는 부분도 다시 체크

3. 특히나 정의된 함수같은 경우 색상변화도 확인

(seup은 검정색, setup은 초록색)

4.  다시다시 체크

 

내가 짠 코드를 내가 다시 보면서 오류를 찾는다는것은

어려운 과정입니다.

 

내눈에는 잘 안보이거든요.

 

가장 중요한 포인트는

다시 체크!!

 

인내심을 가지고 해결하길 바래요~

 

code.make.create.

 

아두이노 메이커를 위해

많이 사용되는

브레드보드

빵판에 대해

소개해보겠습니다.

 

빵판은 크기가 다양하게 있어요.

내가 사용하기 적합한 것을

고르면 됩니다.

 

크기와 상관없이

아주 중요한 내부 구조가 있는데요.

 

우선 용어부터 알아야겠죠?

 

https://blog.naver.com/runcoding/222566372159

 

메이커 아두이노 코딩, 브레드보드 breadboard(빵판) 사용하기 by 런코딩

오늘은 아두이노 메이커를위해 많이 사용하는 브레드보드 빵판 에 대해 소개보려고 합니다. 빵판은 크기 다...

blog.naver.com

 

 

 

화면을 보면 알 수 있듯이

한 점을 클릭했을 떄 노란색으로

연결되어 있는 라인들이 보일꺼에요.

 

 

브레드보드는 내부적으로

선이 연결되어 있어서

한 점만 연결해도

버스띠 부분은 가로로

단자띠부분은 세로로 연결되어 사용합니다.

 

그럼 홈은요?

 

연결이 끊어져 있습니다.

 

여기서 실수가 생길 수 있는 포인트!!!

꼭 확인해주세요.

 

 

여기서 TIP!!!!!

 

학생들을 가르치는 선생님이시거나

혹은 코딩을 집에서 공부하는 친구들

 

왜!!!!

 

버스띠에 연결했는데

동작이 안되지???

 

 

 

아무리 살펴보아도 맞는 것 같은

그런 경우가 있습니다.

 

내가 가진 브레드보드를 

잘 살펴보아야 하는데요.

 

시중에는..

 

 

 

 

버스띠 중간에 연결이 되어 있지 않은

브레드 보드가 있기도 합니다.

 

유일한 표시는 선이 연결되어 있지 않아요.

색이 비워져있죠?!

 

이럴 경우,

왼쪽에서 사용하는 핀을

오른쪽에는 연결이

되어있지 않아서 사용을 못하겠죠!

 

이 부분을 미쳐 체크하지 못하면

찾아내기가 쉽지 않습니다.

 

 

아주 기본인 것 같지만

모르면

아두이노를 동작시킬 수 없는

브레드보드

 

아두이노와 브레드보드를 이용한

재미있는 메이커코딩을

해보세요.

 

code.make.create.

code.make.create.

아두이노코딩을 하기 위해서 필요한 함수들을

아두이로 레퍼런스를 기준으로 정리해보려고 합니다.

 

먼저 digitalWrite() 입니다.

 

함수 이름은 이름만으로도 어떤 역활을 하는지 알 수가 있는데요.

이름으로 해석해보면,

digital 디지털에 Write 쓰라는 뜻이 됩니다.

 

풀어서 설명해보면

아두이노에 연결한 디지털 핀에 값을 쓰는 것입니다.

그 값은 HIGH와 LOW값이 되겠네요.

 

왜 두가지 일까요?

 

디지털은 0과 1로 된 신호이기에

HIGH = 1, LOW = 0의 값을 쓰는 것입니다.

 

사용하는 모양은 이렇게 정의되어 있습니다.

아두이노 레퍼런스 캡처

https://www.arduino.cc/reference/ko/language/functions/digital-io/digitalwrite/

 

 

 

digitalWrite(pin,value);

 

pin : 디지털 핀 번호

value : HIGH or LOW

 

예를 들어 볼께요.

LED를 연결해보겠습니다.

 

 

회로도를 살펴보면,

연결된 디지털 핀은 5번과 6번 그리고 9번입니다.

 

그럼 불을 키려면 HIGH

끄려면 LOW값을 줘야겠네요.

 

만들어볼까요?

 

digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(9,HIGH);

대문자, 소문자 구분을 해야하며

라인의 끝에는 세미콜론으로 구분하면서 만들어줘야 합니다.

 

끄려면

digitalWrite(5,LOW);

digitalWrite(6, LOW);

digitalWrite(9, LOW);

전부 LOW 값을 주면 되겠죠.

 

즐거운 코딩 되세요 ^^

+ Recent posts