Embedded/Raspberry Pi Pico 17

Raspberry Pi Pico와 기울기 센서(SZH-EK084)로 간단한 기울기 테스트하기

안녕하세요.  업체의 Push 스위치를 누르면 기울어지는데, 그때 상태를 알고 싶고, 비용을 최소화하고 싶다고 해서 찾아보다가 간단한 센서가 있어 확인해 보았습니다. 사실, 기울기 센서(Gyro Sensor), 접점 센서 등 적용할 수 있는 것들은 많이 있었습니다. 저가이기도 하고 어느 정도 사용가능할지 확인 차 테스트해 보았습니다.  1. SZH-EK084 모듈 특징과 크기  2. 테스트 방법  Raspberry Pi Pico와 기울기 센서(SZH-EK084)를 사용하여 간단하게 기울기를 테스트했습니다. 기울기 센서(SW-520D)는 작은 공이 움직이면서 회로의 접촉 여부에 따라 기울기를 감지하는 원리로 동작합니다. 이 센서를 사용하여 디바이스의 기울어짐을 감지합니다.   SZH-EK084 모듈은 기울..

Raspberry Pi Pico W에서 BLE(Beacon) 작동 확인하기

안녕하세요.  이전 글에서 아두이노로 Beacon 만드는 것을 확인해 보았습니다. 정상적인 UUID와 데이터 형태를 사용한 것은 아니지만, BLE를 사용해서 광고 가능한 것을 확인해 보았습니다.   Arduino Nano iot 33를 이용한 센서 데이터 전송 Beacon 만들어 보기안녕하세요.  Arduino Nano iot 33을 가지고 Beacon과 유사한 하게 작동하는 것을 테스트해 보았습니다.그런데, 타업체 BLE 스캐너(BLE to WiFi(MQTT)) 제품이 있는데, UUID를 자체를 센서데이터로 보내는 것remnant24c1.tistory.com    이번에는 Raspberry Pico W를 이용해서 가능한지 테스트해 보았습니다. 관련해서 몇 가지 예제로 된 것들 중 하나를 선택해서 테스트..

Raspberry Pi Pico(라즈베리파이 피코) W5100S-EVB-PICO 테스트하기(C/C++ 버전)

안녕하세요.   Raspberry Pico를 가지고 테스트해보고 있지만, 살짝 아쉬운 것이 네트워크 연결을 할 수 없다는 것입니다. 특히, 원격지에서 제어를 할 수 없고, 단순 반복 제어나 standalone 프로그램으로 동작된다는 것이 아쉬웠습니다. (사실 시리얼 Bluetooth나 별로의 WiFi를 연결해서 가능은 합니다.)   그러다가 찾은 것이 라즈베리파이 피코에 네트워크 모듈을 부착시켜 놓은 제품이 있어 테스트해 보았습니다. WiZnet 제품은 유선과 WiFi 버전으로 나와 있어고, 기존 Raspberry Pico 버전과 호환된다고 나와있습니다.   그리고 최근에, Raspberry Pico W라고 해서 Raspberry 단체에 Pico에 WiFi 모듈을 장착한 정식 제품 출시했습니다. 이 제품..

Raspberry Pi Pico(라즈베리파이 피코) 간단하게 C/C++ SDK 설치 및 빌드해보기

안녕하세요.   Raspberry Pi Pico에 Python을 이용해서 많이들 프로그램을 하는데, C/C++로 프로그램해보고 싶다는 생각이 들어서 간단하게 MicroPython.uf2 올려서 하면 되겠지 생각했는데, gcc 등 설치할 것들이 많고, 이것저것 설정해야 할 것들이 있었습니다. 그래서 간단히 방법을  찾아서 해보았습니다.  단지, 이렇게 동작되겠구나 정도로 보시고, 하나씩 모든 설정해 보면서 방법을 알아 가겠다 하시면 하단 참고 사이트들을 참고하시면 됩니다. 1. 프로그램들 설치  - gcc 컴파일러와 개발 툴 등 이것저것 설치해야 합니다. 그런데 감사하게도 다운로드해서 설치해 주는 자동화 프로그램이 있어서 사용했습니다. https://github.com/ndabas/pico-setup-wi..

Raspberry Pi Pico + dht11를 이용한 온도 습도 테스트와 1 wire 통신 소스 분석

안녕하세요.   hdt11 온도, 습도 센서를 아두이노에서 다루어 보았는데, Raspberry Pi Pico에서도 테스트를 해보자 생각이 들었습니다.  Python으로 된 온도와 습도를 가져오는 부분의 소스 설명은 많이 있지만, 실제적으로 hdt11에 1 wire 통신 쪽을 설명해 주는 자료는 많이 없어서 간단하게 Datasheet 보면서 python으로 된 소스를 확인해 보았습니다.  1. hdt11 연결    핀 설명 : SIG 핀, VCC(3~5.5V), GND 핀으로 구성되어 있으며 hdt11 모듈 자체로 구매하면 SIG 핀  Pull-Up 저항을 부착할 것을 권하고 있습니다. 작은 모듈 타입으로 된 것을 구매하면 저항 붙여서 3핀으로 되어있습니다.   - Raspberry Pi Pico     ..

Raspberry Pi Pico 내부 온도 센서 값 읽기

안녕하세요.  이번에는 Raspberry Pi Pico의 온도센서의 값을 읽어 보도록 하겠습니다. Raspberry Pi Pico에는 내부적 온도 센서가 ADC(Analog to Digital Converters) 한 개의 핀에  연결되어 있습니다. 그래서 이 핀을 이용해서 온도를 디지털로 읽어 볼 수가 있습니다.  1. 하드웨어 구성    Raspberry Pi Pico와 시리얼 통신을 통해서 값을 가져오도록 하겠습니다. 그래서 필요한 것은 Pico와 연결할 수 있는 USB Micro 5 pin케이블만 있으면 됩니다.     Pico 핀 맵을 보면 ADC0, 1, 2 가 있고, ADC_VREF가 있습니다. 그런데 물리적으로 온도 센서는 외부 핀으로 나와 있지 않습니다. 그렇다면 어디에 있을까요? 바로 ..

Raspberry Pi Pico “RP2 Boot” 장치 드라이버 경고가 나타날 경우

안녕하세요. Raspberry Pi Pico가 장치로 잡히지 않는 경우가 발생해서 해결하는 방법을 확인해 보았습니다.  1. 문제 발생 현상   Pico를 컴퓨터에 연결하면 프로그램할 수 있는 장치 드라이버로 잡히지 않고 장치 관리자에 RP2 Boot로 경고가 표시됩니다. 혹은 알 수 없는 장치로 나타납니다.   2. 해결방법 1) Raspberry Pi 사이트 RP2040 링크 UF2 파일 다운로드   Resetting Flash Memory UF2 펌웨어 파일을 받아서 Pico에 넣어 보았습니다.  설명대로 메모리 내용은 정리되었습니다.      그러나 파일만 사라지고 장치 드라이버는 잡히지 않았습니다. 2) MicroPython UF2 펌웨어( 해결 완료 )    Raspberry Pi 사이트에서 ..

[번역 프로젝트] Getting started with Raspberry Pi Pico (Power your Raspberry Pi Pico) – 10 (마지막 편)

안녕하세요.   이번 편은 라즈베리 피코 기초 마지막 내용으로 전원을 어떻게 사용할지에 대한 내용과 실제 파일을 올려서 동작시키는 내용을 담고 있습니다.  아두이노에는 Vin이라고 외부 입력 핀을 만들어 놓고 있습니다. 그런데 Raspberry Pi Pico에서는 VSYS 핀으로 입력을 받으며, 5.5V 이상 받을 수가 없습니다. 그러나 낮은 전압에서 동작할 수 있게 되어있습니다.  Pico 작동 전압이 3.3V인데 입력 전원 범위를 1.8V~5.5V로 하고 있습니다. 이것이 가능한 이유는 벅-부스터 (rt6150b-33gqw)가 장착되어 있기 때문입니다.  벅-부스터를 간단하게 설명하면 출력 전압을 입력 전압보다 낮출 수도, 높일 수도 있는 컨버터입니다. 그렇기 때문에 낮은 전압에서도 사용 가능합니다...

[번역 프로젝트] Getting started with Raspberry Pi Pico (Control an LED with an analogue input) – 9

안녕하세요.   이전 내용에서 For문을 이용해서 자동으로 밝기가 조절되게 했는데, 이번에는 가변저항을 부착해서 아날로그 값으로 읽어서 듀티 값으로 적용하는 것입니다. 추가 부품은 가변저항으로, 가능하다면 1KΩ 이상 되는 저항을 이용하는 것을 추천드립니다. 테스트는 10KΩ으로 하였습니다.  가변저항 값을 변경하여 아날로그 핀에 입력되는 전압을 조절합니다. 그 입력되는 값을 사용하여 LED의 밝기를 제어하는 것입니다.    가변저항으로 LED 밝기 조절하기  Raspberry Pi Pico에는 아날로그 신호를 수신할 수 있는 입력 핀이 있습니다. 즉, 1과 0(켜기 및 끄기)의 값만 읽는 대신 그 사이의 값을 읽을 수 있습니다.  가변저항(Potentiometer)은 이 기능을 위한 완벽한 아날로그 장..

[번역 프로젝트] Getting started with Raspberry Pi Pico (Control LED Brightness with PWM) – 8

안녕하세요.  이번에는 켜고 끄는 것을 넘어서, 밝기를 조절할 수 있는 것을 확인할 수 있습니다.밝기 조절하기 위해서 PWM(Pulse Width Modulation)라는 기술이 필요한데, 간단히 말해서 일정한 주기(주파수) 내에서 파형의 폭(Duty)을 조절해서 밝기(전압)를 저절 한다고 보시면 편하지 않을까 합니다.   PWM으로 LED 밝기 조절하기   Pulse Width Modulation을 사용하면 LED와 같은 디지털 장치에 아날로그 동작을 할 수 있습니다. 즉, LED를 단순히 켜거나 끄는 것이 아니라 밝기를 제어할 수 있습니다.   이 내용에서 마지막(이전) 단계에서 사용한 회로를 사용할 수 있습니다.  Thonny에서 새 파일을 열고 다음 코드를 추가합니다. from machine im..

[번역 프로젝트] Getting started with Raspberry Pi Pico (Use digital inputs and outputs) – 7

안녕하세요.  이번 내용은 GPIO 핀을 통한 입력과 출력을 Button과 LED를 통해 테스트해 보는 것입니다.추가로 준비할 것은 3V 혹은 5V LED 1개와 택트(Tack) 스위치 1개, 저항 1개(50Ω~330Ω), M-M 점퍼 3~4개가 필요합니다.  디지털 입력과 출력 사용하기   이제 기본 사항을 알았으므로 Raspberry Pi Pico로 외부 LED를 제어하고 버튼에서 입력을 읽는 것을 배울 수 있습니다.  아래 이미지와 같이 약 50~330Ω 사이의 저항, LED와 한 쌍의 M-M 점퍼 리드를 사용하여 Raspberry Pi Pico와 연결합니다.(추가 내용 : - LED마다 방향성이 있으므로 멀티 메타기로 확인하거나 육안으로 LED를 안을 볼 때 면적이 작은 쪽이 +로 볼 수 있습니다..

[번역 프로젝트] Getting started with Raspberry Pi Pico (Blink the onboard) – 6

안녕하세요.  이번에는 LED가 일정 주기에 맞추어 깜박이게 하는 내용입니다. 어려운 내용은 없고, 주파수와 시간 관계만 조금 알고 있으면 됩니다.   t(시간)는 1 / f(주파수)라는 공식입니다. 예로 2.5Hz라고 하면 400ms로 신호가 발생한다고 생각하시면 됩니다.    셸(Shell)은 모든 것이 제대로 작동하는지 확인하고 빠른 명령을 시도하는데 유용합니다.  그러나 파일에 더 긴 프로그램 코드를 넣는 것이 좋습니다.   Thonny는 MicroPython 프로그램을 Raspberry Pi Pico에 직접 저장하고 실행할 수 있습니다.   이 단계에서는, 루프 안에서 보드의 LED를 켜고 끄는 MicroPython 프로그램을 만들 것입니다.   Thonny의 기본 편집기 창을 클릭합니다.   ..

[번역 프로젝트] Getting started with Raspberry Pi Pico (Use the Shell) – 5

안녕하세요.   이번 내용은 Thonny Shell 창에서 Python 코드를 입력해서 LED를 간단하게 제어해 보는 것입니다.윈도우 버전으로 실행하지만, 라즈베리파이 OS와 리눅스 상에 Thonny도 크게 차이가 없을 것입니다.    이번 단계에서는 Thonny Shell을 사용하여 Raspberry Pi Pico에서 간단한 Python 코드를 실행하는 것입니다.  Raspberry Pi Pico가 컴퓨터에 연결되어 있고 MicroPython (Raspberry Pi Pico) 인터프리터를 선택했는지 확인해 보세요.  Thonny 편집기 하단에 있는 Shell 패널을 확인합니다. 다음과 같은 내용이 표시됩니다.    (추가 내용 : 연결되어 있지 않다면 다음과 같이 내용을 볼 수 있습니다.)    Th..

[번역 프로젝트] Getting started with Raspberry Pi Pico (Add the MicroPython firmware) – 4

안녕하세요.  이번 내용은 Raspberry Pi Pico에 MicroPython 펌웨어를 설치하는 방법을 알려주는 내용입니다.이전에 Thonny 프로그램에서 펌웨어를 설치하는 방법을 알려주고 있습니다.   Raspberry Pi Pico에서 MicroPython을 사용해 본 적이 없다면, MicroPython을 펌웨어를 추가할 필요가 있습니다.  Raspberry Pi Pico에서 BOOTSEL 버튼을 찾습니다.     BOOTSEL 버튼을 누른 상태에서 마이크로 USB 케이블의 다른 쪽 끝을 컴퓨터에 연결합니다. 아래 이미지에는 Raspberry Pi가 표시되어 있지만 모든 컴퓨터에 동일하게 적용됩니다.     이렇게 하면 Raspberry Pi Pico가 USB 대용량 저장 장치 모드로 전환됩니다...

[번역 프로젝트] Getting started with Raspberry Pi Pico (Install Thonny) – 3

안녕하세요.  이번 내용은 Thonny 설치해서 파이썬으로 Hello world를 출력해 보는 것입니다. 리눅스나 Raspberry Pi OS에서 설치해도 되지만, 많은 분들이 Windows OS를 사용하리라 생각됩니다.  Thonny 프로그램은 대중적인 OS에서 설치될 수 있게 배포되고 있습니다.  Install Thonny   이번 스텝에서는 최신 버전을 확인하고 Thonny를 설치할 것입니다. 그런 후에Raspberry Pi Pico 연결해서 Shell 명령어를 사용해서 단순한 Python Code를 실행해 볼 것입니다.  1. Thonny On Raspberry Pi   - Thonny는 Raspberry Pi에 이미 설치되어 있습니다. 그러나 최신 버전으로 업데이트를 해야 할 수 있습니다.  -..

[번역 프로젝트] Getting started with Raspberry Pi Pico (Meet Raspberry Pi Pico) – 2

안녕하세요.   이번 편은 간단하게 브레드보드에 장착하는 방법입니다. 특별하게 어려운 것은 없고 만약 브레드보드가 없다면 점퍼 케이블로 대신할 수도 있습니다. 점퍼 케이블은 양쪽이 Male(수) 방향이 되어야 합니다.    큰 브레드보드 말고 작은 브레드보드를 구매하시는 것도 하나의 방법이라고 생각됩니다.   https://www.devicemart.co.kr/goods/view?no=1328148 브레드보드 400핀 Half Size Breadboard [SZH-BBAD-005]기존 브레드보드801 제품과 호환되는 400핀 규격의 브레드보드 / 사용가능 와이어 규격 : 20 ~ 29AWG / 82mm X 55mm X 8.5mmwww.devicemart.co.kr   Raspberry Pi Pico 만나..

[번역 프로젝트] Getting started with Raspberry Pi Pico (Introduction) – 1

안녕하세요.   라즈베리파이 피코(Raspberry Pi Pico) 공부도 하고 영어공부도 할 겸 번역을 해보았습니다. 내용과 영어 원문 자체가 전반적으로 학생들이 볼 수 있게 만들다 보니 쉽게 되어 있습니다. 그래서 좀 더 쉽게 번역할 수 있었습니다.   쉬운 내용이지만 실제로 실험해 보고 영어원문 내용에서 부족한 내용이 있다면 추가하면서 번역 시리즈로 올려 보도록 하겠습니다.  1. 소  개   이 프로젝트는 당신이 Raspberry Pi Pico와 다른 컴퓨터와 연결하고 어떻게 MicroPython을 이용하여 Raspberry Pi Pico에 프로그램하는지 배우는 것입니다.  Raspberry Pi Pico는 적은 비용의 마이크로 컨트롤러 장비입니다. 마이크로 컨트롤러는 조그마한 컴퓨터입니다. 그러..