GPIO RaspberryPi Sejin Oh.

Slides:



Advertisements
Similar presentations
Python RaspberryPi Sejin Oh. Raspberry Pi Python  참과 거짓  Python 자료형의 참과 거짓을 구분 짓는 기준은 다음과 같다. 2 참과 거짓 자료형참 or 거짓 “” 가 아닌 문자열 ( 예 : “python”) 참 “” 거짓.
Advertisements

Python RaspberryPi Sejin Oh. Raspberry Pi Python  파이썬이란 무엇인가 ?  파이썬이란 1990 년 암스테르담의 귀도 반 로섬에 의해 만들어진 인 터프리터 언어이다.  파이썬은 사람이 생각하는 방식을 그대로 표현할 수 있도록.
제어기 활용 -GPIO Ch.05 RaspberryPi Sejin Oh. Raspberry Pi 제어기 활용 -GPIO  GPIO (General Purpose Input Output)  마이크로프로세서가 주변장치와 통신하기 위해 범용으로 사용되는 입출력 포트 
시스템소프트웨어 김 영욱 양 오석. 목적  라즈베리파이에서 GPIO 를 이용하여 초음파 센서를 연결하고 거리를 측정해 일 정한 거리안에 사람이 들어오면 파이 카메라를 이용하여 사진을 찍고 데이터 베 이스에 올려 웹에서 사진을 보고 검색을.
1 2011` ( 금 ) 신성장동력 인력양성 정책방향. ◎ 3 대 분야 17 개 신성장동력 인력 중점 양성 -> 『신성장동력 인력양성 추진계획』 수립 (‘09.5 월 ) 3 대 분야 17 개 신성장동력 녹색기술 ①신재생에너지 ②탄소저감에너지 ③고도 물처리 ④.
성동구 성수동 지역 답사 및 투자가치 분석 1. 성수동 주요지표 및 재개발 개요 2. 뚝섬 서울숲 시민공원 개요와 영향 3. 신분당선 연장 노선과 영향 4. 성수동 랜드마크 아파트 동향 ( 롯데 캐슬, 현대 아이파크 ) 5. 성수동 지역 재개발 동향 ( 아파트, IT 공업단지,
1 모터 (Motors) 김원웅. 2 모터 (Motor) □ 모터 응용분야 □ Desktop PC 의 DVD ROM, HDD □ 러닝머신, 전동드릴, 선풍기 등 전력에 의해서 뭔가가 움직이 는 분야에는 거의 모두 모터가 사용 □ 우리가 배울 모터의.
고출력 LED를 이용한 UV GUN 팀장:김동근 팀원:김중호 노현우 손주암.
인적사항 기재요령 ▣ 주민등록번호, 주소 반드시 확인 (주민등록 등본과 일치 원칙)
강의 기법과 상황대처 경기도 마약퇴치운동본부 김이항 약사 10.
Vision System Lab, Sang-Hun Han
IoT(사물인터넷) 보안 2016년 2학기 3. 라즈베리파이 gpio.
IoT(사물인터넷) 보안 2016년 2학기 4. 라즈베리파이 카메라.
개발 환경 설치 Embedded System Software
아두이노 활용 SW코딩 시작하기 아두이노 소개 개발툴 다운로드 USB 드라이버 설치하기 개발툴 실행하기
PIC는 우리의 친구 한국정보통신대학교 디지털미디어연구소.
Smart IoT 설계 시스템 Lecture 07. 센서와 액츄에이터 실습.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 1-1 C 언어의 개론적 이야기 프로그래밍 언어란 무엇인가? 컴파일이란 무엇인가? 사람과 컴파일러가 이해할 수 있는 약속된 형태의 언어 C 언어도 프로그래밍 언어 중 하나이다. 컴파일이란 무엇인가? 프로그래밍.
IoT(사물인터넷) 보안 2016년 2학기 3. 라즈베리파이와 node.js.
아두이노 프로그래밍 1일차 – Part2 아두이노 사양 강사: 김영준 목원대학교 겸임교수.
BIG Data 컴퓨터응용과학부 박진완.
개발 환경 개발 환경 개요 PXA270과 타겟 시스템 툴체인 환경 구축 JTAG 유틸리티 미니컴 Make 유틸리티
에서 ( 탭 – [인기 다운로드 | 모든 다운로드] ) Visual Studio 2015
임베디드 프로그래밍 Lecture #
GPIO RaspberryPi Sejin Oh.
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
누구나 즐기는 C언어 콘서트 제4장 수식과 연산자.
12. 아두이노와 센서를 이용한 제어 - 스마트 폰으로 제어하는 아두이노 -.
Raspberry Pi RaspberryPi Sejin Oh.
IPython Notebook + Spark + TensorFlow on Linux
연산자 대입 연산자 산술 연산자 관계 연산자 논리 연산자 비트 연산자 콤마 연산자 축약 연산자 sizeof 연산자
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
1장. 프로그래밍 언어, C 프로그래밍.
사물인터넷(IoT) 융합실습을 위한 교육용 실습장비
아두이노 프로그래밍 2일차 – Part4 아날로그 키패드 활용하기 강사: 김영준 목원대학교 겸임교수.
1주차: 프로그래밍언어란 무엇인가? C 언어란? C 프로그래밍을 위한 준비
adopted from KNK C Programming : A Modern Approach
RPi2 SPI 8x8 Dot Matrix LED
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
강의 소개, 자료구조의 개념, SW 개발과 자료구조
웹 서버 활용 RaspberryPi Sejin Oh.
Raspberry Pi GPIO PWM Servo Motor
컴퓨터 프로그래밍 기초 - 4th : 수식과 연산자 -
라즈베리파이 기초과정 (1차시) ㈜헬로앱스 강사: 김영준 목원대학교 겸임교수.
IoT(사물인터넷) 보안 2016년 2학기 3. 라즈베리파이와 node.js.
[CPA340] Algorithms and Practice Youn-Hee Han
2015년 2학기 PULSE 4 전자물리실험 09-Servo Motor 제어 - DSU 메카트로닉스 융합공학부 -
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
운영체제 RaspberryPi Sejin Oh.
02강 아두이노 LED 기본 개념 LED Example1 LED Example2 LED Example3
디지털공학 및 실험 디지털 공학: 부울대수를 기반으로 하는 논리적인 회로의 입출력에 대하여 공부하고 이를 응용한 기능을 설계하는 과목. 부울대수: 참, 거짓 두 종류의 입력(출력)데이터와 AND, OR, NOT 등의 연산자사이의 관계를 정의해 놓은 학문분야. 값의 명칭:
4. 아두이노로 LED 제어하기 - 스마트 폰으로 제어하는 아두이노 -.
#1 배열 활용 #include int main(void) { int i; int grade[5]; grade[0] = 10; grade[1] = 20; grade[2] = 30; grade[3] = 40; grade[4] = 50; for(i=0;i.
-Part2- 제1장 1차원 배열이란 무엇인가.
18장. 다차원 배열 그리고 포인터.
Command line tools 한국어 정보의 전산 처리
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express Slide 1 (of 25)
제1회 PNU 코딩경진대회 부산대학교 소프트웨어교육센터.
생체계측 강의록 Medical instrucmentation#8
GDB - GNU Debugger 김진용.
코딩체험교실 아두이노 로봇 코딩 4차산업기술 체험 (SW코딩/자율주행기술).
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
아두이노 프로그래밍 Lecture #
인천SW교육지원센터 체험프로그램 라즈베리파이 이용 포토부스 만들기.
C.
붙임#1 V4308(다산네트웍스) 개량개선 내역(1.09) 네트워크기술지원본부 유선액세스망기술지원담당 1.
전문건설업의 정도경영 기업생존의 핵심요소 성건회 투명사회실천위원회 성건회 투명사회실천위원회 안녕하십니까!
라즈베리파이를 활용한 NAS 만들기.
3. Arduino 실습 – 아날로그 입력(1) 아날로그 입력 – 먼지 센서 먼지 센서 개요 먼지 센서 특징 먼지 검출 센서
Presentation transcript:

GPIO RaspberryPi Sejin Oh

GPIO

GPIO GPIO GPIO (General Purpose Input Output) 마이크로프로세서가 주변장치와 통신하기 위해 범용으로 사용되는 입출력 포트 입력과 출력을 마음대로 선택할 수 있고, 0과 1의 출력 신호를 임의로 만들어줄 수 있는 구조를 가진다. GPIO 라이브러리 라즈베리 파이의 GPIO를 제어할 수 있는 언어 C, C++, C#, Python Perl, Ruby, Java등 매우 다양함 각 언어에 따라 사용자들이 GPIO 라이브러리를 제작하여 공유하고 있다. wiringPi : 공개된 라이브러리 중 GPIO 제어 속도가 빠름

GPIO GPIO Raspberry Pi b+ GPIO 핀 배치

GPIO GPIO Library 설치 라즈베리 파이의 업데이트 및 업그레이드 실시 소스 관리 툴인 git을 다운로드 Git을 이용하여 “Wiring Pi” 라이브러리를 다운로드 $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install git-core $ git clone git://git.drogon.net/wiringPi

GPIO GPIO Library 설치 빌드 및 설치 진행 설치 확인 $ cd wiringPi $ ./build $ gpio -v 설치 확인 (예시) Gpio version: 2.08 Copyright © 2012-2013 Gordon Henderson This is free software with ABSOLUTELY NO WARRANTY For details type: gpio –warranty This Raspberry Pi is a reversion 2 board

GPIO GPIO 출력 테스트 GPIO의 출력을 이용하여 LED on/off 제어 테스트 LED 회로를 구성하여 GPIO에 High 값을 출력해주면 LED는 켜짐 GPIO에 Low 값을 출력하게 되면 LED는 꺼짐 LED 2개, 저항 220Ω 2개, GPIO 23번 핀 이용

GPIO GPIO 출력 테스트 작업 폴더 생성 및 이동 프로그램 작성 $ mkdir led $ cd led $ sudo nano led.c

GPIO GPIO 출력 테스트 #include <stdio.h> #include <wiringPi.h> #define LED 23 int main(void) {   if(wiringPiSetupGpio()==-1)     return 1;   pinMode(LED, OUTPUT);   while(1)   {     digitalWrite(LED, 1);     delay(500); // ms     digitalWrite(LED, 0);     delay(500);   }   return 0; }

GPIO GPIO 출력 테스트 프로그램 빌드 프로그램 실행 $ sudo gcc –o led led.c -lwiringPi $ sudo ./led

GPIO GPIO 출력 테스트 GPIO의 출력을 이용하여 LED on/off 제어 테스트 LED 회로를 구성하여 GPIO에 High 값을 출력해주면 LED는 켜짐 GPIO에 Low 값을 출력하게 되면 LED는 꺼짐 LED 2개, 저항 220Ω 2개, GPIO 23번 핀, 24번 핀 이용

GPIO GPIO 출력 테스트 작업 폴더 생성 및 이동 프로그램 작성 $ mkdir led2 $ cd led2 $ sudo nano led2.c

GPIO GPIO 출력 테스트 #include <stdio.h> #include <wiringPi.h> #define LED1 23 #define LED2 24 int main(void) {   if(wiringPiSetupGpio()==-1)     return 1;   pinMode(LED1, OUTPUT);   pinMode(LED2, OUTPUT);   while(1)   {     digitalWrite(LED1, 1);     digitalWrite(LED2, 1);     delay(500); // ms     digitalWrite(LED1, 0);     digitalWrite(LED2, 0);     delay(500);   }   return 0; }

GPIO GPIO 출력 테스트 프로그램 빌드 프로그램 실행 $ sudo gcc –o led2 led2.c -lwiringPi $ sudo ./led2

GPIO Five LED Lighting

GPIO Five LED Lighting 결과확인

GPIO 응용 – Five LED Lighting 5개의 LED 순차적으로 ON/OFF

GPIO GPIO 출력 테스트 python을 이용한 LED on/off 테스트 $ sudo python import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(23, GPIO.OUT) GPIO.setup(24, GPIO.OUT) while (True): GPIO.output(23, True) GPIO.output(24, True) time.sleep(0.5) GPIO.output(23, False) GPIO.output(24, False)

GPIO GPIO 입력 테스트 스위치 회로 스위치의 on/off 신호에 따라 LED가 켜지고 꺼지는 실습 스위치에 10KΩ 연결

GPIO GPIO 입력 테스트 LED : 220Ω Button : 10KΩ 스위치 회로 - 회로도

GPIO GPIO 입력 테스트 프로그램 작성 작업 폴더로 이동 $ sudo cd ~/gpio $ sudo nano input.c pinMode(SW, INPUT); while(1) { digitalWrite(LED1, 0); digitalWrite(LED2, 0); if(digitalRead(SW) == 1) digitalWrite(LED1, 1); digitalWrite(LED2, 1); delay(1000); } return 0; #include <stdio.h> #include <wiringPi.h> #define LED1 23 //gpio 23 #define LED2 24 //gpio 24 #define SW 25 //gpio 25 int main(void) { if(wiringPiSetupGpio() == -1) return 1; pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT);

GPIO GPIO 입력 테스트 프로그램 작성 프로그램 빌드 프로그램 실행 $ sudo –o input input.c -lwiringPi 프로그램 실행 $ sudo ./input

GPIO 안전 종료를 위한 매크로 버튼 종료 버튼 실습에서는 GPIO 입력으로 23, 16번을 사용, 스위치에 10KΩ 연결

안전 종료를 위한 매크로 버튼 – buttonforhalt.c GPIO 안전 종료를 위한 매크로 버튼 – buttonforhalt.c #include <stdio.h> #include <wiringPi.h> #define BT1 23 #define BT2 16 int main(void){ if (wiringPiSetupGpio() == -1){ return 1; } pinMode(BT1, INPUT); pinMode(BT2, INPUT); while (1){ if (digitalRead(BT1) == 1){ printf("POWER OFF\n"); system("sudo poweroff"); delay(1000); } if (digitalRead(BT2) == 1){ printf("System Restart\n"); system("sudo reboot");