아두이노 프로그래밍 1일차 – Part4 값출력 및 디지털 읽기 강사: 김영준 목원대학교 겸임교수

Slides:



Advertisements
Similar presentations
2014 년 가을학기 계산 입문 연습 #2 지도교수 : 박성우 조교 : 김준성 1. 목차 복습하기 정수와 문자열 논리연산자 비교연산자 비교 연산자 & 논리 연산자 조건 연산식 변수 선언 2.
Advertisements

음란물에 대하여. 인터넷 음란물의 의미 돈벌이를 위해 단지 성적 욕망을 불러 일으키기 위한 음란한 인터넷 상의 사 진, 동영상, 만화 등을 말한다.
1 모터 (Motors) 김원웅. 2 모터 (Motor) □ 모터 응용분야 □ Desktop PC 의 DVD ROM, HDD □ 러닝머신, 전동드릴, 선풍기 등 전력에 의해서 뭔가가 움직이 는 분야에는 거의 모두 모터가 사용 □ 우리가 배울 모터의.
아이핑 소개 (탁구대회) 아이핑 담당 신동일 네이버(다음)에서 아이핑검색 아이핑 소개 (탁구대회) 담당 신동일 아이핑.
1. PC 에서 회원가입 1. 회원가입 버튼 클릭 클릭.
아두이노 활용 SW코딩 시작하기 아두이노 소개 개발툴 다운로드 USB 드라이버 설치하기 개발툴 실행하기
행복한 부자교실 16기 8조 성동구 성수동 답사 결과 12월 22일 발표.
2015년 2학기 PULSE 4 전자물리실험 11주차 – 초음파 거리 측정 실험 - DSU 메카트로닉스 융합공학부 -
목차 한국기술교육대학교 강사: 김 영 준 ㈜헬로앱스 1일차 아두이노 제어 실습
PART 01 총 론 제9장 한국 사회복지법제의 형성과 발전.
아두이노 프로그래밍 1일차 – Part2 아두이노 사양 강사: 김영준 목원대학교 겸임교수.
한국기술교육대학교 아두이노 기반 펌웨어 개발 (기본과정) 1일차 강사: 김영준 목원대학교 겸임교수.
데이터 관리의 모든 것 데이터 최적화하기 데이터 정렬하기 자동 필터와 고급 필터
컬러 LED바 이해하기 목차 재료준비 및 브레드 보드 배선 구성하기 컬러 LED바 이해 및 프로그램 실습 응용 작품 만들기.
아두이노 기반 펌웨어 개발 FUTURE INNOVATOR 강사: 김 영 준 ㈜헬로앱스
Arduino와 Led를 이용하여 Wearable Display 만들기
아두이노 프로그래밍 5일차 – Part2 지그비 통신 강사: 김영준 목원대학교 겸임교수
MECHA 3차 세미나 2015년 4월 9일 목요일 김지원.
12. 아두이노와 센서를 이용한 제어 - 스마트 폰으로 제어하는 아두이노 -.
터치 모니터관련 지식 팁 Usb장치 인식 실패 원인과 해결책.
아두이노와 Node.js를 이용한 IoT 프로젝트
고등용 LED를 이용한 재미있는 표현.
제 3 장 아두이노 무조건 따라하기 - 스마트 폰으로 제어하는 아두이노 -.
아두이노 프로그래밍 2일차 – Part4 아날로그 키패드 활용하기 강사: 김영준 목원대학교 겸임교수.
아두이노 프로그래밍 (응용과정) 3일차 – Part2 LCD 활용하기 강사: 김영준 목원대학교 겸임교수.
아두이노 프로그래밍 2일차 – Part2 PSD 거리센서 강사: 김영준 목원대학교 겸임교수.
아두이노 프로그래밍 2일차 – Part2 PSD 거리센서 강사: 김영준 목원대학교 겸임교수
9. 아두이노를 이용한 FND 제어 - 스마트 폰으로 제어하는 아두이노 -.
아두이노 프로그래밍 3일차 – Part1 컬러 LED바 활용하기 강사: 김영준 목원대학교 겸임교수
초등학생이 pc방을 가도 되는가? 등마 초등학교 5학년 4반 김근아.
전기, 안전하고 효율적으로 사용하기(2) 학습 주제 < 생각열기 >
공인인증서 신청 및 발급 제일 먼저 은행에 직접 방문하여 인터넷뱅킹 신청.
2015년 2학기 PULSE 4 전자물리실험 10 – 조도 센서와 소리 발생 - DSU 메카트로닉스 융합공학부 -
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
중앙대 원격교육원 범용공인인증서 홈페이지 등록 방법 .
아두이노 프로그래밍 5일차 – Part2 아두이노 보드간 통신 강사: 김영준 목원대학교 겸임교수.
2015년 2학기 PULSE 4 전자물리실험 09-Servo Motor 제어 - DSU 메카트로닉스 융합공학부 -
02강 아두이노 LED 기본 개념 LED Example1 LED Example2 LED Example3
클라우드 서버로 사용자 데이터 전송하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
클라우드 서버로 부터 값 읽어오기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
디지털공학 및 실험 디지털 공학: 부울대수를 기반으로 하는 논리적인 회로의 입출력에 대하여 공부하고 이를 응용한 기능을 설계하는 과목. 부울대수: 참, 거짓 두 종류의 입력(출력)데이터와 AND, OR, NOT 등의 연산자사이의 관계를 정의해 놓은 학문분야. 값의 명칭:
8. 아두이노를 이용한 아날로그 제어 - 스마트 폰으로 제어하는 아두이노 -.
4. 아두이노로 LED 제어하기 - 스마트 폰으로 제어하는 아두이노 -.
센서값 전송하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
< 차 시 정 보 > 정보교과(중1)스토리보드 컴퓨팅 시스템 피지컬 컴퓨팅
ST 모드 활용하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
ST모드에서 데이터 읽기 및 제어하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
웹서버 기능으로 데이터 읽기 및 제어하기 WiFi 시리얼 보드 활용가이드 김영준
클라우드 서버로 데이터 전송하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
함수를 이용한 키패드 센서 제어하기 재료준비 및 브레드 보드 배선 구성하기 키패드 센서를 통한 함수 이해하기 및 활용 실습
코딩체험교실 아두이노 로봇 코딩 4차산업기술 체험 (SW코딩/자율주행기술).
아두이노 프로그래밍 4일차 – Part1 모바일 로봇 강사: 김영준 목원대학교 겸임교수
선의관악종합사회복지관 김정현.
6차시: 장애물을 회피하는 자율주행 미션 수행하기
Part 정비사업의 절차 1 ※ : 도시주거환경정비기본계획 도시·주거환경 정비계획(안) 작성 도시·주거환경정비 기본계획 수립
클라우드 접속 설정하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
아두이노 프로그래밍 Lecture #
Tone 명령어 이해하기 목차 재료준비 및 브레드 보드 배선 구성하기 Tone 명령어 기본 및 프로그램 이해 응용 작품 만들기.
아날로그일까? 디지털일까? -사용자 경험 기반 디지털 기술을 활용한 반응하는 액자 만들기-
100세 시대, 스마트 헬스케어와 미래직업 (3) 고령화 사회에 필요한 웨어러블.
아두이노 서보로봇 제어 (블루투스 스마트폰 조종) -03차시-
아두이노 프로그래밍 2일차 – Part4 아날로그 키패드 활용하기 강사: 김영준 목원대학교 겸임교수
DataScience Lab. 박사과정 김희찬 (화)
코딩교육, 어떻게 해야 할까 이천양정여자고등학교 김가연 안선영.
4 LED 출력 LED 점멸 LED 밝기 조절 RGB LED로 색상 표현하기 FND 제어 4-digit FND 제어 Dot matrix 제어 Dot matrix를 이용한 애니메이션.
사물인터넷(IoT) 프로그래밍 기초 5. 시리얼통신.
일본의 전자가구 2**80**7 일본어학과 4학년 하*우
남자의피부의 고민을 한번에 싹~ 해결해주는 옴므라인
3. Arduino 실습 – 아날로그 입력(1) 아날로그 입력 – 먼지 센서 먼지 센서 개요 먼지 센서 특징 먼지 검출 센서
Presentation transcript:

아두이노 프로그래밍 1일차 – Part4 값출력 및 디지털 읽기 강사: 김영준 목원대학교 겸임교수 헬로앱스 (www.helloapps.co.kr)

아두이노와 PC의 통신

아두이노와 PC의 통신 아두이노 통신 아두이노 보드와 PC가 USB 케이블을 통해 연결되어 있는 경우 시리얼 통신으로 주고 받을 수 있습니다. USB 케이블 PC 아두이노 우노 보드 및 올인원 쉴드

아두이노 -> PC 값 전송하기 Print(값) PrintLine(값) - 값을 이어서 출력합니다. 아두이노 통신 아두이노 보드에서 PC 또는 외부로 값을 보내기 위해서는 다음의 명령어를 사 용합니다. Print(값) - 값을 이어서 출력합니다. PrintLine(값) - 값을 출력한 후, 줄을 바꿉니다. 실제 스케치 코드는 Serial.println(값); 형태임

실습

아두이노 -> PC 값 전송하기 “Hello World” 단어를 1초 간격으로 줄을 바꾸어서 전송하기 아두이노 통신 실습) “Hello World” 단어를 1초 간격으로 줄을 바꾸어서 전송하기

아두이노 -> PC 값 전송하기 아두이노 통신 [0-3] PrintLine 명령어를 추가합니다. PrintLine 입력창 안에 “Hello World”를 입력합니다. 마우스로 드래그하여 끌어다 놓습니다.

아두이노 -> PC 값 전송하기 스크립트 [0-3] PrintLine 명령어를 추가합니다. PrintLine 입력창 안에 “Hello World”를 입력합니다. void setup() { } void loop() PrintLine(“Hello World”)

아두이노 -> PC 값 전송하기 아두이노 통신 [1-1-1] Delay 명령어를 PrintLine 명령어 아래에 추가합니다. 마우스로 드래그하여 끌어다 놓습니다.

아두이노 -> PC 값 전송하기 스크립트 [1-1-1] Delay 명령어를 PrintLine 명령어 아래에 추가합니다. void setup() { } void loop() PrintLine(“Hello World”) Delay(1000)

아두이노 -> PC 값 전송하기 아두이노 통신 상단 메뉴의 가운데 있는 실행 버튼을 클릭하여 프로그램을 아두이노에 업로 드 시킵니다. 프로그램을 실행한 후, 콘솔창에 표시되는 결과를 확인해 봅니다.

실습

아두이노 -> PC 값 전송하기 “Hi, Hello World” 단어를 1초 간격으로 줄을 바꾸어서 전송하기 아두이노 통신 실습) “Hi, Hello World” 단어를 1초 간격으로 줄을 바꾸어서 전송하기 단, “Hi, “를 먼저 출력한 후, 이어서 “Hello World”를 출력하여 2개의 문자열이 연결되도록 합니다.

아두이노 -> PC 값 전송하기 아두이노 통신 [0-2] Print 명령어를 Loop 함수의 맨 위에 추가합니다. 마우스로 드래그하여 끌어다 놓습니다.

아두이노 -> PC 값 전송하기 스크립트 [0-2] Print 명령어를 Loop 함수의 맨 위에 추가합니다. void setup() { } void loop() Print(“Hi, “) PrintLine(“Hello World”) Delay(1000)

아두이노 -> PC 값 전송하기 아두이노 통신 상단 메뉴의 가운데 있는 실행 버튼을 클릭하여 프로그램을 아두이노에 업로 드 시킵니다. 프로그램을 실행한 후, 콘솔창에 표시되는 결과를 확인해 봅니다.

디지털 버튼값 출력하기 디지털 버튼 값을 화면에 출력해 봅니다.

디지털 버튼 연결하기 디지털 버튼 다음과 같이 디지털 13번에 LED, 디지털 2번에 버튼을 연결해 봅니다. LED 소자

디지털 버튼 연결하기 디지털 버튼 다음과 같이 디지털 13번에 LED, 디지털 2번에 버튼을 연결해 봅니다.

디지털 버튼 값 출력하기 디지털 버튼 값을 읽어오기 위해서는 DigitalRead 명령어를 사용합니다. 디지털 버튼의 값 읽어오기 디지털 버튼 값을 읽어오기 위해서는 DigitalRead 명령어를 사용합니다. a = DigitalRead(핀번호)

디지털 버튼 값 출력하기 디지털 버튼 왼쪽 맨 위에 있는 새파일 메뉴를 눌러 새로운 파일을 생성합니다.

디지털 버튼 값 출력하기 디지털 버튼 [1-1-2] DigitalRead 명령어를 추가해 줍니다.

디지털 버튼 값 출력하기 스크립트 [1-1-2] DigitalRead 명령어를 추가해 줍니다. void setup() { } void loop() d = DigitalRead(2)

디지털 버튼 값 출력하기 디지털 버튼 [0-3] PrintLine 명령어를 추가해 줍니다.

디지털 버튼 값 출력하기 스크립트 [0-3] PrintLine 명령어를 추가해 줍니다. void setup() { } void loop() d = DigitalRead(2) PrintLine(d)

디지털 버튼 값 출력하기 디지털 버튼 [1-1-1] Delay 명령어를 추가한 후, 값을 100으로 수정해 줍니다.

디지털 버튼 값 출력하기 스크립트 [1-1-1] Delay 명령어를 추가한 후, 값을 100으로 수정해 줍니다. void setup() { } void loop() d = DigitalRead(2) PrintLine(d) Delay(100)

디지털 버튼 값 출력하기 디지털 버튼 상단 메뉴의 가운데 있는 실행 버튼을 클릭하여 프로그램을 아두이노에 업로 드 시킵니다. 버튼을 눌러 가면서 콘솔창에 표시되는 결과를 확인해 봅니다.

버튼이 눌려지면 LED 켜기

버튼이 눌려지면 LED 켜기 디지털 버튼 실습 목표 실습 내용 버튼을 누르고 있는 동안 LED가 켜지게 합니다. 디지털 버튼의 눌림 상태를 읽어 옵니다. 디지털 버튼의 상태에 따라 다음과 같이 LED를 제어합니다. 버튼이 눌려져 있으면 LED를 켭니다. 버튼이 눌려져 있지 않으면 LED를 끕니다.

버튼이 눌려지면 LED 켜기 디지털 버튼 왼쪽 맨 위에 있는 새파일 메뉴를 눌러 새로운 파일을 생성합니다.

버튼이 눌려지면 LED 켜기 디지털 버튼 왼쪽 맨 위에 있는 새파일 메뉴를 눌러 새로운 파일을 생성합니다. 스크립트 형식의 편집기를 선택합니다.

버튼이 눌려지면 LED 켜기 디지털 버튼 스크립트 방식의 기본 편집기 창

버튼이 눌려지면 LED 켜기 디지털 버튼 버튼 센서값을 읽어 온 후 출력하는 예제를 스크립트로 작성해 봅니다. 기존에 저장된 예제를 스크립트 형식으로 열어도 됩니다. void setup() { } void loop() d = DigitalRead(2) PrintLine(d) Delay(100)

버튼이 눌려지면 LED 켜기 디지털 버튼 if 조건 비교 및 else 조건 구문을 다음과 같이 추가합니다. void loop() { d = DigitalRead(2) PrintLine(d) if (d == HIGH) } else Delay(100)

버튼이 눌려지면 LED 켜기 디지털 버튼 프로그램 기능을 완성해 봅니다. void loop() { d = DigitalRead(2) PrintLine(d) if (d == HIGH) DigitalWrite(13, HIGH) } else DigitalWrite(13, LOW) Delay(100)

버튼이 눌려지면 LED 켜기 디지털 버튼 상단 메뉴의 가운데 있는 실행 버튼을 클릭하여 프로그램을 아두이노에 업로 드 시킵니다. 버튼을 눌러서 LED가 켜지는 지 관찰합니다.

버튼과 LED 활용 실습

디지털 명령어 실습 실습 실습 목표 주제1) 토글 버튼으로 LED 제어하기 주제2) 반복 눌림을 방지하기 위한 기능 구현하기 주제3) 버튼으로 숫자 세는 장치 만들기 주제4) 눌려진 숫자를 LED로 횟수 표시하기 주제5) 버튼을 2초간 누르고 있으면 기능 초기화 하기

주제1) 토글 버튼으로 LED 켜기 실습 실습 목표 실습 내용 디지털 버튼으로 토글 기능을 구현해 봅니다. 전역변수로 토글 상태를 저장합니다. 버튼이 눌려지면 토글 상태를 변경합니다. 토글 상태에 따라 LED를 켜거나 끕니다.

주제1) 토글 버튼으로 LED 켜기 실습 togle = false void loop() { d4 = DigitalRead(4) if (d4 == HIGH) if (togle) else togle = true } PrintLine(togle) DigitalWrite(13, HIGH) DigitalWrite(13, LOW) Delay(100)

주제2) 키 중복눌림 방지하기 실습 실습 목표 실습 내용 전역 변수로 키 중복 눌림을 방지시켜 봅니다. 전역변수로 토글 상태를 저장합니다. 전역변수로 버튼이 눌려져 있는지 체크합니다. 버튼이 최초 눌려질 때에만 토글 상태를 변경합니다. 토글 상태에 따라 LED를 켜거나 끕니다.

주제2) 키 중복눌림 방지하기 실습 전역변수 togle = false void loop() pressed = false { d4 = DigitalRead(4) if (d4 == HIGH) if (pressed == false) if (togle) togle = false else togle = true } pressed = true pressed = false PrintLine(togle) DigitalWrite(13, HIGH) DigitalWrite(13, LOW) Delay(100) 전역변수

주제3) 버튼으로 숫자 세기 실습 실습 목표 실습 내용 키 중복 눌림을 방지 기능을 활용하여 버튼의 눌려진 횟수를 화면에 표시합니다. 실습 내용 전역변수로 버튼이 눌려져 있는지 체크합니다. 전역변수로 눌려진 횟수를 저장하는 변수를 정의합니다. 버튼이 최초 눌려질 때에만 횟수 변수의 값을 증가시키고 화면에 값을 출력시킵니 다.

주제3) 버튼으로 숫자 세기 실습 count = 0 pressed = false void loop() { d4 = DigitalRead(4) if (d4 == HIGH) if (pressed == false) count = count + 1 PrintLine(count) } pressed = true else Delay(100)

주제4) 눌려진 숫자를 LED 점멸로 표시하기 실습 실습 목표 실습 내용 눌려진 횟수를 LED 점멸로 표시해 봅니다. 전역변수로 버튼이 눌려져 있는지 체크합니다. 전역변수로 눌려진 횟수를 저장하는 변수를 정의합니다. 버튼이 최초 눌려질 때에만 횟수 변수의 값을 증가시키고 화면에 값을 출력시킵니 다. 눌려진 횟수 만큼 LED를 0.1초 간격으로 점멸 시켜 봅니다.

주제4) 눌려진 숫자를 LED 점멸로 표시하기 실습 count = 0 pressed = false void loop() { d4 = DigitalRead(4) if (d4 == HIGH) if (pressed == false) count = count + 1 for (i = 0; i < count; i++) DigitalWrite(2, HIGH) delay(100) DigitalWrite(2, LOW) } pressed = true else Delay(100)

주제5) 2초간 누르면 기능 초기화 하기 실습 실습 목표 실습 내용 기존에 만들어진 기능에 초기화 기능을 추가해 봅니다. 전역변수로 버튼이 눌려져 있는지 체크합니다. 전역변수로 눌려진 횟수를 저장하는 변수를 정의합니다. 버튼이 눌려져 있는 시간을 저장하는 전역변수를 정의합니다. 버튼이 최초 눌려질 때에만 횟수 변수의 값을 증가시키고 화면에 값을 출력시킵니 다. 버튼이 눌려져 있는 동안에는 시간 변수의 값을 증가시킵니다. 시간 변수 값이 10을 넘으면 횟수 변수의 값을 0으로 초기화 합니다.

주제5) 2초간 누르면 기능 초기화 하기 실습 count = 0 pressed = false t = 0 void loop() { d4 = DigitalRead(4) if (d4 == HIGH) if (pressed == false) count = count + 1 for (i = 0; i < count; i++) DigitalWrite(2, HIGH) delay(100) DigitalWrite(2, LOW) } pressed = true t = t + 1 else { pressed = false if (t > 10) count = 0 t = 0 } Delay(100)