Arduino

임베디드 일지/아두이노 기초

[아두이노 기초] Serial 통신

1. 기초이론 개발 경험상 아두이노를 포함해서 임베디드를 개발하는 데 있어 통신 서비스는 매우 중요합니다. 우선 무얼 개발할 지부터 개발 완성에 다다를 때까지 디버깅을 하는데 큰 도움을 주는 친구이기 때문입니다. 물론 개발하는 데 있어 금전적인 여유가 있어 Trace32와 같은 디버깅 툴이 있다면, 필요가 없을 수도 있습니다. 저도 현업 와서 처음 써본 거지만 해당 툴 없이 개발하라고 하면 역체감이 심할거 같네요. 아무튼 본론으로 돌아와서 통신은 임베디드를 설계할때 거의 항상 들어가게 됩니다. 통신에는 여러 종류가 있는데 해당 글에서 다루고자 하는 Serial 통신부터 해서 SPI, I2C, CAN, Ethernet 등 통신하면 수도 없이 많습니다. 그중에서 가장 기초인 Serial 통신에 대해 배워봅시..

프로젝트 일지/컴퓨터 HUD

[컴퓨터 HUD] Adafruit 라이브러리 적용해보기

인터넷에서 SSD1306 관련하여 검색해보니 여러 라이브러리가 존재했습니다. 그중에서 제일 API 사용이 익숙한 방식으로 선정했습니다. 맨 하단에 첨부되어 있는 라이브러리를 받아 예제를 실행시켜보면 API들에 대한 이해가 쉬울 것입니다. 받아서 보드에 플래시 해보면, 각 함수 별로 챡챡 수행되는 게 보입니다. 대략 흐름을 보면 화면에 대한 세팅을 하고 display를 하면 띄워지는 것 같더군요. 이 부분이 매우 직관적이라 마음에 들었습니다. 우선 예제 중에 중간에 텍스트를 좌표 기반으로 넣는 예제를 활용해 보았습니다. 대강 CPU / GPU / RAM 에 대한 사용률을 띄우고 싶었습니다. 이 라이브러리의 아쉬운 점이라고 하면 글씨 크기가 소수점 단위로 조절이 되지 않습니다. 글씨 크기가 1로 설정할 경우..

임베디드 일지/아두이노 기초

[아두이노 기초] ADC

1. 기초이론 지금까지 작성된 글을 기반으로 봤을 때 아두이노는 0 아니면 1만을 인식하는 디지털 시스템인걸 알 수 있습니다. 디지털 시스템의 문제는 아날로그 시스템을 이해할 수 없다는 것입니다. DIO 강의 때 보면 특정 전압 이상은 1, 특정 전압 이하는 0으로 분류를 해버리니 입력 전압이 몇 볼트인지 알 수가 없습니다. ADC는 이를 해결하기 위한 모듈로 제 생각으로는 마이크로컨트롤러 단가에 큰 영향을 주는 모듈이라 생각됩니다. 쉽게 생각해서 번역기라고 생각하면 될 것 같습니다. 본론으로 들어가기 앞서 아날로그와 디지털의 개념을 잡고 가는 게 좋을 것 같습니다. 먼저 디지털 신호란 딱딱 정수로 떨어지는 신호를 말합니다. 소수점이란 없으며, 딱 떨어지는 정수로 표현되는 신호들입니다. 우리가 여태껏 다..

임베디드 일지/아두이노 기초

[아두이노 기초] Interrupt

1. 기초 이론 지난 게시글에서 다뤘던 Digital Input의 연장선인 Interrupt에 대해 알아봅시다. 우선 Interrupt의 사전적 정의를 보면 아래와 같습니다. 뜻만 보더라도 어떤 기능인지 알 수 있듯 MicroController를 '방해'하고 '중단'시키는 기능입니다. 좀 더 일상에서 비유를 들자면 우리는 숙제(Main Task)를 하고 있다고 가정해봅시다. 숙제를 하는 중간에 전화(Digital Input)가 오기로 해서 전화(Digital Input)를 받아야 합니다. 이런 상황에서 지난 게시글의 이론 기반으로 Code를 짠다면, 다음과 같은 행동을 보이게 될 것입니다. 우리는 숙제(Main Task)를 하고 있는 도중에 전화(Digital Input)가 왔을 때, 숙제(Main Ta..

임베디드 일지/아두이노 기초

[아두이노 기초] GPIO Input

1. 기초 이론 오늘 다룰 내용은 아두이노에서 제공하는 DigitalRead() 함수에 대한 것입니다. 아두이노는 특정 전압 이상의 값을 받았을때, 이를 0 또는 1로 읽어올 수 있습니다. 여기서 특정 전압이라 하면, Microcontroller마다 기준이 다를 것입니다. 사람으로 예를 들면 '맵다'라는 기준이 다르듯이 말이에요. 아래 가져온 자료는 ATMEGA2560의 Vcc(Voltage Source)에 따른 Input voltage 기준 전압 자료입니다. 쉽게 말해서 사람(MicroController)도 식사량(Vcc)과 그 날 몸 컨디션(Chip의 온도)에 따라서 '맵다'(입력 전압이 0인지 1인지)의 기준이 달라지는 것입니다. 하지만 애초에 Digital로 값을 읽어오는 경우에는 이러한 모호한 ..

우리집공돌이곰돌을좋아해
'Arduino' 태그의 글 목록