목록Embedded (20)
행복한 하루
안녕하세요. 이번 내용은 정형파에 대한 내용이며 오일러 공식과 복소수의 내용이 나옵니다. 실제 강의 내에서는 복소수의 기초적 강의 부분이 없기 때문에 참고 사이트를 먼저 보고 강의를 보시면 도움이 되지 않을까 합니다. 1. 교류의 기초 1) 직류, 교류 - 직류(Direct Current) : 시간의 변화에 대해 크기와 방향이 일정한 전류 또는 전압 - 교류(Alternating Current) : 시간의 변화에 따라 방향과 크기가 변하는 전류 또는 전압 교류형태 : 정현파, 구형파, 삼각파, 램프파(사다리꼴파) - 교류전압은 전자유도현상에 의해 발생 : 코일에서 시간에 따른 쇄교자속이 변화하면서 자속의 변화를 방해하는 방향으로 기전력이 유도되는 현상 2) 정형파 교류 - 정현파의 전류와 전압은 sin ..
안녕하세요. 2차 회로 해석은 1차 회로 해석보다 하나 더 소자가 붙기 때문에 계산식이 좀 더 복잡해집니다. 아래 내용으로는 계산을 풀어 볼 수는 없고 간단하게 이런 내용이 나왔구나 확인 정도만 할 수 있습니다. 그래서 실제 강의를 보셔야 할 듯합니다. 그리고 본 강의로 부족하기 때문에 마지막 하단에 있는 참고사이트를 추가로 보시면 이해하는데 조금 더 도움이 될 것 같습니다. 1. 2차 회로와 해석 1) 2차 회로 - 인덕터와 커패시터와 같은 저장소자가 동시에 2개가 존재하는 회로 - 2차 미분 방정식으로 표현되고, 특성이 결정된다. 2) 2차 과도회로의 해석 방법 - 미분방정식 적용 : 회로에 대한 미분방정식을 세우고 미분 방정식을 풀어해 구함 - 단계적 해석 : 미리 알려진 경우에 따른 해의 형태를 ..
안녕하세요. 이전 내용과 다르게 수학적인 부분이 많이 있어서 많이 어렵게 느껴집니다. 그래서 현재 강의로만 이해하기 힘들 것이라 생각되어 하단에 참고 사이트 추가해 둔 교수님의 강의 등을 추가로 들어야 조금이나마 이해가 되지 않을까 합니다. 다음 내용 또한 2차 회로 또한 동일할 것이라고 생각됩니다. 아래 내용은 내용 이해용이라고 보기보다는 간단한 어떤 무료강의에 어떤 내용이 포함되어 있는지 확인용이라고 보시면 됩니다. 1. 1차 회로와 미분방정식 ; 1차 회로는 저항과 커패시터 (R, C) 혹은 저항과 인덕터(R, L)로만 구성된 회로이며, 참고로 2차 회로는 저항과 커패시터, 인덕터(R, L, C)로 구성된 회로 1) 1차 회로와 해석 (1) 1차 회로의 해석 방법 - 미분방정식 직접 적용 방법 : ..
안녕하세요. 강의를 다 보고 몰아서 정리하려니 양이 많아서 회차별 내용을 간단하게 정리해서 올려보았습니다. 1. 커패시터(Capacitor) 1) 커패시터 : 전하를 축적하여 에너지를 저장하는 수동소자 - 고정 커패시터 : 정전용량이 결정됨 - 가변 커패시터 : 정전용량을 조정 가능 - 전해 커패시터 : 극성을 가짐 2) 커패시터의 충전 - 중성 상태 -> 전원 연결 -> 양쪽 도체판에 음전하, 양전하를 띠게 됨 -> 전압원 전압과 같아지면 전자 이동 멈춤 3) 커패시터의 방전 - 양전하, 음전하 쌓인 도체판 -> 전구연결 -> 음전하 이동 -> 중성상태 -> 전류이동 멈춤 4) 정전용량 : 단위전압당 커패시터가 저장할 수 있는 전하의 양 (기호 : C, 정전용량 단위 : F) 5) 전류전압관계 : 저장..
안녕하세요. 최근에 전기 기초에 대한 부분이 다시 기억해보고자 무료 강의를 찾아보았습니다. 강사분이 직접 설명해주는 것이 아니라서 조금 설명이 부족할 수 있는데(보충 설명할 때는 동영상으로 추가 설명이 있습니다), PPT로 간단간단 강의 자료가 요약 설명이 잘 되어 있습니다. 그래서 빠르게 볼 수 있습니다. 그리고 간단한 예제들로 알려주고 있어 다시 기억해본다는 차원에서 볼 만했습니다. 1. 강의 목차 1회 차 전기의 기초 2회 차 전기회로와 옴의 법칙 3회 차 키르히호프의 법칙 4회 차 전기회로의 노드 해석법 5회 차 전기회로의 폐로해석법 6회 차 다양한 회로 해석 기법 7회 차 연산 증폭기의 원리와 응용 8회 차 전기와 자기의 상호작용 9회 차 커패시터와 인덕터 10회 차 1차 회로의 과도 해석 11..
안녕하세요. Arduino FreeRTOS 버전이 몇 가지 있는 것 같은데 메인 소스 코어는 동일해 보이고 누가 주로 수정했는지에 따라 조금씩 차이가 있는 듯합니다. 테스트 버전은 아두이노 IDE에 "라이브러리 매니저"로 받을 수 있는 버전으로 해보았습니다. 1. FreeRTOS 설치하기 1) Arduino Nano 버전 - "툴-> 라이브러리 관리" 메뉴를 선택하고 FreeRTOS로 검색합니다. 최신 버전 라이브러리를 설치합니다. 2) Arduino Nano 33 IoT 버전 - "툴-> 라이브러리 관리" 메뉴를 선택하고 FreeRTOS로 검색합니다. 위와 다르게 SAMD21 버전을 설치해주어야 합니다. 아두이노 나노 33 IoT 경우 마이크로 컨트롤러가 다르다 보니 SAMD21 버전으로 설치해야 합니..
안녕하세요. 아두이노 나노 33 IoT로 웹서버를 만들어 보았다면, 아두이노 IoT에서 취득한 센서 정보를 어떻게 가져갈까 고민을 하게 될 겁니다. 그래서 웹 데이터를 Json형태로 바꿔 출력해주고 다른 응용프로그램에서 웹주소로 접속해서 Json으로 가져오면 되겠다 생각하였습니다. 아두이노 IoT에서 가스 센싱 한 값을 Json으로 인코딩하고 웹서버로 출력해주고 파이썬에서 Json 데이터로 읽어오는 테스트를 하였습니다. 이전 "아두이노 나노(Arduino Nano) 33 IoT 고정 아이피 설정 방법"에서 SimpleWebServerWIFI 예제에 Json 코드를 추가하는 형태로 하였습니다. 1. Json사전 준비 - 이미 Json 사용해보았다면 이 과정은 넘어가도 좋습니다. "툴->라이브러리 관리"로 ..
안녕하세요. 단순하게 SimpleWebServerWiFi 샘플 소스를 실행시키면 내부 공유기의 DHCP에서 할당해주는 내부 네트워크 아이피(IP) 주소를 할당받게 됩니다. 그래서 시리얼 모니터로 할당된 주소를 확인한 후 아두이노 웹서버로 접속을 해야 합니다. 이렇게 하면 IP 주소를 매번 확인해야 하는 불편한 점이 있습니다. 아니면 DDNS를 사용해서 도메인(DNS)으로 접속할 수도 있습니다. 그렇게 하는 것 보다 비용도 절감하고 내부 고정 아이피로 사용한다면 위의 불편한 점은 개선할 수 있을 것으로 생각되어 고정으로 하면 좋겠다 생각하게 되어 찾아보게 되었습니다. 1. 고정아이피 할당 예제 1) 예제 소스 불러오기 - 할당하는 방법에 대해서 간단한 샘플 예제로 하는 방법을 확인해보도록 하겠습니다. (만..
안녕하세요. 이전 내용에서 간단하게 LED를 제어해보았습니다. 이번에는 나노 33 IoT 장착되어 있는 자이로 센서를 X, Y, Z 축 값을 가져와 BLE로 전달하는 것을 해보도록 하겠습니다. 1. BLE 구조 - BLE 서비스를 만들고 Characteristic을 선언하는데, 조금이나 이해를 하면 좋지 않을까 해서 찾아보았습니다. - 애플리케이션 단에서 데이터 교환은 ATT(Attribute protocol) 기반으로 이루어지고 각각의 데이터는 GATT(Generic Attribute Profile) 데이터 구조를 따라 정의됩니다. ATT는 서버와 클라이언트 사이의 데이터 교환에 대한 규칙을 정의하는 것입니다. - GATT는 Service와 Characteristic으로 구성됩니다. “Service i..
안녕하세요. 이전 내용에서는 BLE 접속에 대해 알아보았습니다. 이번에는 어떻게 LED를 제어하는지 데이터를 주고받는지를 확인해보도록 하겠습니다. 1. 아두이노 프로그램 - BLE 라이브러리를 추가하고 BLERead와 BLEWrite 문자열 주고받을 수 있는 서비스를 초기화합니다. #include BLEService ledService("3de2545d-9de6-47ce-84a9-68c5ead85c67"); BLEByteCharacteristic switchCharacteristic("3de2545d-9de6-47ce-84a9-68c5ead85c67", BLERead | BLEWrite); const int ledPin = LED_BUILTIN; - Setup() 함수에서 시리얼 통신 모니터링하기 위한 ..
안녕하세요. 아두이노 나노 33 IoT 모듈에는 WiFi 기능이 있고 BLE(Bluetooth) 기능도 있습니다. 이전 내용은 WiFi를 다루어 보았고 이번에는 BLE 관련된 내용으로 해보려고 합니다. 진행은 간단하게 Nano 33 IoT에서 BLE를 사용해보고 여러 개 데이터를 전달하는 것을 해보려고 합니다. 그리고 추가로 공개된 안드로이드 앱 소스를 수정해서 값 까지 받아 보는 것을 해보려고 합니다. 1. BLE(Bluetooth Low Energy) 란 1) 정의 블루투스 저전력 프로토콜(Bluetooth Low Energy)또는 줄여서 BLE은 블루투스 4.0(Bluetooth Smart) 스펙이 2010년 6월 30일에 채택된 이후로 배포되는 저전력 블루투스이다. 이로서 기존의 블루투스 통신 프..
안녕하세요. 이번에는 아두이노 나노 33 IoT에 GPS를 연결해보도록 하겠습니다. 조금 저가형이지만 간단하게 테스트할 수 있는 모듈입니다. 그러나 결론적으로 보면, GPS 수신은 되지만, 외부에서 사용할 경우 추가적인 안테나가 필요해 보였습니다. 그리고 GPS 가짜 제품을 알아내는 법, 구글맵에서 검색하는 방법 등 이런저런 내용으로 구성해보았습니다. 1. GPS(Global Positioning System) 란 GPS(Global Positioning System 글로벌 포지셔닝 시스템[*]) 또는 범지구 위치 결정 시스템은 현재 GLONASS와 함께 완전하게 운용되고 있는 범지구 위성항법시스템 중 하나이다. 미국 국방부에서 개발되었으며 공식 명칭은 NAVSTAR GPS(NAVSTAR는 약자가 아니지..
안녕하세요. 이전 내용에서는 (아두이노 나노 33 IoT로로 작은 웹서버 만들기) 작은 웹 서버를 만들어서 정보를 보여주었습니다. 이번에는 다른 서버에 있는 현재 시간 정보를 가져오는 것을 테스트해보겠습니다. NTP(Network Time Protocol) 서버에 접근해서 현재시간을 가져오도록 하겠습니다. 이렇게 하면 RTC(Real Time Clock) 회로를 꾸밀 필요가 없다는 것이 장점이 됩니다. 단, 네트워크가 연결되어야 합니다. 이것을 이용해서 특정 시간에 알람이나 특정 동작을 가능하게 할 수 있습니다. (이전 웹 서버 만드는 과정을 참고하시면 WiFiNINA 라이브러리 설치하는 방법과 SSID 설정하는 내용이 있습니다.) 1. NTP(Network Time Protocol) 이란? 1) 간략 ..
안녕하세요. 오늘은 OrCAD로 회로 설계하다가 경험할 수 있는 에러에 대해서 공유드립니다. 평상시와 같이 회로설계를 하면서 footprint show를 눌렀는데, OrCAD가 에러 하나를 내고 죽는 현상이 나타났습니다. 저장하고 있지 않은 상황이라 살짝 당황했습니다. 그래서 급하게 검색했습니다. 1. 원인검색 - 정확하진 않지만, AMD 계열 그래픽 원인으로 파악되었습니다. ATI 그래픽 카드로 교체했거나, NVIDIA와 같이 사용하는 경우 호환이 되지 않아 나타나는 듯합니다. - OrCAD, PCB Editor에서만 나타나는 것이 아니라, 그래픽 프로그램 (Photoshop, AutoCad) 등에서도 발생하는 듯합니다. 2. 해결책 1) 알려진 해결책 - ATI 그래픽 최신 드라이버를 -> 설치해서 ..
안녕하세요. 이번에는 간단하게 트랜지스터에 대해서 설명할 수 있게 정리해보았습니다. 실제적으로 트랜지스터가 내부 동작을 보려면 참조사이트의 링크를 참고하시면 됩니다. 1. 트랜지스터(Transistor) 1) 정 의 - 1947년 벨 연구소에서 반도체를 이용한 스위치의 필요성이 대두되어 개발 - 트랜지스터는 3개 이상의 단자를 가지고 있는 능동소자 - 전류 증폭과 스위치 기능 - 매우 낮은 베이스 전류를 가지고 컬렉터와 이미터 간의 전류를 조절 - 나중에 전압을 제어용 입력 신호로 하는 소자인 전계효과 트랜지스터(FET)가 개발됨 2) 구 조 - 접합형 트랜지스터 구조 2가지 - n형에 가운데 p형을 끼워 넣으면 NPN 접합형 트랜지스터가 된다. - p형에 제어용 전극 n형을 삽입하면 PNP 트랜지스터가..
안녕하세요. 이전 글에서 많은 센서들을 테스트해보았습니다. 이제 실생활에 적용할 수 있는 것을 들을 찾아보려고 합니다. 그러기 위해서 우선 IoT 장비가 PC나 스마트폰과 통신되는 것이 가장 우선순위가 되어야 한다고 생각했습니다. 그래서 가지고 있는 아두이노 33 IoT 모듈에 웹서버를 올려놓으면 필요할 때마다 볼 수 있고 DDNS 혹은 포트 포워딩 등 해두면 외부에서도 볼 수 있겠다 생각하였습니다. (블루투스가 되지만 다른 장치를 사용할 때만 페어링 하고 해야 해서 웹서버로 결정하였습니다.) 1차는 웹서버를 테스트하고 2차, 3차에 온도 습도 등 센서 장착해서 수치 확인하고 이후에 케이스에 소형 솔라셀을 붙여서 외부 전력 공급 없이 작동하도록 하는 것으로 실제로 베란다에 두고 작동시켜보려고 합니다. 1..
안녕하세요. 이번에 0.96인치 OLED를 사용하다가 화면이 조금 더 큰 OLED를 사용해보게 되었습니다. 그리고 OLED 하드웨어 기본 설정된 값이 SPI 통신으로 되어 있어서 그대로 사용해보았습니다. 아두이노 소스 역시 SPI로 되어 있어서 바로 확인할 수 있는 방법으로 테스트하였습니다. ( 다른 언어 소스에는 I2C 소스도 포함되어 있습니다. ) 소스는 waveshare 홈페이지 가면 받을 수 있습니다. 하단에 사이트 링크 넣어 두었습니다. 아두이노 소스를 실행하면 waveshare 로고가 나오는 부분이 있는데 이것을 우리가 원하는 로고로 바꿔보고 싶다는 생각을 하다가 찾아본 내용이 있어 공유드립니다. SH1106_bitmap(0, 0, Waveshare12864, 128, 64, oled_buf)..
안녕하세요. 자율주행 자동차 인기로 많이 듣게 된 라이다 센서를 테스트해보았습니다. 360도 회전하며 값을 얻어오는 제품은 아니고 보급형 형태로 나온 한 점을 거리를 가져오는 제품으로 테스트하였습니다. 1. 라이다(Light Detection And Ranging, LiDAR) 란? - 라이다는 주변의 사물을 인식하기 위해 레이저 신호를 이용하는 기술입니다. 라이다에서 쏘아진 펄스 레이저 신호가 주변의 사물과 부딪힌 후 되돌아오면, 이를 분석해 사물의 위치나 운동 방향, 속도 등을 확인하는 방식입니다. - LiDAR는 널리 알려진 신기술로 자율주행, 스마트 교통 시스템 등의 산업에 널리 사용되고 있습니다. 그리고 라이다의 기술 종류가 하나만 있는 것이 아니라 여러 가지 종류로 나눠져 있습니다. 2. TF..
안녕하세요. 지난번 9가지 가스센서 테스트를 진행했습니다. 그러나 CO2를 감지하는 센서는 포함되어 있지 않았습니다. 그래서 조금 금액이 나가지만, CO2 수치를 확인할 수 있는 센서를 테스트해보았습니다. 1. CO2센서 "이산화탄소 센서 또는 CO2 센서는 이산화탄소의 측정을 위한 장비이다. CO2 센서의 가장 공통적인 원리는 적외선 가스 센서 ( NDIR)와 화학 가스 센서이다. 이산화탄소를 측정하는 것은 실내 공기 품질과 여러 산업 공정을 모니터 하는데 중요하다. 많은 공조기(에어컨)에서 이들 센서는 공기의 품질을 모니터 하는 데 사용될 수 있다. NDIR의 원리는 CO나 CO2 등 가스상 물질들이 적외선(Infrared light)에 대해 특정한 흡수 스펙트럼을 갖는 것을 이용해서 특정성분의 농도..
안녕하세요. OrCAD에서 회로 부품을 등록할 때 직접 그리는 방법과 부품회사에서 만들어 놓은 라이브러리를 사용하는 방법이 있습니다. CAD, PCB 부품도 DATASHEET를 보면서 직접 그릴 수도 있지만, 시간이 오래 걸리고 부품회사에서 잘 만들어, 사이트에 공유해 주고 있기 때문에 잘 이용하면 될 것으로 생각됩니다. 이번에는 아두이노 나노 부품을 회로도에 넣어보고 PCB Editor에 추가해 보도록 하겠습니다. 회로 부품을 공유해주는 사이트 몇 곳이 있지만 무료인 사이트 2곳 정도가 있어 공유해 드립니다. https://www.snapeda.com/ https://www.ultralibrarian.com/ 2곳에서마다 부품 라이브러리가 있는 것도 있고 없는 것도 있으니 2곳 다 검색해 보시면 좋습니..