목록RaspberryPi/Raspberry Pi Zero (30)
행복한 하루
안녕하세요. 라즈베리 파이 제로 W를 사용해본 결과 UI 프로그래밍 하기는 힘들다는 생각이 들었습니다. 그리고 OpenCV 컴파일 시간 등 작업하는 시간이 오래 걸려서 간단한 CCTV 모니터링 정도로 사용할 수 있을 것으로 보였습니다. 즉, 화면 출력하려면 해상도를 낮추어서 작업을 하는 것에 적합하다고 생각됩니다. 최근에 향상된 Zero 2 W 버전이 나왔다고 해서 확인해보았습니다. 라즈베리파이 사이트에서는 15달러라고 컴퓨터라고 말하고 있지만, 지금 반도체 대란으로 국내에서 구하기 힘들고 지금 시점에 구매하려면 외국에서 원래 가격에 몇 배를 주고 구매해야 합니다. 1. Raspberry Pi Zero 2 W Specification 2. 제품 구성 - 보드만 구매하면 발열로 인해 성능 저하가 생길 것 ..
안녕하세요. 이번에는 생활 속에 볼 수 있는 리모컨을 이용해 보겠습니다. Pioneer600 모듈에는 IR Receiver 센서가 부착되어 있습니다. 이 부품은 집에서 사용하는 TV 리모컨 신호를 받을 수 있는 기능을 합니다. 그럼 한번 IR에 대해서 알아보겠습니다. 1. IR 원리 (1) 적외선(Infrared Ray) 이란 적외선은 가시광선 780㎚보다 긴 파장으로 레이저, 전파 등과 함께 가시광선 밖의 영역으로 구분된다. 적외선은 열적 작용이 강해 열선으로 불리며 가열, 건조, 생체에 대한 온열 효과로 이용된다. 파장의 길이에 따라 분류하면 파장 0.75∼3㎛의 적외선을 근적외선, 3∼25㎛의 것을 적외선, 25㎛ 이상의 것을 원적외선이라 한다. 근적외선은 열작용 외에 사진 작용, 광전 작용, 형광..
안녕하세요. 이번에도 온도센서에 대해서 확인해보겠습니다. 기압 센서 할 때도 나오고, 습도 센서 할 때도 나오는 기초적인 센서인데 또 등장했습니다. 그러나 센서들마다 통신 방식(I2C, ADC)이 있기 때문에 이번에는 1-wire 방식을 알아본다고 생각하시면 도움이 될 겁니다. - DS18B20 장착할 때 방향 주의하시기 바랍니다. 1. 1-wire 통신 이해하기 - 우선 DS18B20 센서의 배선하는 2가지 방법에 대해서 확인해보겠습니다. (DS18B20 Datasheet 참고) - uP(마이크로 프로세서) 쪽, 제어 신호를 보내는 쪽을 Master(마스터)라고 합니다. 그리고 센서 쪽을 명령어를 받아 응답해주는 쪽을 Slave라고 합니다. - 1선으로 통신하다 보니, 마이크로 프로세서(MCU)에서 D..
안녕하세요. 이번에는 시계를 사용해보도록 하겠습니다. 그런데 Pioneer 모듈에는 시계로 보이는 것이 없는데라고 하실 텐데, 모듈에는 Real Time Clock( RTC)라고 하는 칩이 장착되어 있습니다. 이것을 이용해서 초기 설정을 해주고 코인 건전지(시계 건전지)를 넣어주면 전원이 없어도 일반 시계처럼 동작합니다. 이전 메인보드에도 코인 건전지가 포함되었지만, 최근에는 슈퍼 케패시터 등 다른 방법으로 배터리를 대체하고 있습니다. 1. RTC (實時間時計, Real Time Clock)란 현재의 시간을 유지시키는 컴퓨터 시계이다. 이 용어가 개인용 컴퓨터, 서버, 임베디드 시스템의 장치를 일컫기도 하지만 실시간 시계는 정확한 시간을 유지해야 하는 거의 모든 전자기기에 존재한다. 실시간 시계는 컴퓨터..
안녕하세요. 이번에는 부착된 기압을 측정하는 센서를 이용해보도록 하겠습니다. Pioneer600 소스상에는 BMP180도 있고 BMP280도 있습니다. 그러나 실제 장착된 것은 BMP280이므로 이 모듈로 확인해보겠습니다. (소스코드가 Pioneer600 제품에서만 동작되는 것이 아니라, I2C로 BMP280 모듈을 연결하면 사용할 수 있으니 소스코드를 참고하시면 조금이나마 도움되지 않을까 합니다.) 1. 기압 센서 란 - BMP180 센서 테스트하면서 찾은 자료가 있어 링크로 대신하겠습니다. https://remnant24c.tistory.com/175 아두이노 나노를 이용한 GY-68(BMP180)기압/온도센서 테스트 안녕하세요. 이번에는 대기압 측정하는 BMP180 센서를 테스트해보았습니다. 사실 ..
안녕하세요. 네 번째 시간으로 사용하는 라즈베리파이 I/O 포트가 부족하면 어떡해야 할까요? 다른 라즈베리파이를 연결해서 통신해서 사용해야 할까요? 음… 그렇게도 사용하면 되지만, 가성비가 좋은 방법을 찾아야 할 것입니다. 그래서 나온 I/O expansion 칩이 있습니다. 회사들은 여러 곳 있지만, 모듈에 장착된 것을 이용해서 조이스틱, LED를 제어해 보겠습니다. 1. PCF8574 데이터 시트 확인 1) 2 GENERAL DESCRIPTION The PCF8574 is a silicon CMOS circuit. It provides general purpose remote I/O expansion for most microcontroller families via the two-line bidir..
안녕하세요. 세 번째 시간으로 버튼에 대해서 알아보도록 하겠습니다. Pioneer600에 보면 작은 조이스틱이 하나 있는데 회로를 보면 PCF8574 IC에 붙어 있습니다. KEY A, KEY B, KEY C, KEY D 4방향으로 인식할 수 있게 되어 있습니다. 그런데 여기서 하나 더 CTR 핀이 있는데 이것이 가운데를 꾹 누르면 입력을 받을 수 있게 되어 있습니다. 이것을 가지고 이용해보도록 하겠습니다. 1. 회로 확인 - 조이스틱 부분의 회로는 다음과 같이 연결되어 있습니다. 여기서 CTR에 연결해서 Key Press를 처리해 보도록 하겠습니다. - CTR은 라즈베리파이 제로 P28 핀과 연결되어 있습니다. - 여기서 주의할 점은 핀 번호입니다. wiringPi와 BCM 라이브러리의 핀 번호가 다르..
안녕하세요. 두 번째 시간으로 PWM으로 LED를 제어해보겠습니다. 이전에 내용도 있지만, 모듈이 바뀌었으니 다시 한번 내용 추가해서 확인해보겠습니다. 1. Pioneer600 LED 회로 확인 - 첫 번째 시간에서는 On/Off만 확인했고 회로를 보지 않았습니다. 그래서 회로를 확인하면 아래와 같이 되어 있습니다. - D1 LED가 일반 핀으로 제어할 수 있게 연결되어 있고 D3는 전원과 연결되어 있고, D2는 이후 강의에 나오겠지만, PCF8574라고 해서 8-bit I/O expander for I2C-bus와 연결되어 있습니다. 그래서 나중에 한 번 더 LED 제어할 때 보게 될 것입니다. 2. 소스 확인 - 소스를 보기 전에 하나 더 확인해야 할 것이 있습니다. 소스 구성이 wiringPi와 p..
안녕하세요. 라즈베리파이 제로로 제어 학습할 수 있는 Pioneer600이라는 모듈을 찾았습니다. 그래서 이 모듈을 통해 센서와 조이스틱 등 프로그래밍하는 방법을 몇 편으로 해서 잘 되는지 테스트해보도록 하겠습니다. 센서가 많이 달린 것은 아닌데(별도로 구매), 통신과 조작 등에 대해서 프로그래밍 방법들을 배울 수 있어 좋을 것 같습니다. (판매되는 곳마다 가격이 차이가 있던데, 5만 원 이상인 곳은 구매 마시고 그 아래 가격에 파는 곳을 찾아보세요.) 그리고 회로도도 공개되어 있어 필요한 곳에 적용해보셔도 될 듯합니다. 진행 내용은 제공해주는 매뉴얼 기반으로 테스트해보면서 잘 안 되는 부분은 수정하면서 해보도록 하겠습니다. 소스는 BCM2835 library 이용하거나 Wiring, python 으로 ..
안녕하세요. 이번에는 180도 회전하는 소형 서브 모터(Servo Motor) SG-90을 제어해보도록 하겠습니다. 서보 모터를 제어하기 위해서는 사전에 알아 두어야 할 PWM이라는 기술이 있는데, 우선 확인해보고 시작하도록 하겠습니다. 1. PWM (Pulse Width Modulation) 펄스폭 변조(Pulse Width Modulation, PWM) 방식은 펄스의 폭을 조절하는 방식입니다. 때때로 PDM(pulse-duration modulation)이라고도 합니다. 설명을 조금 더 쉽게 하자면 출력 전압값(5 Volt)을 기준(1 cycle)으로 이를 일정한 비율(duty) 동안에는 켠 상태(High)로 유지하고 나머지는 끈 상태(Low) 값으로 시간을 조정한다고 보면 쉽지 않을까 합니다. 5V..
안녕하세요. MusicBox 실패 후 usb sound card를 장착하여 테스트해 보았습니다. 어떻게든 소리를 듣기 위해서... ^^ 1. USB SOUND CARD 연결 - 라즈베리파이 제로 전원을 켜고 준비해둔 usb sound card를 전원 옆에 microUSB에 연결하면 됩니다. 그런데 문제가 있는 것이 microUSB 5pin이다 보니 타입을 변환해주는 케이블이 필요합니다. 라즈베리파이 W Basic Kit를 구매했다면 같이 들어 있습니다. 그렇지 않고 본체만 있는 키트를 구매했다면 별도로 구매해야 합니다. - USB Sound Card를 연결했다면 장비가 접속되었는지 메시지를 확인해봅니다. 새로운 장비로 해서 연결된 사운드카드의 정보를 확인할 수 있습니다. pi@raspberrypi:~ $..
안녕하세요. 지난 강좌에서 블루투스 연동 실패해서 끝날까 하다가 그러면 jessie 버전에 bluealsa를 컴파일해서 실행해보자고 한 번 더 해보았습니다. 아쉽게도 결론을 먼저 알려드리면 이것도 실패했습니다. 한번 보시고 필요한 라이브러리 찾은 방법과 내용을 참고 정도 하시면 되지 않을까 합니다. 2차 시도로 bluetoothctl 버전을 최신으로 해보고 bluealsa 설치를 해서 테스트해 보면 되지 않을까 해서 재시도하였습니다. bluetoothctl 5.43을 5.5로 변경하고 bluealsa도 설치해보았습니다. https://scribles.net/updating-bluez-on-raspberry-pi-from-5-43-to-5-50/ 1. bluetoothctl 5.5.0 버전 설치하기 (bl..
안녕하세요. 앞 MusicBox 강좌를 이어가 보겠습니다. 음악 스트리밍을 하기 위해서는 기본적으로 인터넷(네트워크)이 연결되어 있어야 합니다. 그리고 최신 버전의 라즈베리파이 버전으로 패키지로 업데이트해줍니다. 그리고 음악을 듣고자 한다면 블루투스 이어폰이나 스피커가 연결되어야 할 것입니다. “중요” 결론을 먼저 알려드리면 블루투스 연결을 시도해보려고 했는데 실패했습니다. 현재 jessie OS 버전에서 블루투스 4.1 이어폰을 라즈베리파이 제로에 연결하는 것을 실패하였습니다. 최종적으로 jessie 버전에서 페어링(pair)까지 되었지만, 연결(connect)이 되지 않았습니다. 그러나 최신 라즈베리안(Raspbian) OS에서는 블루투스 이어폰에 connect 되고 aplay로 사운드 출력까지 가능..
안녕하세요. 라즈베리파이 제로의 부족한 점 중의 하나가 이어폰 단자가 없어서 소리를 출력해줄 방법이 없다는 것입니다. 그럼 어떻게 해야 할까요? 네, 다 방법은 있습니다. 소리를 출력할 방법은 3가지 정도 있습니다. 1) HDMI로부터 소리 분리 2) USB Sound 카드 사용 3) 블루투스(Bluetooth) 혹은 Wi-Fi로부터 소리 출력 이 중에서 3번의 블루투스 스피커를 이용해서 소리를 출력해보도록 하겠습니다. 그리고 사운드만 듣기를 부족하기 때문에 MusicBox라는 OS 프로그램으로 하나의 음악을 재생해주는 하나의 장비로 변화시켜보겠습니다. 0. MusicBox 설명 Make your Raspberry Pi stream! Welcome to the Swiss Army Knife of stre..
안녕하세요. 이전 강좌를 조금 더 연장해서 오픈소스를 적용해보도록 하겠습니다. 이전 강좌에서는 abba 이미지에서 얼굴을 확인했다면 이제 카메라 혹은 WebCam를 통해서 raspberry pi zero로 얼굴인식이 가능한지 테스트해 보겠습니다. 결론을 먼저 말씀드리면, 인식은 가능하다. 그러나 엄청 느려서 얼굴 카메라에 맞추고 몇 초 있어야 인식이 되는 것을 확인할 수 있었습니다. 그럼 어떻게 작업하는지 작업해보겠습니다. 0. 사전작업 - 이전 카메라 작업을 해오셨다면 이미 되어 있을 것으로 생각됩니다. 그러나 처음 보시는 분이라면, Raspberry Pi Configuration 메뉴에서 기본 설정을 Enabled로 바꿔줍니다. - 설정(Configuration)에서 Interfaces 탭 메뉴로 이..
안녕하세요. 이전 강좌처럼 OpenCV를 문제없이 잘 설치했다면, 파이썬을 통해서 간단한 얼굴인식 프로그램을 실행시켜보도록 하겠습니다. 조금 오래된 소스이지만 간단한 테스트와 소스 확인용으로는 괜찮지 않을까 합니다. 먼저, 내용을 알려드리면 사실 이전 강좌의 컴파일이 소용없게 되었습니다(?). 테스트하려던 소스가 에러가 발생한다기보다는 OpenCV 버전이 라즈베리파이 제로 버전 때문인지, OpenCV 버전 때문인지 정확하게 알지는 못했지만, makefile이 생성되지 않아서 이전에 작업했던 내용이 되지 않았습니다. 그럼 결론은…. 최신 4.5 버전이 빌드되지 않아서 패키지 형태로 받아서 OpenCV 3.2 버전으로 실행하면 작동되었습니다. 우선 어떤 빌드하기 위해서 어떤 작업을 했는지 보면 1. Open..
안녕하세요. 이번에는 카메라 연장 강좌로 OpenCV로 이미지를 분석하는 것을 해보려고 합니다. 그래서 먼저 해야 할 것이 OpenCV 라이브러리들을 설치하는 것입니다. OpenCV는 컴퓨터 비전을 위한 라이브러리입니다. 그리고 얼굴인식, 비디오 트래킹, 이미지와 비디오 처리하는 목적으로 사용된다고 잘 알려 있습니다. 얼굴 인식을 테스트하기에 괜찮은 라이브러리입니다. 그러나 설치하는 것이 조금 어려움이 있을 수 있습니다. 그래서 이번 편과 다음 편에 걸쳐 간단하게 사진에서 얼굴을 인식하는 것을 테스트해 보겠습니다. (그러나 설치 내용이 조금 길어져 다음 편에서 얼굴 인식하는 내용을 다루도록 하겠습니다. - build 하는 시간이 오래 걸림) 이전 강좌에서 사용했던 MotionEye는 사용할 필요 없고, ..
안녕하세요. 카메라로 동영상 녹화하고, 스틸 사진 찍는 것은 이전 편에서 테스트해보았습니다. 이제 라즈베리파이 제로를 감시 카메라로 변신시켜보겠습니다 MotionPie로 이전에 나왔는데, 최근에는 이름이 motioneye로 바꿨습니다. 1. 감시 카메라 OS 다운로드하기 https://github.com/ccrisan/motioneyeos/releases 사이트에서 최신 버전을 받습니다. 제로 전용 버전이 이름이 없기 때문에 기본형으로 다운로드합니다. montioneyeos-raspberrypi-dev20201026.img.xz 2. MotionEyeOs 설치하기 - 다운로드한 파일을 SD Card에 설치를 해줍니다. 이 방법은 처음에 SD Card에 라즈베리파이 OS를 Flash 시키는 방법과 동일합니..
안녕하세요. 라즈베리 파이 제로에 카메라 연결해서 몇 가지 테스트를 해보겠습니다. 테스트해 볼 카메라는 CMOS 카메라로 5 Mega Pixel 해상도를 가진 카메라 모듈입니다. 스펙을 잠깐 보면 - 이미지 해상도 : 2592 ×1944p - 동영상 해상도 : 1080p30, 720p60, 640×480p60/90 지원 - 화각 : 72.4° - 초점 방식 : 조절 가능한 고정식 렌즈 - 칩셋 : OV5647 - 크기 : 60mm × 11.5mm × 5mm - 제조사 : waveshare 그리고 이 카메라 모듈은 zero 시리즈만 가능합니다. (zero, zero W, WH ) 카메라 작동 방법만 알기에는 부족한 면이 있으니 필요 상식 조금 더 알아보겠습니다. 카메라에 IR 필터라는 개념이 있습니다. I..
안녕하세요. 라즈베리파이 제로 제품으로 UI 프로그램이 지원되기 때문에 무겁지 않은 프로그램 같은 경우 UI 프로그램을 개발 가능할 것으로 보입니다. 그리고 외부에서 입력/출력이 되려면 터치가 되는 LCD가 좋은 선택이 되리라 생각됩니다. 그래서 이번에 5인치 터치 모델을 테스트해보게 되어서 내용 공유해봅니다. 1. 간략 설명 TI사의TFP401 칩이 적용되어 있고, 저항막 타입의 터치패널 드라이버 AR1100 USB를 지원합니다. TFP401은 TTL 디스플레이를 DVI/HDMI 디코더로 암호화되지 않은 비디오를 받아 raw 24 bit 컬러 픽셀 데이터로 출력합니다. 기본적으로 1,080p까지의 25-126MHz 픽셀 클럭의 어떤 해상도도 디코딩이 가능합니다. 모듈에는 백라이트(Backlight) 드..