아두이노의 보드는 매우 많은 종류가 있다.
필자는 그 중 가장 기본이 되는 아두이노 우노 보드를 그냥 아두이노라고 칭하도록 하겠다.
[아두이노 IDE 다운받기]
IDE란?
정보·통신 (integrated development environment)
통합개발환경(애플리케이션에 도입된 프로그래밍 환경) by 네이버 백과사전
아두이노와 소통하는, 명령을 입력하는 프로그램이라고 생각하면 되겠다
검색창에 '아두이노 IDE'를 검색하거나
https://www.arduino.cc/ 싸이트에 들어가면
상단 메뉴 중 SOFTWARE -> DOWNLOAD 로 가서
사용하는 운영체제 맞는 프로그램을 다운로드 받으면 된다.
[참고] 구형 아두이노의 경우 칩셋에 따라서 별도의 드라이버를 설치해줘야 하는 경우가 있다 ATMEGA328의 경우 별도의 드라이버는 필요하지 않는다~
칩셋에 쓰여있는 글씨를 확인하고 다르면 드라이버를 설치하고 컴퓨터에 연결하자 FTDI chip 드라이버 다운로드 링크 : https://www.ftdichip.com/ CH340 드라이버 다운로드 링크 : http://www.wch.cn/products/CH340.html |
프로그램 설치 후 아두이노와 컴퓨터를 랜선으로 연결해주자
그 다음 IDE 환경에서 아두이노 보드와 통신 포트를 설정해주자
[씨리얼 통신을 이용하여 씨리얼 모니터에 원하는 문장 출력하기]
이왕 연결했으니 씨리얼 통신과 씨리얼 모니터를 가지고 한 번 가지고 놀아보죠~!
1번 연습 - 씨리얼 모니터에 값을 입력하면 읽은 값을 출력해내기
그런 다음 시리얼 모니터를 열어줍니다.
아스키코드라고 하던데요...
1이라는 숫자를 입력하면 아두이노가 이해하는 값은 49입니다.
12345를 동시에 입력해도 하나당 한개의 코드씩을 출력해냅니다.
1=49
2=50...
이렇게 출력이 된거죠!
(10은 마지막에 왜 있는지 잘 모르겠.... ㅋㅋ)
[명령어 입력시 참고사항] // ← 쓰면 아무렇게나 추가 부연 설명을 할 수 있어 좋았습니다. { } ← 명령어의 묶음입니다. 시작이 있으면 끝이 있어야 하죠. 여러 명령어가 섞이면 들여쓰기로 차이를 두시는 것도 좋습니다. ; ← 명령어 입력시 엔터는 마음대로 쳐도 좋으나, 명령이 끝나는 부분에 세미콜론을 표시해주셔야 합니다.
|
void setup() // 셋업 창입니다. 처음 기본적인 약속을 정하는 곳이에요
{
// 꺾인 괄호 안에 명령을 쓰면 되지요
Serial.begin(9600); // 기본 통신9600 쓰구요, 맨 뒤에 세미콜론은 줄이 끝났음을 의미합니다.
}
void loop() // loop는 반복. 여기에 입력한 명령을 반복해서 수행합니다.
{
if(Serial.available()) // 씨리얼에서 값을 인식한다면 아래 괄호 안의 명령을 수행합니다.
{
Serial.println(Serial.read()); //씨리얼모니토로 프린트 하는데 씨리얼통신으로 읽은 값을 출력합니다.
}
}
2. '1'을 입력하면 hello 라고 대답하기
1을 입력했을 아스키코드 값이 49 였습니다.
h가 49의 값이 되었을 때, 헬로를 출력합니다.
(응용 첫번째) 변수 값을 h 말고 다른 걸로 해보면 어떨까요?
(응용 두번째) 출력할 때 약속을 다른 걸로 해보면 어떨까요?
(응용 세번째) 헬로 말고 다른 문구를 출력하려면 어떻게 할까요?
(응용 네번째) 1에는 hello, 3에는 bye를 출력하려면 어떻게 할까요?
void setup() // 셋업 창입니다. 처음 기본적인 약속을 정하는 곳이에요
{
// 꺾인 괄호 안에 명령을 쓰면 되지요
Serial.begin(9600); // 기본 통신9600 쓰구요, 맨 뒤에 세미콜론은 줄이 끝났음을 의미합니다.
}
void loop() // loop는 반복. 여기에 입력한 명령을 반복해서 수행합니다.
{
if(Serial.available()) // 씨리얼에서 값을 인식한다면 아래 괄호 안의 명령을 수행합니다.
{int p = Serial.read(); //int로 변수 p를 정의합니다. 이 때 p 값은 씨리얼 모니터에 읽은 값이에요
if(p == 49) // p의 값이 49(숫자1)와 같으면 아래 명령을 수행합니다
{
Serial.println("hello"); // 제가 준 명령은 hello 라고 인사하길 바래요
}
if(p == 51) // p의 값이 51(숫자3)과 같으면 아래 명령을 수행합니다
{
Serial.println("bye"); // 제가 준 명령은 bye 라고 인사하길 바래요
}
}
}
3. 다음을 참고하셔서 다양하게 활용해보세요~ ㅎㅎㅎ
'공부하는 > GPT, 코딩' 카테고리의 다른 글
택트 스위치로 LED를 켜보자(1) - 택트스위치의 구조 (1645) | 2020.03.09 |
---|---|
아두이노로 LED를 켜보자! (디지털핀, 아날로그핀) (1515) | 2020.03.08 |
아두이노로 LED를 켜보자(프로그래밍 없이!) (8) | 2020.02.17 |
아두이노의 전원을 켜보자 (0) | 2020.02.17 |
코딩교육이 필요한 이유? 아두이노를 해봐야 하는 이유! (3) | 2020.02.05 |
댓글