본문 바로가기

배움의 즐거움

(111)
말이 통해야 일이 통한다 - 리뷰 (1) 조금 더 일찍 알았더라면 좋았을 책 얼마 전부터 심리상담사와 테라피를 다시 시작하였다. 요즘 다시 결혼을 앞둔 남자친구와의 잦은 다툼으로 인해 마음이 불안해졌기 때문이다. 그리고 심리상담가가 첫 상담에서 추천해 준 책이 바로 이 책이다. 처음 이 책의 제목을 들었을 때, 내가 처음 든 생각은 두 가지였다. 1. 나는 커뮤니케이션을 잘 하는 편이고 직장생활을 할 때 동료들과도 크게 문제가 없었는데.. 2. 남자친구와의 싸움을 줄이고 싶은 상황인데 이건 좀 관련없는 책 아닌가? 그리고 이 두 가지 생각은 이 책의 첫장을 읽자마자 와장창 깨졌다. 이 책을 통해 내가 대화를 정말 잘못된 방식으로 해왔다는 사실을 깨닫게 되었고, 이 책을 통해 남자친구와의 관계는 확연하게 좋아질 수 있었다. 그리고 내가 최근 마찰이 있던 사람과의 갈등도 해소할 수 ..
ATmega128로 배우는 마이크로컨트롤러 프로그래밍(8) 아날로그-디지털 변환 10.1 ATmega128의 ADC 아날로그 데이터를 디지털 데이터로 변환하는 장치를 아날로그-디지털 변환기(Analog-Digital Converter, ADC)라고 한다. 마이크로컨트롤러는 아날로그 값을 입력받아 ADC를 거쳐 디지털 데이터로 변환한 후 마이크로컨트롤러 내의 CPU에서 처리한다. ATmega128은 10비트 해상도의 ADC를 포함하고 있는데, 이는 입력되는 전압을 0에서 1,023(2의 10승 - 1) 사이의 디지털 값으로 변환할 수 있다는 것을 의미한다. ADC 채널은 8개로, 8개의 아날로그 출력장치를 ATmega128에 연결할 수 있지만, 8개의 채널은 하나의 AD 변환기 멀티플렉서(MUX)에 연결되어 있으므로 한 번에 하나의 아날로그 입력만 디지털로 변환할 수 있다. 아날로그 ..
ATmega128로 배우는 마이크로컨트롤러 프로그래밍(7) UART 시리얼 통신 기본 내용 GPIO핀은 한번에 한 비트의 데이터만 전송할 수 있으므로 병렬통신으로 8개의 LED를 제어하기 위해서는 8개의 GPIO핀을 사용해야 한다. 병렬통신을 사용하게 되는 경우 연결해야하는 핀의 개수가 많아져서 복잡해지므로 고속의 데이터 전달이 필요한 경우를 제외하고는 많이 사용되지 않는다. 병렬통신에서 8개 비트를 8개의 입출력 핀을 통해 한번에 전송한다면, 직렬(시리얼 통신)에서는 1개의 입출력 핀을 통해 8개 비트를 여덟번에 나누어 전송한다. 시리얼 통신에는 SPI와 I2C와 같은 다양한 방법이 있지만, 이번 장에서는 가장 흔히 사용되는 방법인 UART에 대해서 알아볼 것이다. 9.1 UART 위의 그림과 같이 데이터를 여덟 번에 나누어서 보내는 경우, 받는 쪽에서 얼마나 자주 데이터를 확인할 것인지 알..
불곰의 가치투자 따라하기 - (2) 23개의 실전종목을 통한 가치투자 사례보기 지난 글에서는 불곰의 가치투자 따라하기 책의 첫 번째 파트인 불곰의 주식투자 3단계 방법에 대하여 정리해 보았다. 3단계를 간단하게 요약해 보자면 1단계는 기초단계로써 3중 필터링을 통해 종목을 압축하는 단계이고, 2단계는 조사 단계로써 회사에 대한 정보를 수집하는 단계이다. 그리고 마지막 3단계는 결정 단계로, 투자 가치를 최종 확인한 후 저가에 매수하는 단계이다. 3단계에 관한 좀 더 자세한 설명은 내용은 앞선 글에서 볼 수 있다. 앞의 글을 먼저 읽고 와서 이번 글을 읽는 것을 추천한다. 불곰의 가치투자 따라하기 - (1) 실패 없는 주식투자 3단계 어릴 적부터 부모님은 언니와 나에게 항상 주식은 하지 말라는 말을 하셨다. 주식으로 누가 망했다더라 등등의 이야기는 주변 사람들 뿐만 아니라 드라마에서..
ATmega128로 배우는 마이크로컨트롤러 프로그래밍(6) 디지털 데이터 출력과 입력 이번 글에서는 책의 챕터 7에서 다뤄진 디지털 데이터 출력과 챕터 8에서 다뤄진 디지털 데이터 입력에 대해서 함께 정리할 것이다. 7.1 ATmega128의 데이터 핀 ATmega128은 64개의 핀을 가지고 있고 이 중 53개의 핀을 디지털 데이터 입출력 핀으로 사용할 수 있다. 이 마이크로컨트롤러의 중앙처리장치는 1바이트(8비트) 크기의 워드(word) 단위로 데이터를 처리하므로, 8개의 입출력 핀을 묶어 포트라는 이름으로 관리한다. 포트는 외부 장치와 데이터를 교환하는 기본 단위가 된다. 마이크로컨트롤러는 마이크로프로세서와는 다르게 주변장치와 데이터를 주고받는 기능이 칩 내에 포함돼 있고, 이를 위해 사용하는 임시 기억공간을 입출력 레지스터라고 한다. ATmega128에는 256개의 레지스터를 정의..
ATmega128로 배우는 마이크로컨트롤러 프로그래밍(5) - ATmega128 보드 책의 챕터 3(개발 환경 설정)과 챕터 4(마이크로컨트롤러를 위한 C언어)는 굳이 블로그에 정리하지 않고 스킵하기로 하였다. 개발환경 설정의 경우 나는 맥을 쓰기 때문에 책에서 설명하는 Atmel Studio를 쓰지 않을 예정이고, C언어는 프로그래밍을 기본적으로 할 줄 알기 때문에 나중에 필요한 부분을 찾아서 쓰면 된다고 생각하기 때문이다. 그렇다고 읽지 않은 것은 아니고 다 읽었지만 굳이 정리를 할 필요는 없다고 느꼈기에 스킵하기로 하였다. 챕터 5는 책에서 사용하게 될 ATmega128보드에 관한 설명인데, 나는 해당 보드를 사용하진 않을 것이지만 그래도 보드 구성이 어떻게 되어있는지도 궁금하였고 나중에 내가 보드를 직접 구성할 때 도움이 될 것 같아서 정리하기로 하였다. 앞에서 배운 내용이 조금 ..
ATmega128로 배우는 마이크로컨트롤러 프로그래밍(4) - 마이크로컨트롤러를 위한 전자공학 이번 글은 책의 부록 B에 실린 마이크로컨트롤러를 위한 전자공학의 부분을 정리할 예정이다. 이 책의 좋은 점은 단순히 마이크로컨트롤러에 대해서 설명하는 것이 아니라 그 외에도 내가 마이크로컨트롤러를 다루면서 궁금했던 기본적인 점들도 함께 다뤄준다는 것이다. 물론 많은 내용을 몇장에 담은 요약 내용이기 때문에 더 깊은 내용을 알고 싶다면 관련 도서를 읽는 것이 좋겠지만, 전반적인 내용을 간단히 훑고 지나갈 수 있어서 좋았다. 예전에 알고 있었지만 까먹었던 내용도 상기해가며 읽었다. B1. 전류, 전압, 전력 전자공학의 핵심인 전자는 원자를 이루는 구성 요소 중 하나로 음(-)의 전기를 띠는 입자를 말한다. 원자는 양(+)의 전기를 띠는 양성자와 전기를 띠지 않는 중성자로 이루어진 원자핵과, 그 외곽을 회전..
ATmega128로 배우는 마이크로컨트롤러 프로그래밍(3) 아두이노와 마이크로컨트롤러 이 책의 3장은 원래 개발환경 설정에 관한 글이라 Atmel Studio를 설치하고 사용하는 방법에 대해서 이야기하고 있다. 그런데 나는 맥을 사용하고 있으므로 윈도우에만 설치 가능한 Atmet Studio를 설치할 수 없었기에(Virtual Box를 이용하면 할 수도 있지만 요즘 컴퓨터 용량이 부족해서 ㅠㅠ 얼마 전에 삭제하였다) 넘겼다. 찾아보니 맥 사용자들은 avrdude나 Arduino Studio를 사용해서 개발하는 것도 가능하다고 해서 나는 이미 깔려있는 Arduino Studio를 사용할 예정이다. 그리고 책을 둘러보던 중 34장에 아두이노와 마이크로컨트롤러에 관한 전반적인 설명이 있어서 이 챕터를 먼저 공부하기로 하였다. 34.1 아두이노 아두이노는 2005년 이탈리아에서 출범한 오픈소스 ..