전체 글62 #3 온도센서 온도 센서를 사용해서 피부의 온도를 측정하고 LED를 통해서 표현해보도록 해볼께요. 회로 구성에 필요한 준비물은 아래와 같아요. - LED - 220 OHM 레지스터 - 온도센서 - 아두이노 - 빵판 - 점퍼선 자 그럼 시작해 볼까요. 먼저 아래와 같이 아두이노와 빵판에 회로를 구성합니다. LED는 아두이노의 디지털핀에 연결을 하고 온도센서는 아날로그핀에 연결을 합니다. 이유는 LED는 0과 1로 제어가 가능하지만 온도 센서는 그 값이 범위를 가진 숫자로 나오기 때문입니다. 그리고 위의 회로에 따라서 실제 회로를 구성해 볼께요. 짠 아래처럼 회로가 구성되었습니다. 그럼 센서 제어를 위한 코드를 한번 볼까요. 전체적인 구성은 어렵지 않습니다. 온도센서에서 값을 읽어서 그 값에 맞춰서 적절히 LED를 켜주거.. 2020. 11. 13. #2 디지털 핀 입출력(Spaceship Interface) 이번 시간엔 아두이노(Arduino)의 디지털(digital) 핀(Pin)의 입력(Input)과 출력(Output)에 대해서 알아보겠습니다. 간단한 회로를 아래처럼 설계할께요. 스위치 버튼으로 입력을 받아서, 버튼이 눌렸으면 붉은색 led를 깜박거리게 하고 눌려지지 않았다면 초록색 led를 켜는 회로입니다. 버튼이 눌려졌음을 감지해서 각각 다른 일을 해야 하므로 아두이노에 간단한 조건문이 들어간 프로그램을 해주면 될것같습니다. 위의 그림에서 보면 led는 디지털 3, 4, 5번에 연결되어 있고 스위치는 2번에 연결되어 있습니다. 디지털 핀은 입력 또는 출력 모드로 설정할 수 있습니다. 이 예제에서 스위치는 입력으로, led는 출력으로 설정이 됩니다. 그리고 각각의 핀은 high, low의 두가지 상태값을.. 2020. 10. 12. 베리어 - 무료 마우스 키보드 공유 유틸 베리어(Barrier) 프로그램을 사용하면 여러개의 컴퓨터를 사용할 때 키보드와 마우스를 공유할 수 있습니다. 이 유틸은 널리 알려진 시너지(Synergy)에서 파생된 오픈소스 프로그램입니다. 저는 맥(Mac)을 메인으로 사용하고 노트북에 우분투를 설치해서 같이 사용하고 있습니다. 이런 경우, 베리어를 사용하면 맥의 키보드와 마우스를 우분투가 설치된 노트북에서 (듀얼스크린을 사용하는것처럼) 자연스럽게 사용할 수 있습니다. 베리어 설치하기 맥 또는 윈도우 사용자는 github의 릴리즈 페이지에서 프로그램을 받을 수 있습니다. 리눅스 사용자라면 여기서 패키지 정보를 확인할 수 있습니다. 또는 스냅(snap)에서 설치도 가능합니다. 베리어 설정하기 프로그램 설치 후 실행을 하면 서버 또는 클라이언트를 선택해야.. 2020. 10. 9. #1 기초회로 (Get To Know Your Project) 아두이노(Arduino) 스타터 키트에 들어있는 Arduino Projects Book에는 총 15개의 프로젝트가 설명되어있습니다. 차근차근 하나씩 직접 회로를 만들어보고 코드를 실행해 보면서 아두이노를 익혀보겠습니다. 회로(Circuit) Transducer는 전기 에너지를 다른 타입의 에너지로 바꿔주거나 혹은 그 반대의 역할을 합니다. 그 중에서 전기에너지를 타른 형태의 에너지로 바꿔주는 것들을 액츄에이터(Actuator)라고 하고 다른 형태의 에너지를 전기 에너지로 바꿔 주는 것들은 센서(Sensor)라고 부릅니다. 회로(Circuit)은 이러한 Transducer들 사이에서 전기가 흘러 어떤 유용한 역할을 하도록 설계된 무언가를 의미합니다. 즉, 전류를 흐르게 해서 어떤 모터를 움직이게 하거나, .. 2020. 10. 8. 야생 까치가 스스로 쓰레기 수거를? 오늘 소개해드릴 프로젝트는 까치가 쓰레기를 가져오면 사료를 주는 장치입니다. 까치가 병뚜껑을 물어와서 수거함에 넣으면 사료가 하나씩 나오는 장치입니다. 까치가 스스로 병뚜껑을 찾아오다니.. 정말 신기합니다. 먼저 까치가 병뚜껑을 찾아옵니다. 그리고 수거함에 병뚜껑을 넣어주네요. 잠시 기다리면 사료가 떨어집니다. 그리고 맛있게 냠냠먹네요. 이 장치를 위해서 라즈베리파이와 아두이노가 사용되었습니다. 라즈베리파이에 전반적인 시스템을 제어할 수 있는 코드가 들어가 있고 아두이노에선 수거함에 병뚜꺼잉 수거가 되었는지를 체크 합니다. 까치가 언제 몇개의 병뚜껑을 수거해왔는지 관련 로그 데이터 볼 수 있는 GUI 프로그램도 라즈베리파이에서 실행되네요. 이 프로젝트를 보면서 궁금했던 점은 어떻게 까치를 훈련시켰을까 였.. 2020. 10. 6. #9 클래스(Class) 이번 시간에는 클래스에 대해서 알아보겠습니다. 클래스는 설명해야할것이 많은 주제입니다. 하지만 이 강좌에선 아주 기본적인 개념에 대해서만 배워보도록 하겠습니다. 클래스(Class)란? 클래스는 객체(Object)를 생성하기 위한 확장 가능한 코드의 집합이라고 볼 수 있습니다. 클래스는 상태를 제공하는 값 또는 변수들과 기능을 제공하는 함수로 이뤄져 있습니다. 조금 어려운 말들이 많이 나온것 같습니다. 비유적으로 표현해보면, 클래스는 어떤 물건을 찍어내기 위한 일종의 틀 이라고 생각할 수 있습니다. 객체는 그 틀을 이용해서 찍어내는 실제 물건이라고 할 수 있구요. 다만 클래스는 간단한 틀과는 다르게 다양한 기능을 가진 복잡한 객체도 생성할 수 있게 합니다. 클래스는 왜 필요할까? 어떤 기능을 파이썬 코드로.. 2020. 10. 5. 라즈베리파이 아두이노 연동하기 라즈베리파이(Raspberry Pi)의 장점은 라즈베리파이 자체가 리눅스 기반의 소형 컴퓨터라는 점입니다. 즉, 우리가 데스크탑에서 할 수 있는 작업들을 라즈베리파이에서도 시도해 볼 수 있습니다. 또한 무선랜과 블루투스가 사용 가능하고 웹캠과 같은 다양한 USB 기기를 사용할 수 있습니다. 또한 GPIO를 통해 여러 장치들을 제어할 수 도 있습니다. 반면, 아두이노(Arduino)는 하드웨어적으로 구현된 PWM을 통해서 정밀하게 모터와 같은 기기들을 제어할 수 있습니다. 하지만 아두이노는 하드웨어 제어에 특화되어있기 때문에 라즈베리파이가 가지는 소형 컴퓨터로써의 장점은 가질 수 없습니다. 그래서 저는 라즈베리파이와 아두이노를 연결해서 사용해 볼려고 합니다. 즉, 라즈베리파이는 소프트웨어를 담당하고 아두이.. 2020. 9. 30. 아두이노 시작하기 새로산 아두이노(Arduino)를 가지고 이제 한번 놀아봐야겠습니다. 같이 한번 시작해 볼까요? 소프트웨어 다운로드 및 설치 먼저 아두이노 IDE를 다운 받아서 설치해야 합니다. 브라우저에서 아래 공식 사이트의 소프트웨어 다운로드 주소로 이동해 주세요. www.arduino.cc/en/Main/Software Arduino - Software By downloading the software from this page, you agree to the specified terms. THE ARDUINO SOFTWARE IS PROVIDED TO YOU "AS IS" AND WE MAKE NO EXPRESS OR IMPLIED WARRANTIES WHATSOEVER WITH RESPECT TO ITS FUN.. 2020. 9. 29. 아두이노 스타터 키트 개봉기 아두이노 우노(Arduino Uno) 스타터 키트(Starter Kit)를 구매했습니다. 가격은 약 10만원정도 했던것 같아요. 모가 들어있는지 같이 한번 개봉해 볼께요. 먼저 박스는 이렇게 생겼어요. 생각보다 크진 않아요. 박스를 열면, 책이 한권 보이네요. 영어로 된 책이에요. 책을 꺼내면 스티커가 들어있네요. 껍데기를 한번더 빼면, 이제 부품들이 보입니다. 하나씩 까볼께요. 먼저 electronic Components 박스입니다. 모가 잡다하게 많이 들어있어요. 그리고 Liquid Crystal Display 입니다. 이건 모터에요. 아주 작은 서보모터 (Servo Motor) 하나와 DC 모터 하나가 들어있어요. 그리고 이 키트의 핵심인 아두이노 보드 입니다. 케이블 상자에는 USB 케이블만 하나.. 2020. 9. 26. #8 함수(Functions) 함수란? 파이썬(Python)에서 함수는 어떤 입력을 받고, 받은 입력을 처리해서, 처리한 값을 반환 하는 코드를 말합니다. 함수는 def 라는 키워드를 사용해서 정의할 수 있습니다. 함수가 왜 필요할까? 함수를 사용해서 반복적으로 사용되는 비슷한 코드를 간략하게 대체할 수 있기 때문입니다. 함수 안에서 선언된 변수(지역변수, local variables)들은 다른 함수나 외부 코드에게 보여지지 않기 때문에 독립적으로 안전하게 코드를 작성할 수 있습니다. 함수는 코드를 재사용할 수 있게 하고 결과적으로 모듈화를 가능하게 합니다. 함수의 정의 먼저 덧셈을 하는 함수의 예제를 보겠습니다. def add(a, b): c = a + b return c 위의 함수는 add 라는 함수를 def 키워드를 사용해서 정.. 2020. 9. 26. #7 while, for 반복문 이 포스팅에선 반목문에 대해서 알아보겠습니다. 파이썬(Python)에서 반복문은 while과 for를 사용해서 만들 수 있습니다. While 먼저 while을 알아볼께요. while은 while 조건: 의 형태를 띄고 있습니다. 이는 앞서 배운 if와 비슷합니다. 다만 차이점은 if는 한번 검사하고 끝나지만 while은 조건이 참(True)라면 계속적으로 실행이 된다는 것이죠. 아래 코드로 확인해 볼께요. a = 1 # if문은 한번만 조건은 검사합니다. if a == 1: print('a is 1') # while문은 조건이 참(True)라면 계속 반복적으로 관련 코드 블럭을 실행합니다. while a == 1: print('a is 1') 이번엔 while 구문이 일정 횟수만 동작하도록 해볼께요. w.. 2020. 9. 24. #6 조건문 (if ~ else ~) 조건(Conditions)과 if 구문 파이썬(Python)에서 조건은 두 값이 '같다', '다르다', '크다', '작다', '크거나 같다', '작거나 같다' 로 나눌 수 있습니다. 이런 조건들은 파이썬의 if 구문과 함께 쓰이며, 'if 조건:' 의 형태로 사용되어집니다. 그 의미는, 만약 조건이 참(True)라면 관련 코드블럭을 실행하라는 것입니다. 즉, 어떤 조건이 만족 될 때, 특정 코드를 실행하라는 의미이죠. 그럼 코드로 확인해 볼께요. 아래 예제에서느 변수 a가 2와 같다면 'a is 2'를 출력하고 아닐 경우엔 'a is not 2'를 출력하는 조건문입니다. 코드 첫줄에 변수 a에 2를 할당 했기 때문에 변수 a는 2가 되어서 'a is 2'라고 출력이 되게 됩니다. a = 2 if a ==.. 2020. 9. 23. 이전 1 2 3 4 5 6 다음