본문 바로가기

mandle.Making/C언어

(5)
Arduino 16x2 character LCD I2C 제어하기 오늘은 아두이노 16x2 LCD에 대해서 살펴봅니다.기존에 LCD는 아두이노와 연결할 때 8~10개의 핀을 사용해서 연결하기 때문에 많이 불편하고, 초보의 경우 엄청 어렵게 느껴질 수 밖에 없습니다.하지만 I2C기능의 지원으로 단 4개의 핀만으로 제어가 가능하게 되었습니다.먼저 LCD와 아두이노간 연결핀은 LCD 아두이노GND -> GNDVCC -> 5VSDA -> A4SDL -> A5 로 연결하면 됩니다.사진과 같이 연결되겠죠?다음으로 테스트를 해봅시다.먼저 아래의 파일을 다운로드 받습니다. 다음으로 다운로드 된 파일의 압축을 풀어주세요. 압축을 해제한 파일을 문서 -> Arduino -> libraries 위치에 복사합니다. 위의 과정을 모두 마쳐야만 LCD를 쓸수있습니다. 예제소스코드로 테스트해봅시..
c언어 기초 컴퓨터의 데이터 표현 방식 우리는 컴퓨터에게 "Hello World", "10" 등의 형태로 데이터를 입력하지만, 사실은 컴퓨터는 모든 데이터의 표현 및 연산을 2진수로 처리합니다. 때문에 외국인과 대화를 할려고 할 때 어느정도 영어가 가능해야하는것 처럼 c언어를 정확하게 이해하려면 2진수를 정확하게 이해해야 합니다. 1. 2진수, 10진수, 16진수는 무엇인가? 2진수란 데이터를 표현할 때 0과 1 두 개의 숫자만을 쓰겠다는 뜻이고, 10진수는 데이터를 표현할 때 0~9까지 10개의 숫자를 쓰겠다는 뜻입니다. 마찬가지로 16진수는 16개의 숫자를 쓰는것인데, 여기서 문제가 있습니다. 0~9까지는 문제가 없지만 10이 넘어가면 이 때의 표현이 애매 해지는 것입니다. 10이라는 하나의 숫자로 생각할 수 있겠지만, c언어에서 그리고 ..
c언어 기초 scanf 함수의 이해 우리는 앞에서 printf 함수를 이용해서 pc에 원하는 메세지를 띄우는 코드를 연습했습니다. 이 함수는 출력의 의미를 갖는 함수입니다.출력함수가 있다면 물론 입력함수도 있겠죠? 오늘은 키보드로부터 데이터를 입력 받는 입력 함수 scanf에 대해서 살펴보겠습니다.scanf 함수를 이용하면 다양한 형태의 데이터를 키보드로부터 입력받을 수 있습니다. 다양한 형태란 앞에서 배운 정수, 문자, 문자열 등을 말합니다.오늘은 그중 정수형태로 입력받는 방법에 대해서 설명하겠습니다. 우선 scanf 함수의 기본적으로 int a; scanf("%d", &a); 와 같은 형태를 보입니다. printf의 형태와 상당히 유사한것을 느낄 것입니다. 코드에 대해서 설명하면 먼저 입력받은 데이터를 저장할 메모리 공간을 할당해야 합..
c언어기초 변수와 연산자 프로그래밍상으로 덧셈을 한다면, 실제 우리가 수학에서 배운 +를 사용해서 연산이 가능할까요? visual studio에 3+4라고 입력한 후 컴파일하고 실행해보면 전혀 문제가 없음을 알 수 있을것 입니다. 즉 우리가 기존에 수학에서 사용하듯이 +기호를 프로그래밍에서도 사용 가능하다는 뜻입니다. 이때 숫자연산을 요구할 때 사용되는 기호를 우리는 연산자라고 부릅니다. 그렇다면 연산을한 결과는 어떻게 쓸까요? c언어에서는 이렇게 연산의 결과와 같은 숫자를 사용할 수 있도록 변수라는 것을 만들어 두었습니다. 변수는 변하는 수 쉽게말해 상황에 따라 유동적으로 값이 바뀌는 수를 말합니다. 변수에 대한 자세한 설명은 뒤에 다루겠지만, 지금은 우선 숫자를 저장해서 쓸수있는 공간의 생성이라고만 이해하면 되겠습니다. 그리..
자료구조란 우리는 인터넷, TV, 책 등 매일 엄청난 양의 자료 속에서 살아가고 있다. 사회가 정보화 다양화 될수록 우리가 사용할 수 있는 자료 또한 더욱 풍부해지고 다양해진다. 정보의 홍수라고 할 만큼 자료가 방대한 지금은 얼마나 많은 자료를 가지고 있느냐 보다는 가지고 있는 자료를 얼마나 효울적으로 사용하느냐가 중요한 시대가 되었다.예를 들어, 문구점에서 필기구를 진열하는 방법을 살펴보자. 종류와 색상에 관계없이 판매하는 모든 종류의 필기구르 같은 상자 안에 넣어둘 수도 있고, 종류별 색상별로 분류해서 진열 할 수도 있다. 원하는 필기구를 찾을 때 어떤 방법이 더 효과적일까? 단순하게 생각해봐도 종류별 색상별로 분류하는 방법이 더 효과적이다. 이와 마찬가지로 자료를 효율적으로 표현한고 저장, 처리하기 위해 정리..