본문 바로가기

반응형

아두이노

마우스로 서보모터 제어하기 실제 적용 코드를 약간 수정하였다. 게임으로 적용을 목적으로 해서 오른쪽에 배터리 잔량(?)용 게이지를 넣었다. 키를 누르면 다시 복구됨 그리고 누를때 소리도 나오게 넣었다. 프로세싱 코드 import processing.serial.*; import ddf.minim.*; Minim minim; AudioPlayer player; AudioInput input; Serial port; public int amm =300; ammo serv = new ammo(); relod okay = new relod(); void setup() { size(999,999); port = new Serial(this, Serial.list()[1],9600); minim = new Minim(this); player = min.. 더보기
마우스를 가지고 서보모터 제어하기(코드) 프로세싱코드 import processing.serial.*; Serial port; void setup() { size(999,999); port = new Serial(this, Serial.list()[0],9600); } int a; int b; int c; int d; int e; int f; int g; void draw() { background(255); if(mousePressed) { g = 1; fill(255,0,0); ellipse(mouseX,mouseY,10,10); } else { g = 0; fill(255,255,255); ellipse(mouseX,mouseY,10,10); } int x = mouseX; int y = mouseY; a = x/100; b = x/10%.. 더보기
오늘도 기분좋은날! 그래서 포스팅 하나 IR(InfraRed)리모트 컨트롤 하기 인적성을 통과를 하여서 기분이 좋아서 글 하나만 쓰고 다시...지금 삼성은 SDS로 사트를 쳤는데 발표가 연기되어서.. 아두이노 공부를 더 할 수 있는 시간이 생김..글을 쓴는게 쉬운것이아니라서.. 공부 한 것을 다 쓰는게 쉽지 않아서 쉬운것부터 차근차근 써 내려가려고 함. IR이란?IR은 Infra Red의 약자... 원적외선으로써 우리가 흔히 사용하는 리모컨에서 사용이 되는 빛의 파장이다.리모컨 누를때 눈으로 보면 빛이 안보이지만 카메라를 통 해서 보면 보인다. 아두이노 스타터킷을 사면 리모컨이랑 IR입력을 받는 소자가 딸려오는데 리모컨은 뭐.. 다 어떻게 생긴지 아실 것이고IR소자는 이렇게 생김! 금요일 시험인 공학수학2... 2학년때들어야 하는데 마지막 3학점으로 이걸 듣고 있다..여튼 저렇게 생.. 더보기
오늘은 기분좋은날 그래서 하나 포스팅 올려볼련다! Potentiometer에 대해서 알아보자 서류에서 1승을 거두었다. 흐흐흐 그래서 기분이 좋아서.. 인적성 공부하기전에 글을 하나 써보려고 한다. 오늘은 potentiometer 즉, 가변저항에 대해서 알아보도록 하는시간을 가져보도록 하자. 자. potentiometer은 요로코롬 생김 다리 세개가있다. 내가 가지고 있는 포텐쇼미터는 저 사진을 기준으로 젤 오른쪽다리는 마이너스 젤 왼쪽은 플러스 이고 중간은 아두이노의 아날로그핀에 연결을 한다. 안에 구조는 ... -극 +극 사이는 저항으로 연결 되어있고 그 중간에 조절손잡이에 고정 된 중간핀이 연결되어 있다. 조절손잡이를 잡고 왔다리~ 갔다리 하면 저항=비저항*저항의길이/저항의면적 에서 저항의 길이가 바뀌는 것이기 때문에 저항값을 바꿀 수 있는 것이다! 여튼 저것을 사용하는 방법에 대해서 설명.. 더보기
아두이노 lcd출력 코딩편 우선 lcd를 쉽게 출력하려면 lcd 라이브러리를 써야 한다 혹여나 라이브러리 쓰기 싫으면 안써도 되는데.. 저 .. 앞에 쓴 글중에 max7219쓰다가 보류해둔거.. 그거 라이브러리같은게 있으면 참 쉬울텐데 그런거없이 원론적으로 접근하려니 너무 어렵다. 여튼 라이브러리를 써 보자. 라이브러리는 어려운 코딩 구문을 코딩 잘 하는 사람들이 쉽게 사용해 줄수 있게끔 함수를 만들어 놓은 패키지라고 보면 된다. 즉, 일일이 다 해야하는 코딩과정을 누군가가 만들어 놓은 라이브러리만 사용하면 함수호출하고 그냥 숫자만 써 넣으면 땡인 경우가 많다. 우선 lcd출력 예제를 불러와보자. iquidCrystal Library - Hello World Demonstrates the use a 16x2 LCD display... 더보기
아두이노를 이용해 lcd출력하기. - 배선 아까전에 만들었던 것을 탐구를 시작하려고 한다. 우선 lcd의 출력에 대해서 알아야 할 것임 우선 선연결부터 알아보자. lcd모듈을 보면 위쪽에 16개의 핀이 있다. 좀 더러워보이는건 어제 첨으로 납땜을 해보아서 그렇다.. 처음한거치고는 잘 한거라고 혼자 흐뭇해하는중... 여튼 16개가 있는데 순서대로 설명 1번 vss - lcd작동과 연관 Gnd에 연결 2번 vdd - lcd작동과 연관 5v에 연결 3번 v0 - lcd화면대비와 연관 가변저항과 연결, Gnd와 접지. (하지만 가변저항을 서보제어하는데 써 버려서 그냥 1k옴짜리 둘를 직렬해서 2옴으로 고정저항넣음 근데 왜 Gnd에 연결해야하는지 모르겠음..) 4번 rs- lcd작동과 연관 디지털 출력에 연결 5번 rw-lcd 작동과 연관 Gnd에 연결 .. 더보기
상당한 기간의 공백기 동안 한 것 -1 아두이노 직접 구매하다 상당한 기간동안 취업 준비를 한다고 블로그 관리를 하지 못했다. 뭐. 자소서 여러군데 잘써서 낸다고 해도 벌써 1패를 기록.. 하여서 기분이 좋지만은 않다. 하지만 아두이노는 계속 가지고 놀았다 우선 vbb를 사용하여 계속 시뮬만 돌리다보니 직접 해보고 싶은 맘이 굴뚝같아서 직접 아두이노 보드를 구매하였다. ebay에서 약 5만원에 각종 소자들과 보드 lcd 스텝모터, 서브모터 IR송, 수신기tv리모컨 등 세트이고 국내에서 사는것 보다 저렴한것 같아 홍콩에서 한국까지 10여일간을 기다려서 받았다. 구성품만으로도 어느정도의 실습은 할 수 있는데... 직접 뭔가 만들어보려하니 좀 많이 부족한 구성이다. 1여년 전 부터 장난감 rc헬기를 사고싶어서 밀어서뽑기만 보면 침을 질질흘리고 돈을 여러번 꼴아박고있는 중.. 더보기
시프트 레지스터 (MAX 7219)를 이용한 세븐 시그먼트 8개 표시하기 - 튜토리얼(코딩4) 여친과의 기념일을 보낸다고 한 이틀 쉬었더니 벌써 몇개는 까먹은 듯 하다.. 그래도 한번 이해를 하고 나니 어렵지 않게 진행을 할 수 있는 것 같다. 이번에는 이전 설명에도 여러번 등장하였던 putByte함수에 대해서 알아보자! 우선 putByte함수는 아래와 같다. void putByte(int data) { int i = 8; int mask; while(i > 0) { mask = 0x01 0) // i가 0보다 클 동안 while내부의 함수를 실행한다. 처음 실행 시 8이고 제일 아랫쪽에 보면 --i라고 되어 있으니 총 8번 수행인 것을 유추가능 { mask = 0x01 >는 오른쪽으로 이동시키는 것) 즉, 현재의 비트는 2진수로 0000 0001인데 첫 시행 시 i가 8이므로 i-1은 7이기 때.. 더보기
시프트 레지스터 (MAX 7219)를 이용한 세븐 시그먼트 8개 표시하기 - 튜토리얼(코딩3) 사진없이 글올리면 사진이 텅텅비어서 보기싫어 본의아니게 사진을 첨부합니다. 4번. (3번은 마지막에 설명하기로..) void maxSingle(int reg, int col) { digitalWrite(load, LOW); putByte(reg); putByte(col); digitalWrite(load, LOW); digitalWrite(load, HIGH); } void maxSingle(int reg, int col)은 함수를 선언하는 구문이다. ------------------------------------------------------------------------------------------ 흔히 보는 void setup()과 void loop()도 함수를 선언하는 구문인데 (참고로 .. 더보기
시프트 레지스터 (MAX 7219)를 이용한 세븐 시그먼트 8개 표시하기 - 튜토리얼(코딩2) 이번에는 간추려 낸 코드에서 각 부분의 의미를 상세히 알아보는 포스팅이다. 우선 1번. int dataIn = 2; int load = 3; int clock = 4; int e = 0; int offset = 0; 해당부분은 코딩에 있어서 꽤나 중요한 부분인데 변수를 선언하는 것이다. 예를들면 아두이노 보드 외부에서 입력을 받고 출력을 한다고 치자. 그 입력받은 값과 계산을 하여 출력을 하는 값을 저장할 공간이라고 생각하면 된다. 즉 위에서 int 이것은 변수의 종류를 이야기 하는 것이고 (int는 -32768 ~ 32767 구간의 양수, 음수이고 byte 는 0~255까지의 양수, boolean은 true, false 값을 변수로 가진다.) dataIn은 변수의 이름 = 2 는 변수에 2라는 숫자를 .. 더보기

반응형