Embedded 105

[강의 링크] 재미있게 배우는 전기회로 강의 목차 및 간단한 정리 1~8회 차

안녕하세요.   최근에 전기 기초에 대한 부분이 다시 기억해 보고자 무료 강의를 찾아보았습니다. 강사분이 직접 설명해 주는 것이 아니라서 조금 설명이 부족할 수 있는데(보충 설명할 때는 동영상으로 추가 설명이 있습니다), PPT로 간단간단 강의 자료가 요약 설명이 잘 되어 있습니다. 그래서 빠르게 볼 수 있습니다. 그리고 간단한 예제들로 알려주고 있어 다시 기억해 본다는 차원에서 볼 만했습니다. 1. 강의 목차   1회 차 전기의 기초  2회 차 전기회로와 옴의 법칙  3회 차 키르히호프의 법칙  4회 차 전기회로의 노드 해석법  5회 차 전기회로의 폐로해석법  6회 차 다양한 회로 해석 기법  7회 차 연산 증폭기의 원리와 응용  8회 차 전기와 자기의 상호작용  9회 차 커패시터와 인덕터  10회 차..

Raspberry Pi 가상환경(-m venv)에서 add_event_detect 에러 발생 시 차선책(?)

안녕하세요.   ModbusTCP는 가상환경에서 동작하는 것을 이전 글에서 확인했습니다. 그러나 가상환경에서 GPIO 엣지 검출(Pulse)을 하려고 하는데 생각과 달리 잘 되지 않아서 차선책으로 찾은 방법을 남겨두려고 합니다.   그냥 폴링(Polling)으로 하기에는 정확도와 비효율적이라는 생각이 들어서 해결방법은 없을지 찾아보았습니다.  1. 기본 가상환경 생성 및 설정  Python 표준 라이브러리의 venv 모듈을 사용하여 가상 환경(virtual environment)을 생성합니다. 가상 환경은 Python 프로젝트마다 독립적인 패키지와 Python 인터프리터를 사용할 수 있게 해 줍니다.  아래와 같이 가상환경을 생성 후 RPi 라이브러리 설치 (이전 ModbusTCP 확인 때문에, 설치했다..

Raspberry Pi CM4에 ModbusTCP Server 실행해 보기 - 3편(ModbusTCP server 수정된 함수사용)

안녕하세요.  이전 글에서 deprecated 된 get_words() 함수 관한 부분을 완료하지 못하고 마무리했습니다.이 부분을 다시 확인하고 정리해보려고 합니다. 기본 자료형과 구조는 동일합니다.  1. DataBank Class 최신 함수  최신 버전에서는 DataBank를 직접 호출하는 대신, ModbusServer 객체의 data_bank 속성을 통해 접근합니다 1) DataBank의 메모리 구조 DataBank는 Modbus 표준 메모리 구조를 관리하며, 아래 4가지 메모리 타입을 제공합니다: Coils (1-bit): 읽기/쓰기 가능한 디지털 값Discrete Inputs (1-bit): 읽기 전용 디지털 값Holding Registers (16-bit): 읽기/쓰기 가능한 16비트 값Inp..

PCB Editor 혹은 Or CAD에서 LoadLibrary fails to load with error 126 or error 87 발생할 경우

안녕하세요.   오늘은 OrCAD로 회로 설계하다가 경험할 수 있는 에러에 대해서 공유드립니다.  평상시와 같이 회로설계를 하면서 footprint show를 눌렀는데, OrCAD가 에러 하나를 내고 죽는 현상이 나타났습니다.     저장하고 있지 않은 상황이라 살짝 당황했습니다. 그래서 급하게 검색했습니다.  1. 원인 검색   정확하진 않지만, AMD 계열 그래픽 원인으로 파악되었습니다. ATI 그래픽 카드로 교체했거나, NVIDIA와 같이 사용하는 경우 호환이 되지 않아 나타나는 듯합니다.   OrCAD, PCB Editor에서만 나타나는 것이 아니라, 그래픽 프로그램 (Photoshop, AutoCad) 등에서도 발생하는 듯합니다.  2. 해결책 1) 알려진 해결책   - ATI 그래픽 최신 드라..

Raspberry Pi CM4에 ModbusTCP Server 실행해 보기 - 2편(pyModbusTCP 설치)

안녕하세요.   1편에 이어 ModbusTCP에 대해서 확인해 보겠습니다.테스트 환경은 라즈베리파이 CM4에서 진행했습니다. 이번 글의 목표는 간단하게  pyModbusTCP를 설치해 보고 작동하는 되는 것을 확인하는 것입니다.   1. pymodbusTCP 설치      # install the last available release (stable)$ pip install pyModbusTCP    설치하려고 하면 아래와 같이 에러가 발생할 수 있습니다. 그래서 가상의 환경을 만들어 진행합니다.    가상 환경을 만들더라도 네트워크 환경은 동일하게 유지되며, 가상 환경은 Python 패키지와 종속성만을 격리할 뿐, 네트워크 설정이나 시스템 자원에는 영향을 주지 않습니다. 1) 가상 환경 생성 $ py..

Raspberry Pi CM4에 ModbusTCP Server 설치해 보기 - 1편(ModbusTCP 기본지식)

안녕하세요.   ModbusTCP Server 샘플을 만들어 보기 전에 간단하게 ModbusTCP 이해가 필요할 것 같아서 자료를 찾아보았습니다. 다음 시간에 실제적으로 설치하고 프로그래밍하는 내용을 남겨보려고 합니다.  1. Modbus 프로토콜 개요  Modbus는 산업용 통신 프로토콜로, 공정 자동화에서 주로 사용되며 특히 장비 간의 간단하고 신뢰성 있는 데이터 교환을 위해 설계되었습니다. Modbus는 Master-Slave 방식으로 동작하며, 주로 센서, PLC(Programmable Logic Controller), SCADA(Supervisory Control and Data Acquisition) 시스템과 같은 장치들이 Modbus를 통해 서로 데이터를 주고받습니다.     통신 구조: M..

데이터 시트 트랜지스터 이름에 담긴 의미

안녕하세요.   이번에는 간단하게 트랜지스터에 대해서 설명할 수 있게 정리해 보았습니다.실제적으로 트랜지스터 내부 동작을 보려면 하단의 참조사이트 링크를 참고하시면 됩니다.  1. 트랜지스터(Transistor) 1) 정  의   - 1947년 벨 연구소에서 반도체를 이용한 스위치의 필요성이 대두되어 개발  - 트랜지스터는 3개 이상의 단자를 가지고 있는 능동소자  - 전류 증폭과 스위치 기능  - 매우 낮은 베이스 전류를 가지고 컬렉터와 이미터 간의 전류를 조절  - 나중에 전압을 제어용 입력 신호로 하는 소자인 전계효과 트랜지스터(FET)가 개발됨 2) 구  조   - 접합형 트랜지스터 구조 2가지  - n형에 가운데 p형을 끼워 넣으면 NPN 접합형 트랜지스터가 된다.  - p형에 제어용 전극 n형..

Raspberry Pi에서 유량센서(YF-B10-S)로 유량계산하기

안녕하세요.   이전 글에서 유량센서(YF-B10-S) 제품에 대해서 확인해 보았습니다. 이번 글에서는 실제로 어떻게 값을 구할 수 있는지, Raspberry Pi를 이용해서 확인해 보겠습니다.     YF-B10-S(유량센서) 확인해 보기안녕하세요.  사이드 프로젝트로 유량파악해서 ModbusTCP로 전달이 필요하다는 요청을 받았습니다. 우선 유량을 확인할 수 있는 센서를 확인해 보겠습니다.  파이프 규격과 재질에 따라 가격과remnant24c1.tistory.com  1. 유량센서 테스트 환경  - 라즈베리 파이 CM4 - YF-B10-S 유량 센서 (하네스 SM 3핀 Female 커넥터 장착) - 10kΩ 풀업 저항 (NPN 출력 신호 안정화용) - 점퍼 와이어 혹은 연결 커넥터 하네스 커넥터(SM..

Raspberry pi CM4에 OpenCV 4.6.0과 Contrib 모듈 설치해보기

안녕하세요.   에지 컴퓨팅이라고 해서 단말 장치에서 가까운 위치에서 컴퓨팅을 하는 것을 말합니다. 그래서 라즈베리 파이가 단말장치가 되고 여기서 컴퓨팅, 분석까지 하는 것으로 생각해서 OpenCV를 설치해서 분석을 해보려고 합니다.  OpenCV 설치는 하단 을 따라 진행하였으며, OpenCV 4.5.4에서 에러가 났다고 글이 쓰여 있어서 그 상위 버전으로 테스트해 보았습니다. 그리고 Raspberry Pi OS는 Bullseye 32bit에서 초기화한 상태에서 내용 조금 수정하여 진행하였습니다. 만약 기존 버전이 설치되어 있다면  하단 을 참고해서 삭제 후 진행하시길 추천드립니다.  1. OpenCV 컴파일 전 필요한 패키지 설치 pi@raspberrypi:~ $ sudo apt updatepi@ra..

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

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

아두이노 나노를 OrCAD 부품 파트로 임포트(IMPORT)하기 & Footprint 등록하기

안녕하세요.    OrCAD에서 회로 부품을 등록할 때 직접 그리는 방법과 부품회사에서 만들어 놓은 라이브러리를 사용하는 방법이 있습니다. CAD, PCB 부품도 DATASHEET를 보면서 직접 그릴 수도 있지만, 시간이 오래 걸립니다. 일반적으로는 부품회사에서 잘 만들어, 부품 사이트에 공유해 주고 있기 때문에 잘 이용하면 될 것으로 생각됩니다.   이번에는 아두이노 나노 부품을 회로도에 넣어보고 PCB Editor에 추가해 보도록 하겠습니다.   CAD용 부품(Parts)을 공유해 주는 사이트 몇 곳이 있지만 무료인 사이트 2곳 정도가 있어 공유해 드립니다.https://www.snapeda.com/https://www.ultralibrarian.com/  1. 부품 라이브러리를 다운로드   사이트에..

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를 이용해서 가능한지 테스트해 보았습니다. 관련해서 몇 가지 예제로 된 것들 중 하나를 선택해서 테스트..

Arduino Nano 33 IoT에 EEPROM 없는 기능을 FlashMemory로 대체하기

안녕하세요.  이전 글에서 Arduino Nano 33 IoT를 이용한 Beacon을 만들어 보았습니다.   Arduino Nano iot 33를 이용한 센서 데이터 전송 Beacon 만들어 보기안녕하세요.  Arduino Nano iot 33을 가지고 Beacon과 유사한 하게 작동하는 것을 테스트해 보았습니다.그런데, 타업체 BLE 스캐너(BLE to WiFi(MQTT)) 제품이 있는데, UUID를 자체를 센서데이터로 보내는 것remnant24c1.tistory.com   단순하게 아날로그 센서값을 보낼 때는 큰 문제가 없습니다. 그런데 가스센서 (EXSEN 제품)의 정확도를 높이기 위해 Auto Calibration(보정) 위한 데이터를 저장하고 불러오는 EEPROM 소스코드는 작동하지 작동하지 않..

Embedded/Arduino 2024.10.18

Arduino Nano iot 33를 이용한 센서 데이터 전송 Beacon 만들어 보기

안녕하세요.  Arduino Nano iot 33을 가지고 Beacon과 유사한 하게 작동하는 것을 테스트해 보았습니다.그런데, 타업체 BLE 스캐너(BLE to WiFi(MQTT)) 제품이 있는데, UUID를 자체를 센서데이터로 보내는 것을 확인했습니다.  BLE에 대해 정확하게 모르는 부분도 있고, BLE to WiFi(Scanner) 제품을 업체 제품과 연동 용도로 사용하는 것이 아니다 보니 업체에 직접 문의하지는 못하고 Arduino와 연동이 가능할까 해서 테스트해 보았습니다. 그래서 참고로 이렇게 하는 것도 있고, 이렇게 해도 되는구나 참고로 보면 어떨까 합니다.  1. BLE를 위한 제품 선택  Arduino로 간단하게 Beacon을 테스트를 할 때, HM-10과 같은 BLE 모듈을 연결해서 ..

Embedded/Arduino 2024.10.16

Raspberry PI 4(CM4 Module)과 IO보드(MCUZONE Tiny, waveshare CM4-IO-BASE-B)에서 파이캠(OV5647) 카메라 동작 시키기

안녕하세요.   라즈베리 파이 4 Micro SD Card 버전보다는 CM4 eMMC 모듈 버전이 좀 더 안정적이고 빠르다고 생각되어 CM4 I/O 보드로 카메라 동작 테스트를 하였습니다. 그런데, 현재 라즈베리 파이 OS와 보드에 따라서 차이가 있었습니다.  1. 테스트한 H/W 제품  CM4 eMMC 16GB 모듈, 210406CM4_TinyHDMI I/O 보드, CM4-IO-BASE-B(waveshare) 보드, 파이캠(OV5647)   2. 테스트한 OS   - 2022-04-04-raspios-buster 32bit ,  2022-04-04-raspios-bullseys 32bit   (이전 테스트한 내용으로, 64bit 버전을 사용할 경우 라이브러리가 달라, 아래 내용이 작동하지 않을 수 있습..

Raspberry Pi 4 CM4 EDA 방열판(heatsink, Cooler) 확인하기

안녕하세요.  예전에 CM4 테스트하면서 같이 판매하는 중국산 방열판을 구매해서 후기를 올렸는데요. 이번에 다른 프로젝트로 WiFi 없는 CM4 제품을 확인하게 되었습니다. 프로세서를 많이 사용하지 않고 WiFi도 사용하지 않아 방열판만으로 가능하다 생각되어 CM4용 방열판을 구매해서 확인해 보았습니다.   1. 부품확인   CM4와 CM4 Cooler박스와 제품의 윗면이며, 특별한 것이 없이 본체와 플라스틱 서포트(spacer), 볼트로 구성되어 있습니다.    뒷면은 예전 제품과 차이점가 있었습니다. 방열판에 Spacer와 실리콘 써멀 패드(Thermal Pad)가 방열판에 붙어 있습니다. 별도로 붙이기 귀찮은 일인데 이미 그 일을 줄여 놓았습니다.    CM4와 하단 보드의 제품에 맞는 것을 선택할..

Arduino nano 33 iot Bluetooth와 SoftwareSerial.h 문제관련

안녕하세요. Arduino nano 33 iot를 가지고 몇 가지 테스트 한 부분 나누어 보아요.다들 아시는 것처럼 33 IOT 버전은 WIFI와 bluetooth 버전이 가능하다 보니 괜찮은 제품이라고 생각했는데, 블루투스에 설정하는 것에 어려움이 있는 듯합니다. 우선 WIFI는 아래 참조1 사이트와 같이 따라 하시면 문제없이 작동되는 것을 확인할 수 있었습니다.소스 코드상에 문제가 있어 댓글 남겨 놓았는데, 수정되었는지 모르겠네요.  참조1) https://fishpoint.tistory.com/4433 1.  블루투스 관련   블루투스  BLE 연결을 지원하는 여러 핸드폰으로 페어링을 해도 되지 않았습니다.nRF Connect 앱으로만 연결과 값이 전송되었습니다.  이런 부분들이 아두이노 포럼과 기..

Embedded/Arduino 2024.08.25

Arduino Nano 33 IoT bootloader blocked 된 경우 (벽돌이 된 경우;;;)- 복구방법 링크 추가

안녕하세요.  아두이노로 센서값을 받는 프로젝트를 하게 되어서 어떤 것을 사용해 볼까 해서 선택한 것이 블루투스 되고 각종 센서도 달린 Arduino Nano 33 IoT를 선택하였습니다. 아두이노 쉽게 하는 거로 생각하고 대충보고 BLE 버전 받아도 되는 건가 하고 참조1에서 처럼 보드매니저 nano 33 검색해서 RF528x Board를 설치하고 부트로더를 올렸습니다.참조1 blog.naver.com/roboholic84/221788817826 다운로드가 잘 되길래 음 ~ 하며 Blink 예제 다운로드를 했습니다. 그런데...녹색불만 들어오고 시리얼 포트가 잡히지 않았습니다. 바로 구글 검색 시작했습니다. 다운로드하여야 할 것이 Arduino SAMD Boards라는 것을 알게 되었습니다.다른 분들은..

Embedded/Arduino 2024.08.22

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..