전체 글 97

요즘 글을 너무 안쓰는군요.

스스로 정리하면서 하나하나 글로 풀어내려고 했는데 이게 생각보다 쉽지 않더군요. 지금 쓰는 글의 난이도는 정말 어린아이들을 위한 수준이지만 글로 풀어쓰고 또 풀어쓸 시간을 낸다는 것이 생각보 다 어렵다 는 것을 배우고 있습니다. 앞으로 어려운 내용도 쉽게 풀어써야하는데 많이 노력해야겠습니다. 좀더 신경써야겠습니다. 남는 시간이 아니라 시간을 만들어서 재대로 써야할것 같습니다. 재밌는것들도 만들어보고 말이죠. 사실 프로그래밍이고 회로공학이고 다 재밌는걸 만들어보자고 존재하는게 아니겠습니까? 글도 쓰면서 결과물들도 하나씩 만들어 올려봐야겠습니다. 예정된 글은 다음과 같습니다. 프로그래밍 -C언어 ( 진행중 )프로그래밍 -Scheme ( 진행중 )프로그래밍 -C#(예정)프로그래밍 -JAVA(예정)프로그래밍 -..

[전자 하드웨어 기초] 14. 축전기, 캐패시터 -2- ( 캐패시터의 직렬, 병렬연결 )

안녕하십니까. 리습입니다. 저항과 마찬가지로 캐패시터의 연결 방식에는 직렬 연결과 병렬 연결이 있습니다. 회로에서 직렬과 병렬로 캐패시터를 연결하였을 때 어떠한 현상이 일어나는지 알아보고 회로에서 읽는 방법을 알아보도록 하겠습니다. 저항과 마찬가지로 캐패시터의 연결에도 두가지가 있습니다. 바로 직렬 연결과 병렬연결입니다. 그럼 먼저 직렬 연결에 대하여 알아보도록 하겠습니다. 캐패시터의 직렬 연결 다음 그림은 캐패시터를 직렬 연결한 그림입니다. 각각 2패럿, 8패럿, 16패럿, 32패럿 의 크기를 가지는 캐패시터이며 직렬 연결로만 되어있습니다. 이럴경우 전체 캐패시터의 총 합을 구하는 공식은 다음과 같습니다. 전체 캐패시터의 용량 값의 역수는 각 캐패시터의 용량값 역수의 합과 같다 라는 의미 입니다. 마치..

[C언어]33. 예제를 통해 포인터에 능숙해지자.

안녕하십니까. 리습입니다. 계속해서 포인터를 공부하고 있습니다. 포인터는 '주소값'을 저장하는 변수공간이며, 공간의 크기는 모두 같으나 타입별로 '참조'하는 크기가 다르다 라고 말씀드렸습니다. 그럼 이런 포인터의 특징을 한번 직접 확인해보도록 하겠습니다. 4byte 의 변수공간을 만든후 이것을 포인터로 쪼개고 쪼갠 부분들을 재조립하는 코드를 만들어 보겠습니다. 실제로 통신에서 사용되는 방식입니다. 코드 #include int main( void ){ int box = 333333333; char *p1 , *p2; int emp_box = 0; p1 = (char *)&box; // box의 주소를 p1에 대입, 단 타입이 다르므로 캐스트연산 p2 = (char *)&emp_box; // emp_box의..

[전자 하드웨어 기초] 13. 축전기, 캐패시터 -1- ( 축전기란 무엇인가? )

안녕하십니까. 리습입니다. 전류의 흐름을 조절하는 소자에는 저항만 존재하는 것이 아닙니다. 흐름을 조였다 풀어줬다 하는 소자도 존재하죠. 바로 축전기, 캐패시터 입니다. 캐패시터란 무엇인가? 축전기는 전류를 저장하고 그 저장된 전류를 방출하는 소자입니다. 우리가 회로를 설계하고 전자의 흐름을 제어할때 때로는 흐름을 안정화 시켜야할 경우가 있습니다. 그럴 때 이 캐패시터를 사용하여 흐름이 원활할때 전류를 저장해 놓고 흐름이 원할하지 못할때 전류를 흘려주는 것입니다. 이런 캐패시터의 원리는 간단합니다. 두 도체 사이에 절연체를 채우고 양측이 전기적으로 이어지지 않도록 합니다. 그러면 양단에 전압이 걸리면서 도체에 전하가 모이게 되는것이죠. 전하가 모이게 되면 전류가 '충전'되는 것입니다. 이때 충전되는 전하..

[전자 하드웨어 기초] 12.저항 -8- (저항 설계시 고려해야 하는 사항)

안녕하십니까. 리습입니다. 저항은 회로 설계에 있어서 가장 중요하고 기본적인 부품입니다. 때문에 '정확한 의도를 가지고 설계에 반영'하는 것이 매우 중요합니다. 그래야 실 조립 및 디버깅 때 어떤 목적으로 이 저항이 쓰였는지 알 수 있기 때문이죠. 전에도 언급했듯이 저항의 용도는 전류의 제어와 전압의 분배입니다. ([전자 하드웨어 기초] 7. 저항 -3- (저항의 회로적 의미와 용도)). 때문에 회로에 용도에 알맞게 저항을 배치하여 설계를 해야합니다. 그럴 일은 없겠지만 직렬로 저항하나면 될 일을 여러개를 부착하여 조립 공정을 어렵게 하고 부품가격을 올리는 행위를 할 필요는 없죠. 두 번재로 저항의 특성들입니다. 각 저항은 소재 혹은 제조사의 차이로 미묘하게 특성이 다릅니다. 대략적인 사항은 비슷하겠지만..

[전자 하드웨어 기초] 11.저항 -7- ( 저항값 읽기, 데이터시트 보는법 )

안녕하십니까. 리습입니다. 저항의 종류도 알아보았으니 이제 그 저항을 읽는 방법을 알아보도록 하겠습니다. 먼저 DIP타입의 고정저항입니다. DIP타입의 고정저항 일반적으로 우리가 자주 보는 고정 저항은 띠를 가지고 있습니다. 총 4~5줄의 띠를 가지고 있죠. 각 띠는 각각의 의미를 가지고 있는데 다음과 같습니다. 어느쪽을 왼쪽에 두느냐는 띠의 간격을 보시면 됩니다. 조금 넓은 간격을 가지고있는 쪽이 오른쪽이죠. 띠의 의미는 왼쪽부터 3개(2개)는 유효숫자 값을 의미하고 그다음 띠는 10의 몇승인지 나타내며 마지막 맨오른쪽 띠는 이 저항이 가지고 있는 오차범위입니다. 각띠는 여러가지 색깔을 가짐으로써 각 값을 가지게 됩니다. 색과 그 값은 다음 표와 같습니다. 예를들어 빨간색 갈색 빨간색 황금색 이라면 2..

[전자 하드웨어 기초] 10.저항 -6- (저항의 종류 )

안녕하십니까. 리습입니다. 저항은 전기의 흐름을 방해하는 성질을 가지고 있으며 그 특징을 이용해 우리는 다양한 회로에 저항을 사용합니다. 저항에는 다양한 소재가 사용되는데 각 소재에 따라서 저항이 가지는 특성이 다릅니다. 디지털 회로의 경우 대부분의 저항을 사용해도 문제가 없지만 아날로그회로의 경우 미세한 노이즈가 문제를 일으키는 경우가 많기 때문에 각 저항의 특성을 잘 알아야만 합니다. 그럼 저항의 종류와 특징을 한번 알아보도록 하겠습니다. 저항의 종류에 대하여 알아보기전에 미리 알아야 하는 것이 있습니다. 저항의 경우 기판(PCB)에 어떻게 장착되냐에 따라서 딥(DIP)타입 과 에스엠디(SMD)타입 으로 나누어집니다. (세세하게 분류가 가능하나 크게 분류하면 두가지로 분류 가능합니다.) 딥타입 저항 ..

[전자 하드웨어 기초] 09.저항 -5- (전기 저항의 공식 )

안녕하십니까. 리습입니다. 저항은 표면적과 길이에 따라 그 값이 달라집니다. 이에 대한 공식을 하나 알아보도록 하겠습니다. 전기 저항의 공식 소재의 저항의 경우 그 소재의 단면적과 길이에 따라 저항값이 변하게 됩니다. 이것을 간단하게식으로 표현하면 다음과 같습니다. 이 식의 의미는 "저항값의 크기는 도선의 길이에 비례하고 단면적에 반비례한다" 라고 이해할 수 있습니다. 증명은 간단합니다. 도선의 양끝에 전압이 걸립니다. 전압이 걸리게되면 전기장이 생기게되고 이 전기장은 이때 전자가 받는 힘은 F = qE ( q : 전하량 , E : 전기장의 크기 ) 이기 때문에 때문에 도선내의 전자는 가속도 운동을 하며 움직이게 되죠 하지만 도선내에는 여러 입자 (원자 핵 등) 에 부딫치게 되고 전자는 종단속도에 이르게..

[C언어]32. 메모리를 직접 관리하는, 포인터에 대하여 알아보자 ( 이중포인터 )

안녕하십니까. 리습입니다. 포인터 중에서도 특이한 포인터가 있습니다. 바로 '포인터 주소를 저장하는 포인터' 입니다. 포인터가 '주소값'을 저장하기 때문에 생기는 특이한 포인터죠. 아직 포인터의 응용을 배우진 않았기 때문에 왜 존재하는지 의문이긴 하시겠지만, 우선은 이런것이 있다. 정도로 이해해주시기 바랍니다. 포인터의 주소를 저장하는 포인터 포인터라는 것도 특정 값을 저장하는 변수이기 때문에 메모리 공간을 점유하고 있습니다. 또한 메모리상의 '주소값'을 가지고 있죠. 그런데 포인터는 '참조(접근)' 할 수 있는 기능이 있기 때문에 포인터의 메모리 주소를 일반 포인터로 저장한다면 '참조'할때 문제가 생기죠. 쉽게 그림으로 보도록 하겠습니다. int 포인터를 통해서 int 변수를 가리키는 상황입니다. 이 ..

[C언어]31. 메모리를 직접 관리하는, 포인터에 대하여 알아보자 ( 포인터의 연산 )

안녕하십니까. 리습입니다. 포인터 변수 또한 변수이기 때문에 연산이 가능합니다. 하지만 포인터 변수는 '메모리 주소'를 저장하는 공간이기 때문에 일반적 변수와는 차이가 있죠. 필요하느냐, 그렇지 않느냐의 차이입니다. 하나씩 체크하면서 알아보도록 하겠습니다. 포인터 변수와 포인터 변수 사이의 연산 사칙연산 중 첫번째는 덧셈입니다. 포인터 변수 와 포인터 변수의 덧셈은 어떤 의미를 가지고 있을까요? 포인터 값끼리의 덧셈은 의미를 가지고 있지 않습니다. 단순한 주소와 주소의 덧셈이기때문에 사용이 될 일도 없습니다. 그래서 C언어에서는 포인터 변수끼리의 덧셈은 오류로 처리하고 있습니다. 두번째로 뺄셈입니다. 뺄셈은 덧셈과는 다르게 허용하고 있습니다. 포인터 변수값의 차 라는 것은 실 메모리에서 두 값의 거리 차..