ib-study의 등록된 링크

 ib-study로 등록된 티스토리 포스트 수는 46건입니다.

전압 강하(Voltage Drop)의 개념과 예시 그리고 영향 [내부링크]

안녕하세요, 이번 포스팅에서는 전압 강하의 개념과 예시 그리고 전압 강하 시 일어나는 일에 대해서 알아보겠습니다. 전압 강하란? 전압 강하( Voltage Drop)란 전기 회로에서 전압이 전달되는 과정에서 발생하는 전압 감소 또는 손실을 의미합니다. 전압은 전기 회로를 따라 전달되는 전기 에너지의 양을 나타내며, 전압 강하는 전기 회로에서 전압이 떨어지는 정도를 설명합니다. 이러한 전압 강하는 전기 회로 설계 및 운영에서 중요한 요소 중 하나이며, 전압 강하를 제어하고 최소화하는 것은 전력 손실을 방지하고 전기 시스템의 효율성을 유지하는 데 중요합니다. 전압 강하가 발생하는 이유 1. 전선 길이 가정의 전기 시스템에서 전기 패널에서 각 방으로 전원을 공급하는 전선의 길이가 너무 길 경우 전압 강하가 발..

상온 초전도체와 일어날 변화들 [내부링크]

상온 초전도체는 일반적으로 매우 낮은 온도에서만 나타났던 초전도 현상을 더 높은 온도에서 나타내는 물질을 가리킵니다. 초전도체는 전기 전류가 내부를 통과할 때 저항이 없이 흐르는 특성을 가지며, 이로 인해 전기 손실을 최소화하고 효율적인 전기 전달을 가능하게 합니다. 초전도체는 일반적으로 극저온 상태에서 동작하는데, 이는 그들의 초전도 특성이 낮은 온도에서만 나타나기 때문입니다. 하지만 상온 초전도체의 개발은 기존의 제한된 온도 범위 내에서 동작하는 초전도체의 활용 범위를 크게 확장할 수 있는 중요한 과제입니다. 상온 초전도체의 개발이 이루어지면 아래와 같은 변화가 예상될 수 있습니다. 1. 에너지 효율성 증가 상온 초전도체를 이용하면 전기 전달 시에 손실을 거의 없앨 수 있어, 전력 효율성이 크게 향상..

다익스트라 알고리즘(Dijkstra's Algorithm) 정의 동작방식 복잡도 사용예시 [내부링크]

안녕하세요, 이번 포스팅에서는 자주 쓰이는 소프트웨어 알고리즘 중 하나인 다익스트라에 대해 알아보겠습니다. 다익스트라 알고리즘(Dijkstra's Algorithm)은 가중치가 있는 그래프에서 시작 정점으로부터 다른 모든 정점까지의 최단 경로를 찾는 알고리즘입니다. 이 알고리즘은 음의 가중치를 허용하지 않으며, 주로 길 찾기 문제 등에 사용됩니다. 1. 그래프 초기화: 시작 정점을 기준으로 모든 정점까지의 거리를 무한대로 설정하고, 시작 정점의 거리를 0으로 설정합니다. 2. 우선순위 큐(최소 힙) 초기화: 시작 정점을 우선순위 큐에 넣습니다. 이때, 시작 정점의 거리를 우선순위 큐의 우선순위로 설정합니다. 3. 최단 경로 탐색: 우선순위 큐에서 가장 거리가 짧은 정점을 꺼내고, 해당 정점과 연결된 모든..

NPN과 PNP 트렌지스터 [내부링크]

NPN 및 PNP는 전자소자인 트랜지스터의 구성을 나타내는 기호입니다. 트랜지스터는 전류를 제어하여 전자 신호를 증폭하거나 스위치로 사용하는데 주로 쓰이는 반도체 소자입니다. NPN과 PNP는 트랜지스터의 구조와 작동 방식을 나타냅니다. - NPN은 "Negative-Positive-Negative"의 약자로, 내부에 N형(doped with Negative charge carriers) 및 P형(doped with Positive charge carriers) 반도체가 존재하는 구조를 가지고 있습니다. - 기호로는 세 개의 화살표로 나타내어지며, 중간에 있는 P형 반도체는 베이스(Base)로 표기되고, 두 개의 N형 반도체는 에미터(Emitter)와 콜렉터(Collector)로 표기됩니다. - 에미터-..

접지(GND) 정의 목적 방법 유형 [내부링크]

전기전자 회로에서 접지는 매우 중요한 개념입니다. 접지는 회로에서 지구 또는 대지와 연결되는 지점을 의미합니다. 이는 회로의 안전성, 작동 신뢰성 및 전자 장치의 보호에 중요한 역할을 합니다. 아래에서 접지에 대해 더 자세히 설명하겠습니다. 1. 접지의 목적 - 안전성 보장: 접지는 전기 장치나 회로의 안전을 위해 사용됩니다. 장치나 회로에 발생하는 전압을 지구로 향하게 함으로써 사람들이 전기 충격을 받거나 장비가 고장날 때 발생하는 화재나 기타 위험을 방지합니다. - 노이즈 감소: 접지는 회로에서 발생하는 잡음이나 전자기 간섭을 제어하기 위해 사용됩니다. 접지는 외부 노이즈를 흡수하거나 제거하여 회로 신호의 품질을 향상시키고 안정성을 유지합니다. - 전기적 안정성 유지: 접지는 회로의 전압과 전류를 안..

CAN통신을 배워야 하는 이유 (Feat. 자동차, 로봇) [내부링크]

CAN (Controller Area Network)은 실시간으로 데이터를 교환하기 위해 사용되는 통신 프로토콜입니다. 주로 자동차, 산업 자동화, 로봇 및 기타 시스템에서 널리 사용됩니다. 아래는 CAN 통신의 주요 장점을 자세히 설명합니다. 신뢰성과 내구성 CAN은 고속 통신을 위해 설계되었으며, 신뢰성과 내구성이 뛰어납니다. 물리적인 노이즈나 간섭에 강하며, 오류 감지와 오류 수정 메커니즘을 갖추고 있어 데이터의 신뢰성이 높습니다. 이는 실시간 시스템에서 중요한 요소로 작용하며, 데이터의 안정성과 일관성을 보장합니다. 고속 통신 CAN은 높은 속도의 통신을 지원하며, 데이터를 실시간으로 교환할 수 있습니다. 이는 실시간 제어 및 모니터링 시스템에서 필수적입니다. 빠른 데이터 전송 속도는 센서, 액추..

PID 게인 값 튜닝 방법 [내부링크]

PID(P-Proportional, I-Integral, D-Derivative) 컨트롤러 게인 값 튜닝은 제어 시스템에서 중요한 작업입니다. 올바른 게인 값 설정은 시스템의 안정성, 반응 속도 및 오버슈팅 등을 조절하는 데 도움이 됩니다. 다음은 일반적으로 사용되는 몇 가지 PID 게인 값 튜닝 방법입니다. 1. 수동 튜닝 - Proportional Gain (P)를 먼저 증가시키고 시스템의 반응을 관찰합니다. 반응이 느리면 P 값을 증가시키고, 반응이 불안정하거나 오버슈팅이 발생하면 P 값을 감소시킵니다. - Integral Gain (I)를 조정하여 시스템의 정확도와 오차 보상을 개선합니다. I 값을 증가시켜 오차를 줄이거나, I 값을 감소시켜 오버슈팅을 완화할 수 있습니다. - Derivative..

이진 탐색(Binary Search) - 정의 / 예시 코드(C++) [내부링크]

이진 탐색은 정렬된 배열에서 특정한 값을 찾는 알고리즘으로, 탐색 범위를 반씩 줄여가며 원하는 값을 찾아내는 방법입니다. 이 알고리즘은 배열이나 리스트 등의 데이터 구조에서 효율적인 탐색을 수행할 수 있습니다. 이진 탐색의 동작 원리는 다음과 같습니다. 1. 주어진 배열을 오름차순으로 정렬합니다. 2. 탐색할 값과 배열의 중간 값을 비교합니다. - 중간 값이 탐색할 값과 일치하면 탐색 성공입니다. - 중간 값이 탐색할 값보다 크면, 배열의 왼쪽 절반에 대해 이진 탐색을 수행합니다. - 중간 값이 탐색할 값보다 작으면, 배열의 오른쪽 절반에 대해 이진 탐색을 수행합니다. 3. 탐색 범위가 축소될 때까지 위의 과정을 반복합니다. 4. 탐색 범위가 더 이상 없거나, 탐색할 값이 발견되지 않으면 탐색 실패입니다..

계수 정렬(Counting Sort) - 정의 / 예시 코드 [내부링크]

계수 정렬(Counting Sort)은 정수나 정수 형태의 자료에 대해 선형 시간 복잡도를 가지는 안정적인 정렬 알고리즘입니다. 기존의 비교 기반 정렬 알고리즘과는 달리 계수 정렬은 비교를 사용하지 않고, 정수의 개수를 세는 방식으로 동작합니다. 이를 통해 정렬할 자료에 대한 추가 정보를 이용하여 정렬을 수행하므로, 일반적인 경우에 매우 효율적입니다. 계수 정렬의 동작 방식은 다음과 같습니다. 1. 정렬할 정수 배열에서 최솟값과 최댓값을 찾습니다. 이를 통해 배열의 범위를 파악합니다. 2. 범위 내에서 각 정수의 등장 횟수를 세어 빈도수 배열(Count 배열)에 저장합니다. Count 배열의 인덱스는 정수 값이고, 해당 인덱스의 값은 해당 정수의 등장 횟수입니다. 3. Count 배열을 누적합으로 변환합..

기수 정렬(Radix Sort) - 정의 / 예시 코드(C++) [내부링크]

기수 정렬(Radix Sort)은 비교 정렬 알고리즘이 아닌 정렬 알고리즘 중 하나로, 비교 대상의 특정한 속성을 이용하여 정렬하는 방법입니다. 기수 정렬은 숫자나 문자열과 같은 자료를 정렬하는 데에 주로 사용되며, 각 자릿수나 문자의 위치를 기준으로 정렬을 수행합니다. 기수 정렬의 동작 방식은 다음과 같습니다. 1. 가장 낮은 자릿수부터 시작하여 가장 높은 자릿수까지 반복적으로 정렬 작업을 수행합니다. 2. 각 자릿수를 기준으로 정렬하기 위해, 0부터 9까지의 버킷(또는 큐)을 생성합니다. 이 버킷은 해당 자릿수의 값을 가진 요소를 저장하는 용도로 사용됩니다. 3. 정렬할 자료를 순회하면서 각 요소의 해당 자릿수 값을 확인하고, 그에 맞는 버킷에 요소를 넣습니다. 예를 들어, 첫 번째 반복에서는 일의 ..

힙 정렬(Heap Sort) - 정의 / 예시 코드 [내부링크]

힙 정렬(Heap Sort)은 힙 자료구조를 기반으로 동작하는 정렬 알고리즘입니다. 최대 힙(Max Heap) 또는 최소 힙(Min Heap)을 구성하여 배열을 정렬하는 방식으로 동작합니다. 힙 정렬은 주로 배열 기반의 힙 자료구조를 사용하여 구현됩니다. 아래는 힙 정렬의 동작 과정을 단계별로 설명한 것입니다. 1. 주어진 배열을 최대 힙 또는 최소 힙으로 구성합니다. 이 단계를 힙 구성(Heapify) 단계라고 합니다. 최대 힙을 구성하는 경우, 부모 노드는 항상 자식 노드보다 큰 값을 가지며, 최소 힙을 구성하는 경우에는 그 반대입니다. 2. 힙에서 최상단에 있는 노드(최대 힙의 경우 최댓값, 최소 힙의 경우 최솟값)를 꺼내어 배열의 마지막 위치로 이동시킵니다. 이 단계를 반복적으로 수행하면, 배열은..

병합 정렬(Merge Sort) - 정의 / 예시 코드 [내부링크]

병합 정렬(Merge Sort)은 분할 정복(Divide and Conquer) 알고리즘을 사용하여 배열을 정렬하는 효율적인 알고리즘입니다. 배열을 반으로 나누고, 각 부분 배열을 재귀적으로 정렬한 후, 정렬된 부분 배열을 병합하여 최종적으로 정렬된 배열을 생성하는 방식으로 동작합니다. 아래는 병합 정렬의 동작 과정을 단계별로 설명한 것입니다. 1. 주어진 배열을 반으로 나눕니다. 이를 분할(Divide) 단계라고 합니다. 2. 각 부분 배열에 대해 재귀적으로 병합 정렬을 수행합니다. 부분 배열의 크기가 1 이하가 될 때까지 반복합니다. 3. 부분 배열을 정렬하고 나면, 정렬된 부분 배열을 병합(Merge)하여 크기가 더 큰 정렬된 부분 배열을 생성합니다. 4. 병합된 배열을 최종적으로 정렬된 배열로 반..

퀵 정렬(Quick Sort) - 정의 / 예시 코드 [내부링크]

퀵 정렬(Quick Sort)은 평균적으로 매우 효율적인 정렬 알고리즘 중 하나로 알려져 있습니다. 분할 정복(Divide and Conquer) 방식을 기반으로 동작하며, 배열을 작은 값의 부분 배열과 큰 값의 부분 배열로 분할하고 재귀적으로 정렬하는 방식입니다. 아래는 퀵 정렬의 동작 과정을 단계별로 설명한 것입니다. 1. 배열에서 하나의 원소를 기준으로 선택합니다. 이를 피벗(Pivot)이라고 합니다. 피벗은 보통 첫 번째 원소, 마지막 원소, 중간 원소 등으로 선택됩니다. 2. 피벗을 기준으로 배열을 두 부분으로 분할합니다. 피벗보다 작은 원소는 피벗의 왼쪽에 위치하고, 피벗보다 큰 원소는 피벗의 오른쪽에 위치하도록 배열을 재배치합니다. 이 단계를 피벗을 기준으로 분할하는 Partition 단계라..

선택 정렬(Selection Sort) - 정의 / 예시 코드 [내부링크]

선택 정렬(Selection Sort)은 간단하면서도 직관적인 정렬 알고리즘입니다. 주어진 배열에서 가장 작은(또는 가장 큰) 원소를 선택하여 정렬 순서에 맞게 앞으로 이동시키는 방식으로 동작합니다. 아래는 선택 정렬의 동작 과정을 단계별로 설명한 것입니다. 1. 주어진 배열에서 가장 작은(또는 가장 큰) 원소를 찾습니다. 2. 해당 원소를 정렬 순서에 맞게 배열의 첫 번째 위치(또는 마지막 위치)와 교환합니다. 3. 정렬된 부분과 정렬되지 않은 부분으로 배열을 나눕니다. 4. 정렬되지 않은 부분에서 다음으로 작은(또는 큰) 원소를 선택하여 해당 위치에 삽입합니다. 5. 위의 과정을 정렬되지 않은 부분의 원소가 모두 정렬될 때까지 반복합니다. 아래는 C++로 구현된 선택 정렬의 예시 코드입니다. 위의 예..

삽입 정렬(Insertion Sort) - 정의 / 예시 코드 [내부링크]

삽입 정렬(Insertion Sort)은 간단하면서도 효율적인 정렬 알고리즘 중 하나입니다. 배열을 정렬된 부분과 정렬되지 않은 부분으로 나누고, 정렬되지 않은 부분의 원소를 정렬된 부분에 적절한 위치에 삽입하는 방식으로 동작합니다. 아래는 삽입 정렬의 동작 과정을 단계별로 설명한 것입니다. 1. 주어진 배열을 순회합니다. 2. 배열의 첫 번째 원소는 이미 정렬되었다고 간주합니다. 3. 다음 원소부터 시작하여 정렬되지 않은 부분의 원소를 하나씩 선택합니다. 4. 선택한 원소를 정렬된 부분의 올바른 위치에 삽입합니다. - 선택한 원소를 정렬된 부분의 마지막 원소부터 비교하며, 적절한 위치를 찾아갑니다. - 선택한 원소보다 큰 값이 나올 때까지 이전 원소를 한 칸씩 오른쪽으로 이동시킵니다. - 적절한 위치를..

버블 정렬(Bubble Short) - 정의 / 예시 코드 [내부링크]

버블 정렬(Bubble Sort)은 간단하고 기본적인 정렬 알고리즘 중 하나입니다. 인접한 두 원소를 비교하여 필요에 따라 위치를 교환하는 방식으로 동작합니다. 버블 정렬은 원소의 크기를 비교하며 작은 원소를 앞쪽으로 이동시키는 "거품"이 위로 올라가는 것과 유사하다고 해서 버블 정렬이라는 이름이 붙었습니다. 아래는 버블 정렬의 동작 과정을 단계별로 설명한 것입니다. 1. 주어진 배열을 순회합니다. 2. 배열에서 현재 원소와 다음 원소를 비교합니다. 3. 현재 원소가 다음 원소보다 크다면, 두 원소의 위치를 교환합니다. 4. 배열의 끝까지 이동할 때까지 위의 과정을 반복합니다. 5. 1회 순회가 끝나면, 가장 큰 원소가 배열의 마지막에 위치하게 됩니다. 6. 2회째 순회에서는 마지막 원소를 제외하고 위의..

A,B,C 접점 [내부링크]

A접점, B접점, C접점은 전기 회로에서 사용되는 용어입니다. 그럼 3가지 접점에 대해 알아보겠습니다. A접점은 전기 회로에서 스위치, 리레이 등의 기기에서 사용되는 접점 중 하나를 나타냅니다. A접점은 기본적으로 회로가 폐쇄된 상태로, 연결되어 있을 때 전류가 흐를 수 있는 상태입니다. 이는 전기 신호나 전류의 통로를 제공합니다. A접점은 회로를 닫아 전류의 흐름을 허용하거나 차단하여 전류의 흐름을 막을 수 있습니다. B접점은 A접점과는 반대로, 회로가 개방된 상태를 나타냅니다. B접점은 스위치나 리레이 등의 기기에서 접속이 되지 않았을 때의 상태를 의미합니다. B접점은 회로를 차단하여 전류의 흐름을 막습니다. C접점은 스위치나 리레이 등의 기기에서 사용되는 추가적인 접점을 의미합니다. C접점은 A접점..

세라믹(Ceramic)으로 저항을 만드는 이유 [내부링크]

세라믹은 저항재료로 사용되는 이유는 여러 가지가 있습니다. 다음은 세라믹이 저항을 만드는 이유에 대한 자세한 설명입니다. 1. 고온 내구성: 세라믹은 고온에서 안정적인 성능을 유지할 수 있습니다. 저항은 전기에너지를 열에너지로 변환시키는데, 고온에서도 안정적인 전기 특성을 유지하는 세라믹 재료는 저항으로 사용하기에 적합합니다. 2. 절연성: 세라믹은 높은 절연성을 가지고 있습니다. 전기적으로 절연되는 성질 때문에 세라믹 저항은 다른 전기 부품과의 간섭을 최소화하고 안전한 전기 회로를 구성하는 데 도움이 됩니다. 3. 안정성과 정확성: 세라믹 저항은 시간이 지나도 안정된 저항 값을 유지할 수 있습니다. 이는 세라믹 재료의 화학적 안정성과 신뢰성에 기인합니다. 또한, 세라믹 저항은 정확한 저항 값을 제공하기..

부트로더(Bootloader)란? [내부링크]

부트로더(Bootloader)는 컴퓨터 시스템이 부팅될 때 실행되는 프로그램입니다. 부트 로더는 운영 체제를 로드하고 실행하기 전에 하드웨어 초기화, 시스템 구성, 운영 체제의 로딩을 담당합니다. 이는 컴퓨터의 전원이 켜질 때부터 운영 체제가 동작하기 시작할 때까지의 초기화 및 준비과정을 담당하는 중요한 소프트웨어입니다. 부트 로더의 주요 기능은 다음과 같습니다: 1. 하드웨어 초기화: 부트 로더는 컴퓨터 시스템의 주요 하드웨어 구성 요소를 초기화합니다. 이는 메모리, 프로세서, 주변 장치 등과 같은 하드웨어를 올바르게 설정하고 초기화하는 것을 의미합니다. 2. 부트 스트랩 로더: 부트 로더는 운영 체제의 실제 위치를 찾아서 해당 영역의 데이터를 메모리로 로드합니다. 이를 통해 운영 체제의 실행을 시작할..

[맛집추천] 홍대스앤샤 | 일산 맛집 [내부링크]

원마운트맛집은 고민없이 홍대스앤샤 일산호수공원점! 원마운트맛집을 찾고 계신 여러분을 위해 준비한 포스팅, 밀푀유나베 맛집으로 유명한 홍대스앤샤 일산호수공원점을 소개해드릴까 해요. 사계절 내내 사람이 붐비는 원마운트 워터파크! 이제 곧 여름이 다가오니까 남들이 알기 전에 맛집을 선점해두는 것도 아주 좋은 방법 중에 하나라고 생각해요~ 일단 원마운트 워터파크와 통로로 연결돼있어서 접근성이 아주 훌륭하고, 일산호수공원이나 일산가로수길과도 인접해서 일산에 방문하면 꼭 들려야 하는 핵심 지역에 위치하고 있답니다. 밀푀유나베로 유명한 홍대스앤샤가 일산에도 있다는 사실에 처음에 감격했던 기억이 나네요. 세계에서 가장 많이 밀푀유나베를 판매하고, 맛집으로 방송 3사에 출연한 경력도 있는 식당이라면 원마운트맛집으로 소개..

PID제어란 무엇인가? [내부링크]

안녕하세요, 오늘은 PID제어란 무엇인지에 대해 간단히 알아보겠습니다. PID 제어는 제어 시스템에서 가장 널리 사용되는 제어 방법 중 하나입니다. PID는 Proportional, Integral, Derivative의 약자이며, 이 방법은 피드백 제어에서 사용됩니다. PID 제어는 일반적으로 기술적인 프로세스의 상태를 유지하거나 원하는 목표 상태로 조정하는 것을 목적으로 합니다. 제어기는 기술적인 프로세스의 출력값과 목표값을 비교하고, 이 차이값을 이용하여 제어 입력값을 계산합니다. Propotional 제어는 출력값과 목표값의 차이에 비례하여 제어 입력값을 계산합니다. 이 방법은 출력값이 목표값에 비례하게끔 제어하는 방법으로, 오차가 클수록 큰 제어 입력값이 생성됩니다. Integral 제어는 오차..

LAN Cable / Ethernet Pinmap [내부링크]

안녕하세요, 오늘은 랜케이블 또는 이더넷의 핀맵을 알아보겠습니다. 이상으로 오늘의 포스팅을 마칩니다. 감사합니다!

RS-422/485 Pinmap [내부링크]

안녕하세요, 오늘은 RS-422와 RS-485의 핀맵을 알아보겠습니다. 이상으로 오늘의 포스팅을 마칩니다. 감사합니다.

RS-232 Pinmap [내부링크]

안녕하세요, 오늘은 시리얼 통신 RS-232 핀맵에 대해 알아보겠습니다. 이상으로 오늘의 포스팅을 마칩니다. 감사합니다.

시리얼 통신이란? [내부링크]

안녕하세요, 오늘은 통신의 기본중의 기본인 시리얼 통신에 대해 알아보겠습니다. 임베디드 시스템에서 시리얼 통신(Serial Communication)은 데이터를 한 비트씩 차례대로 전송하는 통신 방식입니다. 일반적으로 병렬 통신에 비해 적은 개수의 전선으로 통신할 수 있으며, 신호 전달 거리가 긴 경우에도 안정적인 통신이 가능합니다. 대표적인 시리얼 통신 프로토콜로는 UART(Universal Asynchronous Receiver/Transmitter) 와 SPI(Serial Peripheral Interface), I2C(Inter-Integrated Circuit) 등이 있습니다. UART는 비동기적으로 데이터를 전송하며, 각 데이터 사이에 특별한 제어신호를 사용하여 데이터의 시작과 끝을 표시합니다..

MCU 인터럽트 기능 [내부링크]

안녕하세요, 오늘은 상당히 중요한 개념인 인터럽트에 대해 알아보겠습니다. 임베디드 시스템에서 인터럽트는 중요한 개념 중 하나입니다. 인터럽트는 프로세서가 현재 수행 중인 작업을 중단하고, 우선순위가 높은 작업을 수행할 수 있도록 하는 메커니즘입니다. 즉, 인터럽트는 우선순위가 높은 작업이 발생했을 때, 시스템이 이를 즉시 처리할 수 있도록 하는 것입니다. 인터럽트는 다양한 소스에서 발생할 수 있습니다. 예를 들어, 타이머 인터럽트는 주기적으로 발생하며, 외부 하드웨어 인터럽트는 특정 이벤트가 발생했을 때 발생합니다. 인터럽트가 발생하면 프로세서는 인터럽트 서비스 루틴(ISR)이라고도 불리는 특별한 함수로 점프하여 인터럽트를 처리합니다. 인터럽트 처리가 끝나면, 프로세서는 이전에 수행 중이던 작업을 계속 ..

레지스터란 무엇인가? [내부링크]

안녕하세요, 오늘은 레지스터에 대해 알아보겠습니다. 학부시절 마이컴 수업 첫 시간에 교수님께서 여러분은 결국 레지스터에 대해 배우는 것이라고 했던 기억이 아직까지 생생하네요. 임베디드 시스템에서 레지스터(register)는 중앙처리장치(CPU) 내부에 있는 저장장치입니다. 레지스터는 매우 빠른 속도로 데이터를 읽고 쓸 수 있는 메모리이며, CPU가 처리할 데이터나 명령어를 일시적으로 저장할 수 있습니다. 임베디드 시스템에서 레지스터는 CPU의 성능과 시스템의 성능을 결정하는 중요한 요소입니다. 레지스터는 프로그램 카운터(PC), 스택 포인터(SP), 어떤 레지스터에서 다음에 처리할 데이터를 가리키는 목적으로 사용됩니다. 또한, 레지스터는 임베디드 시스템의 입출력 포트와 메모리와의 인터페이스를 제공하고, ..

H-bridge 회로 [내부링크]

안녕하세요, 오늘은 H-bridge 회로에 대해서 알아보겠습니다. H-bridge 회로는 전류를 제어하는 목적으로 사용되는 회로 중 하나입니다. 이 회로는 4개의 저항과 4개의 트랜지스터로 구성되며, 일반적으로 DC 전원에서 작동합니다. H-bridge 회로는 전류를 제어하는 용도로 많이 사용됩니다. 예를 들어, 모터 제어 및 전자 부하를 조절하는 데 사용됩니다. 이 회로는 전류를 양방향으로 제어할 수 있기 때문에 모터의 회전 방향을 제어하는 데 사용됩니다. 또한, 이 회로는 전기 자동차의 충전기와 같은 고전력 회로에서도 사용됩니다. H-bridge 회로는 입력 신호를 받아 출력 신호를 생성하는 방식으로 작동합니다. 트랜지스터의 출력 전압이 고정되어 있을 때, 입력 신호가 변경되면 출력 신호가 반대로 변..

Volatile 을 사용하는 이유 [내부링크]

안녕하세요, 오늘은 C언어에서 Volite을 사용하는 이유에 대해 알아보겠습니다. C언어의 'volatile' 키워드는 컴파일러의 최적화 최적화를 방지하고 변수가 항상 메모리에서 읽혀지도록 보장하는 데 사용됩니다. 일반적으로 C언어에서 변수는 메모리에서 읽어들여 레지스터에 저장됩니다. 이는 프로그램의 속도를 빠르게 하지만, 변수가 변경되는 시점을 알 수 없게 됩니다. 이 때문에 하드웨어와 관련된 변수의 경우, 메모리에 바로 접근해야 합니다. 'volatile' 키워드는 이와 같은 경우에 사용됩니다. 'volatile'로 선언된 변수는 항상 메모리에서 읽혀지고, 최적화를 방지하기 때문에 값이 언제든지 바뀔 수 있음을 보장합니다. 예를 들어, 다음과 같이 'volatile' 키워드를 사용하여 변수를 선언할 ..

애플페이와 삼성페이의 차이점 [내부링크]

안녕하세요, 오늘은 애플페이와 삼성페이의 차이점에 대해 알아보겠습니다. 애플페이와 삼성페이는 모바일 결제 시스템으로, 사용자가 스마트폰을 통해 간편하게 결제할 수 있도록 돕는 기술입니다. 이 둘의 차이점은 다음과 같습니다. 지원하는 기기: 애플페이는 아이폰과 애플워치에서만 사용 가능합니다. 삼성페이는 삼성 스마트폰과 갤럭시 워치 등 삼성 제품군에서 사용 가능합니다. 결제 방식: 애플페이는 NFC 기술을 이용한 결제 방식을 사용합니다. 사용자가 아이폰 또는 애플워치를 결제 단말기에 가까이 대면 결제가 이루어집니다. 삼성페이는 MST(Magnetic Secure Transmission)와 NFC 기술을 모두 지원합니다. 이는 모바일 결제 단말기가 지원하는 결제 방식에 따라 결제가 이루어집니다. 보안: 애플페..

자료구조의 중요성 [내부링크]

안녕하세요, 오늘의 포스팅에서는 자료구조가 소프트웨어에서 얼마나 중요한지 알아보겠습니다. 자료구조는 컴퓨터 과학 분야에서 중요한 개념 중 하나입니다. 자료구조란 데이터를 구성하고 저장하는 방법을 다룹니다. 이는 컴퓨터에서 데이터를 효율적으로 처리하고 관리하기 위한 필수 요소입니다. 자료구조를 사용하면 데이터를 빠르게 검색하고 정렬할 수 있습니다. 또한, 자료구조를 통해 메모리를 효율적으로 사용하고, 코드의 가독성을 높일 수 있습니다. 예를 들어, 배열은 데이터를 저장하는 가장 간단한 방법 중 하나이지만, 데이터를 추가하거나 삭제하는 경우에는 메모리 사용이 비효율적일 수 있습니다. 이러한 경우, 링크드 리스트와 같은 다른 자료구조를 사용하면 더 효율적으로 데이터를 관리할 수 있습니다. 또한, 자료구조는 알..

임베디드 기술이 쓰이는 분야 [내부링크]

안녕하세요, 오늘은 임베디드 기술이 쓰이는 분야에 대해 알아보겠습니다. 임베디드 기술은 다양한 분야에서 활용되고 있습니다. 일반적으로는 작은 컴퓨터나 마이크로컨트롤러 등을 사용하여 제어 및 처리 기능을 내장한 시스템을 만드는 기술로, 다양한 제품 및 시스템에서 사용됩니다. 자동차 분야: 자동차의 엔진, 제어장치, 브레이크, 에어백 등에서 임베디드 기술이 사용됩니다. 가전 제품 분야: 가전 제품에서는 세탁기, 에어컨, TV, 냉장고 등에서 임베디드 시스템이 사용됩니다. 의료 분야: 의료 분야에서는 의료기기, 생체 신호 측정 장비, 의료 영상장비 등에서 임베디드 기술이 사용됩니다. 산업 자동화 분야: 산업 자동화 분야에서는 공장 자동화, 제조 장비 제어, 제어 및 모니터링 시스템 등에서 임베디드 시스템이 사..

옴의 법칙 [내부링크]

안녕하세요, 오늘은 기본중의 기본인 옴의 법칙에 대해 알아보겠습니다. 옴의 법칙(Ohm's Law)은 전기회로에서 전압(Voltage), 전류(Current), 저항(Resistance)의 관계를 나타내는 법칙입니다. 이 법칙은 독일의 물리학자 조지 시몬 옴(Georg Simon Ohm)에 의해 발견되어 1827년에 발표되었습니다. 옴의 법칙은 전압과 전류, 저항 사이에 비례 관계가 있으며, 수식으로는 V = IR로 나타낼 수 있습니다. 여기서 V는 전압, I는 전류, R은 저항을 나타냅니다. 따라서 전압이 고정된 상황에서 저항이 증가하면 전류는 감소하고, 저항이 감소하면 전류는 증가하게 됩니다. 이와 같은 법칙을 이용하여 전기회로의 설계와 분석을 할 수 있습니다. 옴의 법칙은 단순한 형태의 수식이지만,..

키르히호프의 전압 법칙 (KVL) [내부링크]

안녕하세요, 오늘은 키르히호프의 전압 법칙에 대해 알아보겠습니다. 키르히호프의 전압 법칙(Kirchhoff's Voltage Law, KVL)은 전기 회로에서 여러 개의 전압 소스와 전기 소자가 연결되어 있을 때, 전기 회로의 모든 분기점에서 전압의 대략적인 합이 0이 되어야 함을 나타내는 법칙입니다. 즉, 전기 회로의 한 지점에서 출발하여 그 회로를 돌아 다시 해당 지점으로 돌아왔을 때, 지나간 모든 전압이 0이 되어야 함을 의미합니다. 이 법칙은 에너지 보존 법칙의 일종으로, 전기 회로에서 전압 소스의 출력과 소비되는 전압의 합이 일치해야 함을 나타냅니다. 이를 수식으로 나타내면, KVL은 다음과 같이 표현됩니다. ∑V = 0 여기서 ∑V은 전기 회로에서 한 루프(loop)에서 이동하는 모든 전압의 ..

키르히호프의 전류 법칙 (KCL) [내부링크]

안녕하세요 오늘은 키르히호프의 전류 법칙에 대해서 알아보겠습니다. 이 법칙은 키르히호프의 지점의 법칙, 키르히호프의 분기점 법칙 또는 노달법, 그리고 키르히호프의 첫 번째 법칙입니다. 키르히호프의 전류 법칙은 전기 회로에서 전류의 크기와 방향을 계산하는 데 사용되는 법칙입니다. 이 법칙은 다음과 같이 설명할 수 있습니다. 어떤 노드(접점)에서든 들어오는 전류의 합은 그 노드에서 나가는 전류의 합과 같습니다. 즉, 전류는 대부분의 경우 회로를 따라 흐르기 때문에 어떤 지점에서 전류의 합이 0이 됩니다. 또는 도선망(회로)안에서 전류의 대수적 합은 0입니다.(단, 들어온 전류의 양을 양수로, 나아간 전류의 양을 음수로 가정한다 또한 도선상의 전류의 손실은 없다고 가정.) 들어오는 전류를 +, 나가는 전류를 ..

OP-Amp 회로 [내부링크]

안녕하세요, 오늘은 굉장히 자주 쓰이는 Op-amp 회로에 대해 알아보겠습니다. 오퍼레이션 앰프(Operational Amplifier, Op-amp)는 입력신호를 증폭하거나 처리하는 데에 이용되는 전자 회로의 일종입니다. 오퍼레이션 앰프는 보통 증폭기로 사용되며, 고유 진동주파수, 대역폭, 입력 임피던스 등의 특성이 우수하여 다양한 응용분야에서 사용됩니다. 1. 입력 단자: 입력 전압을 받는 단자입니다. 보통은 비반전 입력단과 반전 입력단이 있으며, 이 둘 사이의 차이 전압을 증폭합니다. 2. 출력 단자: 증폭된 전압을 출력하는 단자입니다. 3. 전원 단자: 오퍼레이션 앰프가 동작하기 위한 전원을 공급하는 단자입니다. 보통 양극성 전원(+Vcc, -Vcc)을 사용합니다. 4. 오픈 루프 이득(AOL):..

MCU의 ADC / DAC 기능 [내부링크]

안녕하세요, 오늘은 mcu의 기능 중 아날로그 신호를 다루는 ADC와 DAC 기능에 대해 알아보겠습니다. MCU (Microcontroller Unit)는 ADC (Analog-to-Digital Converter) 및 DAC (Digital-to-Analog Converter)와 같은 다양한 주변장치를 포함하고 있습니다. ADC는 아날로그 입력 신호를 디지털 신호로 변환해 주는 기능을 제공합니다. 아날로그 신호는 일반적으로 연속적이며 무한히 많은 값을 가지고 있습니다. 하지만 디지털 회로는 이러한 무한한 값을 처리하지 못하므로, ADC는 아날로그 신호를 디지털 값을 가지는 이산적인 형태로 변환하여 MCU에서 처리할 수 있도록 해줍니다. ADC는 보통 아날로그 입력 신호의 크기를 측정하는 기능을 수행합니..

임베디드 시스템의 MCU란 무엇인가? [내부링크]

안녕하세요, 오늘은 임베디드 시스템에서 굉장히 중요한 개념인 MCU에 대해서 알아보겠습니다. 임베디드 시스템에서 사용되는 MCU (Microcontroller Unit)는 소형 컴퓨터 시스템으로, 주로 제한된 리소스에서 동작하면서 다양한 기능을 수행합니다. MCU는 마이크로프로세서와 주변 장치 (주변장치, 메모리, 타이머, ADC, DAC 등)가 통합된 칩 형태로 구성되어 있습니다. 1. 작은 크기와 저전력: MCU는 소형 디자인과 저전력 소비를 위해 최적화되어 있습니다. 이는 이러한 시스템이 배터리나 작은 전원 공급 장치로 구동되어야 하는 경우에 매우 유용합니다. 2. 다양한 주변장치와의 인터페이스: MCU는 다양한 주변장치와의 인터페이스를 제공합니다. 예를 들어, 디지털 I/O, UART, SPI, ..

MCU 타이머 기능 [내부링크]

안녕하세요, 오늘은 MCU의 기능을 알아보는 첫 번째 시간이자 타이머 기능에 대한 포스팅입니다. 먼저 MCU (Microcontroller Unit)는 매우 작고 저전력의 컴퓨터 시스템으로, 다양한 응용 분야에서 사용됩니다. MCU는 주변장치와의 상호작용이 필요한 시스템에서 많이 사용됩니다. 이때 MCU의 타이머 기능은 이러한 시스템에서 매우 중요한 역할을 합니다. 1. 시간 측정: MCU는 내부 클럭과 타이머를 사용하여 시간 측정을 수행할 수 있습니다. 이 기능을 이용하여 시간 기반의 응용 프로그램을 구현할 수 있습니다. 예를 들어, MCU는 타이머를 사용하여 정확한 지연 시간을 만들어내는 등의 작업을 수행할 수 있습니다. 2. 주파수 생성: MCU는 타이머를 사용하여 외부 주변장치에 신호를 생성할 수..

임베디드 소프트웨어 개발 프로그래밍 언어 종류 [내부링크]

안녕하세요 오늘은 임베디드 소프트웨어를 개발할 때 많이 사용되는 프로그래밍 언어들의 종류와 특징에 대해서 살펴보겠습니다. 임베디드 소프트웨어를 개발하기 위해 사용되는 프로그래밍 언어는 여러 가지가 있습니다. 다음은 대표적인 임베디드 소프트웨어 개발 언어입니다. 1. C/C++: C/C++은 임베디드 시스템 개발에서 가장 널리 사용되는 언어 중 하나입니다. C/C++는 저수준 하드웨어 제어가 가능하며, 메모리 및 프로세서 사용에 대한 직접적인 제어가 가능합니다. 2. Assembly Language: 어셈블리어는 컴퓨터와 가장 가까운 언어로, 메모리와 레지스터에 직접 접근이 가능합니다. 또한, 매우 효율적이기 때문에 제한된 리소스를 가진 임베디드 시스템에서 자주 사용됩니다. 3. Python: Python..

임베디드란 무엇인가? [내부링크]

안녕하세요, 오늘은 이 블로그에서 다룰 '임베디드'란 무엇인지에 대해서 알아보겠습니다. 임베디드 시스템은 컴퓨터 시스템의 일종으로, 특정한 기능을 수행하기 위해 설계된 소형 컴퓨터 시스템입니다. 임베디드 시스템은 대부분의 경우 작고 경제적인 시스템으로, 제한된 리소스를 가지고 작동하며 특정한 제어, 모니터링, 통신 또는 신호 처리 등의 기능을 수행합니다. 이러한 시스템은 자동차, 가전 제품, 의료기기, 산업 자동화, 핸드폰, 카메라 등 다양한 분야에서 사용됩니다. 1. 작고 경제적인 시스템: 임베디드 시스템은 대개 기능이 제한된 컴퓨터로, 작고 경제적인 하드웨어와 소프트웨어로 구성되어 있습니다. 2. 실시간 성능: 임베디드 시스템은 종종 실시간 제어를 필요로 하며, 다른 시스템과의 상호작용과 상호 연동을..

[맛집추천] 지강낙곱새 마포점 | 공덕역 맛집 [내부링크]

안녕하세요 오늘은 낙곱새 맛집을 추천드려요 공덕역 주변에 있는 지강낙곱새입니다 먹자골목 입구 쪽에 있는 파리바게트 건물 2층에 위치해 있습니다 오른쪽 계단으로 올라가시면 돼요 주차는 고려아카데미텔 2 주차 시 30분 영수증 처리 가능해요 새로 생긴지 얼만 안되어서 확실히 인테리어가 깔끔하고 주문도 편리해요 태블릿으로 메뉴 선택하시고 인분이랑 맵기 선택 등등 하시면 편리하게 주문이 가능하더라고요 11:00 AM - 10:00 PM 매주 일요일 정기휴무 먼저 밑반찬이 나오는데요 밑반찬은 콩나물, 김치, 마카로니, 어묵볶음입니다 평균이상의 꽤나 괜찮은 구성이었습니다 김치는 역시 국산이라고 하네요 메인 메뉴 차돌낙곱새입니다 일 인분에 19000원인데요 낙지랑 곱창 등 푸짐하게 많이 들어있더라고요 가성비는 꽤나 ..

[맛집추천] 제주스시호타루 | 애월항 맛집 [내부링크]

안녕하세요 애월항 맛집을 소개드리고 싶어 포스팅을 합니다 제주스시호타루입니다 바로 옆에 애월항이 참 멋지고 운치 있어요 주차장도 참 깔끔하고 좋았어요 차를 가지고 가시는 분들도 편하게 가보실 만합니다 나무 재질이 가게와 잘 어울리고 편안하고 따듯한 느낌을 주네요 깔끔한 매장의 인테리어입니다 11:00 AM - 9:00 PM [매주 화요일 정기휴무] 메뉴판입니다 제철생선이 메뉴에 있는데 너무 기대되게 하더라고요 확실히 바닷가 주변에서 먹는 제철 생선 스시는 못 참죠! 확실히 애월항 맛집답습니다 바다향을 듬뿍 머금은 제주 호타루 한담만의 스페셜 코스인데요 두툼한 고등어살의 식감과 풍미가 가득한 봉초밥이 일품입니다 포스팅하면서 다시 사진을 보니 군침이 도네요 보기만 해도 퀄리티가 느껴지시죠? 모둠초밥정식은 초..

[맛집추천] 송도 수블라키아 | 인천 맛집 [내부링크]

안녕하세요 오늘은 처음으로 맛집 추천 포스팅을 하네요 인천 송도에 있는 그리스음식점 수블라키아입니다!! 따듯한 외관이 멋지고 맘에 들어서 사진 좀 찍어보았습니다 ㅎㅎ 상가 주차장을 이용했는데 계단으로 올라오니 바로 앞에 위치해서 좋았네요 그리스음식을 처음 접했는데 서부권 국가들의 음식과 크게 차이는 없는 것 같으면서 나름의 개성도 있고 거부감 없이 맛있더라고요 아늑한 매장의 분위기도 참 좋았어요 11:00 - 21: 00 [브레이크타임] 15:00 - 17:00 [라스트 오더] 14:15(평일) / 15:15(주말) / 20:15(평일, 주말) 식전빵이 먼저 나오는데 퀄리티가 상당해서 사장님께 여쭤보니 화덕에 직접 굽는다고 하시더라고요 어쩐지 너무 담백했습니다 마르게리타 피자입니다 확실히 피자도 화덕에 ..

션트(SHUNT) 저항 [내부링크]

안녕하세요 오늘은 블로그 개설 인사글 이후 첫 글인데요, 션트 저항에 대하여 알아보겠습니다. 기본적으로 저항값이 매우 낮은 저항을 션트라고 부릅니다. 한국말로 분류기라고도 합니다. 즉 전류를 나눈다는 뜻입니다. 때때로 션트 저항(Shunt Resistor)은 전류계 저항이라고도 불려집니다. 션트 저항을 사용하는 가장 주된 목적은 전류를 측정하기 위함입니다. 전류를 측정하는 방법은 전류가 흐르는 전선 중간에 저항을 직렬로 넣고 저항에서 발생하는 전압을 측정하는 것입니다. 부하에 흐르는 전류를 측정하고 싶다면 부하의 저항보다 충분히 낮은 션트 저항을 직렬로 삽입하고, 그다음 션트 저항 양단에 걸리는 전압을 측정하는 것입니다. 션트 저항을 만약 0.001옴짜리를 사용하였다 치고, 0.01V의 전압이 걸린다면 ..

블로그를 시작하며 [내부링크]

나는 30대의 직장인으로 메카트로닉스공학을 전공하여 현재 회사에서 소프트웨어 엔지니어로 일하고 있다. 일을 하면 할수록 사용해보지 못한 제어기들을 접하고, 나의 실력이 매우 부족함을 느끼고 있다. 구글링을 항상 달고 살며 일을 하고 커리어를 쌓고 있는데, 이러한 공부들을 전문적이진 않더라도 나만의 스킬업 장치로 만들고 기록하기 위하여 블로그를 시작해본다. (물론 블로그 운영을 통한 부수입 또한 중요함..ㅎㅎ) 주로 나는 학부 때부터 회사에서 STM사의 제어기들을 사용하여 왔으며, NXP사의 제어기도 다루어 보았다. 프로그램 언어는 c를 메인으로 c++과 python을 조금 하는데 그나마 내 재주 중에는 코딩이 제일 괜찮은 편인 것 같다. 개발 툴은 IAR을 주로 사용해왔다. 제어기에 OS를 올려서 사용하..