Embedded System 58

[AVR] Atmel studio 6 sprintf함수 사용하기

Atmel Studio 6 환경에서 sprintf 함수를 사용하면 LCD에 문자열을 쉽게 표시할 수 있다. 정수를 표현하고 싶다면 그냥 string.h 을 추가하여 그냥 사용해도 되지만 실수형도 표시하고 싶으면 약간의 설정이 필요하다. 프로젝트를 켜고 Alt + F7 키를 눌러서 프로젝트 설정창으로 이동한다. 그리고 왼쪽 AVR/GNU Linker의 Libraries를 눌러 아래 그림과 같이 설정해준다. 추가버튼을 눌러서 아래 그림처럼 libprintf_flt 라고 적어주고 OK를 눌러준다. 그리고 General로 이동하여 아래 그림에서 빨간 밑줄들을 체크해준다. 그리고 저장하면 사용준비 완료다~! 간단하게 테스트 해보았다. DC모터 엔코더 값을 출력해 보았다. 먼저 char arr[16]을 선언해주고 ..

Embedded System/AVR 2017.04.02

[project] 캡스톤대회 - L298 모터드라이버

으어... 캡스톤... 쿼드콥터를 넣는건 실수였다... 어쨌든 지상에서 돌아다닐 놈들을 만들었다. 기어드 DC모터를 사용했다. 기어비는 1:50이고 12V 먹는다. 이놈을 제어하기 위해서 모터드라이버가 필요한데 내가 옛날에 블로그에 올렸던 모터드라이버로는 무리다. 아마도,,, 어쩄든 L298 이라는 놈 하나면 DC모터 2개를 제어할 수 있다. 위에 사진이 L298이다. 아래는 데이터시트~ 데이터시트를 보면 DC Operation이 2A다. 회로 구성하고 그냥 공중에 띄어서(거의 무부하) 돌려보니까 0.3A나온다. 잘 돌아가던놈 손으로 잡으니까 거의 2A까지 빨아당긴다. 구성 회로 역시 데이터시트 6쪽에 나와있다. 10번,12번은 모터 정/역회전 결정해주는 것이고 11번은 Enable핀이다. 10,11,1..

[project] 도트매트릭스 테스트

인터넷에 돌아다니는 소스코드 그대로 돌려보았다. 그랬더니... 우왕ㅋ굳ㅋ 잘 되네. 이제 소스 분석해서 만들어야겠다~ 인터넷에 돌아다니는 소스는 옛날에 만들어진거라서 winAVR에서 지원안하는 놈들이 좀 있다. 그럴땐 라는 헤더파일을 추가해주면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89..

[project] 도트매트릭스(slm1604) 시작

여름 방학동안 현장실습이라는 과목을 하게 되었는데 업체에서 의뢰받은 프로젝트이다. 원래 현장실습이면 배우러 가는건데 나는 뭔가 의뢰랄까..발주랄까... 팀장님께서 "전자과 3학년이면 왠만한건 다 할 줄 알겠네~ 허허허"라고 하시는데 큰 착각입니다. 흐헝헝엏어헝허엉...외부업체에 뭔가를 맡기는 것처럼 느껴지는건 뭐지...-_-? 어쩄든 거기 팀장님께서 도트매트릭스를 만들어 보라고 해서 만들고 있는 중이다. 블루투스로 한글띄우고 싶다고 하던데 흠...... 고민좀 해봐야겠다. 아래 사진들은 일단 도트매트릭스만 연결해보았다. 사용한 부품들은 다음과 같다. ●포맥스(외형 제작용) ●도트매트릭스(slm1604) ●Atmega128 ●기타 잡다한 선들 이제 소스를 짜볼까~

[AVR] I2C(TWI) 통신

I2C(Inter-Intergrated Circuit) 통신은 필립스에서 개발한 직렬 컴퓨터 버스이며 저속의 주변 기기를 연결하기 위해 사용된다. Atmel에서는 TWI(Two-Wire Serial Interface)라고 하는데 통신에 필요한 선이 겨우 2개만 있으면 되기 때문이다. 처음에 I2C 통신을 공부하기 전에는 서로 뭔가 다른게 있을 줄 알았는데 알아보니까 완전히 같은거라고 한단다. -_-; 사람 헷갈리게시리... AVR에서는 I2C통신으로 128개의 서로 다른 디바이스와 통신할 수 있다고 나온다. 이는 디바이스의 주소가 7bit이기 때문이란다. 기본적인 구조는 다음과 같다. 위 그림에서 보이듯 SDA라는 Data Bus와 SCL이라는 Clock Bus로 디바이스가 연결된다. Bus에 연결된 모..

Embedded System/AVR 2017.04.02

[AVR] ISP 커넥터(6핀, 10핀)

여러 AVR 모듈을 쓰다 보면 종종 ISP 커넥터가 안 맞는 경우가 있다. 10핀 배열이 많이 쓰이지만 6핀 배열도 은근히 많이 보인다. 그럴때 변환 커넥터를 만들어 줘야 하는데 매번 자료 찾는게 짜증나서 블로그에 올려버린다. 한번 보고나면 그걸로 끝내서 자료를 정리해놓지 않았는데 이번에 정리해놔야지... 핀 배열도 간간히 쓰일때가 있으므로 여기에 올린다.

Embedded System/AVR 2017.04.02

[아두이노] 스타트! 아두이노!

친구와 대화 중 "아두이노를 만들 수 없을까?"가 사건의 발단... 바로 그날 자료 찾아보고 atmega8을 이용하여 아두이노를 만들 수 있다는 정보를 찾았다. 밤 새고 오만 뻘짓을 하다가 결국 완성해버렸다. 이미 해본 사람이라면 뭘 저거가지고 호들갑이지? 라고 생각 할 수 있지만 나와 친구에겐 아두이노에 대한 지식이 바닥수준이라서 -.-; 완성된 아두이노의 모습 접사.... 제작기와 아두이노를 이용한 간단한 예제는 다음 글로 미뤄야겠다~