최상단

컨텐츠

아두이노

5

  1. HC-SR04 초음파센서로 거리측정하기 2015.10.01
  2. 1602 LCD (I2C) 제어 2015.09.24
  3. 아두이노 mpu-6050 가속도/자이로 센서 사용방법 (1)2015.09.17
  4. MPU-6050 칼만필터 적용 소스 2015.09.16
  5. 아두이노 레오나르도 마우스 키보드 작동방법 2015.09.08

HC-SR04 초음파센서로 거리측정하기

글 정보

Category
아두이노
2015.10.01 14:30

본문

HC-SR04는 초음파를 이용하여 거리를 측정할 수 있는 센서입니다.

아두이노에 연결해서 거리값을 받아 활용할 수 있습니다.





회로도입니다.

VCC - 5V

Trig - 12번 핀(스케치에서 수정할 수 있습니다. 저는 12번 핀으로 사용하겠습니다.)

Echo - 11번 핀(마찬가지로 스케치에서 수정할 수 있습니다.)

GND - GND




점퍼핀으로 HC-SR04에 연결했구요,

아두이노에도 회로도 대로 연결하였습니다.


그리고 아두이노 IDE에 들어가서!

다음 소스를 복사해서 프로그램에 붙여 넣으시면 됩니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
int trigPin = 12;   //trig 핀입니다.
int echoPin = 11;   //echo 핀입니다.
 
void setup(){
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}
 
void loop(){
  float duration, distance;
  digitalWrite(trigPin, HIGH);
  delay(10);
  digitalWrite(trigPin, LOW);
 
  duration = pulseIn(echoPin, HIGH);
  distance = ((float)(340 * duration) / 10000/ 2;
 
  Serial.print("\nDIstance:");
  Serial.print(distance);
  Serial.println("cm\n");
  delay(500);
}
 
cs






소스 안에 trigPin과 echoPin이라는 변수에 핀이 지정되어 있는데요, 다른 핀을 사용하신다면 그 핀의 숫자를 넣으시면 됩니다. 

그리고 시리얼 모니터에 들아가서 보면 정상적으로 거리가 출력되는 것을 볼 수 있습니다.

distance 변수에 거리 값이 저장됩니다.



신고

TAG

HC-SR04, 거리측정, 아두이노, 초음파센서

트랙백과 댓글 여닫기

Trackback: 0 Comment: 0

댓글 쓰기

1602 LCD (I2C) 제어

글 정보

Category
아두이노
2015.09.24 22:57

본문

1602 LCD는 한줄에 16개의 문자, 2줄까지 표현할 수 있는 LCD입니다. 아두이노에서 출력 장치로 자주 쓰이는 모듈입니다.


그런데 특이하게 아래처럼 까만색 보드가 추가로 장착되어 있는 모듈도 있어요!

LCD를 위한 I2C 모듈인데요, 

저 까만색 보드가 있는 이유는

원래는 저 까만색 보드가 없어도 연결해서 사용할 수는 있습니다. 그런데 기본적으로는 납땜이 다 되어 있지 않아서 불편합니다.

납땜도 하고... 16개 핀중 8개정도를 사용하는데 다 연결하고 사용하려니 복잡하고 선 정리가 쉽지 않습니다.


그래서 저는 i2c 보드가 장착되어 있는 LCD모듈을 구매했습니다.

i2c보드가 같이 붙어있는 모듈은 아두이노에 4개의 핀만 연결하면 되기 때문입니다.


구매할 때 1602 LCD 에 'i2c'를 추가해서 검색하면 쉽게 찾을 수 있겠네요.

이베이로 직구하면 약 $3.5 정도에 구매할 수 있습니다.

(이베이 직구 검색)




그럼 아두이노에 연결하는 방법에 대해서 알아보겠습니다.

회로 구성 방법은 아래와 같습니다.

GND - GND

VCC - 5V

SDA - A4

SCL - A5


4개의 핀만 있으면 됩니다. 정말 간단하지 않나요?

아두이노 보드에 4개의 핀을 장착해주면 됩니다.


회로 구성은 간단한 것 같습니다.


다음으로, 아두이노 프로그램에 라이브러리를 설치해야 하는데요,

아래 파일을 다운받습니다.

LiquidCrystal_I2C1602V1.zip

그리고 아두이노 설치 경로로 들어가서, libraries 폴더에 압축을 풀어 넣으면 됩니다.

(아두이노 IDE를 설치할 때 아무것도 건드리지 않았다면 보통 C:\Program Files(x86)\arduino 에 있습니다) 



아두이노 IDE를 실행하고 파일-예제에 'LiquidCrystal_I2C1602V1'이 있으면 잘 적용 된 것입니다.



여기에 HelloWorld 예제를 실행시켜 보겠습니다. 이 예제는 LCD에 'HelloWorld'를 띄우는 예제입니다.



아두이노를 PC와 연결 한 후 업로드 합니다.




이렇게, 'Hello, world!'를 출력해주네요.


아두이노를 프로그래밍 할 때, 다음 함수를 입력할 수 있습니다.


lcd.backlight();         LCD의 백라이트를 켭니다.

lcd.nobacklight();      LCD의 백라이트를 끕니다.

lcd.print("abcde");     LCD에 abcde를 출력합니다.

lcd.setCursor(2,0);    커서를 1번째줄에, 3번째 칸으로 이동합니다. 문자를 출력하면 1번째줄 3번째칸부터 문자가 출력됩니다.

lcd.clear();             LCD 화면에 있는 문자들을 모두 삭제합니다. 



신고

트랙백과 댓글 여닫기

Trackback: 0 Comment: 0

댓글 쓰기

아두이노 mpu-6050 가속도/자이로 센서 사용방법

글 정보

Category
아두이노
2015.09.17 13:23

본문

c

mpu-6050은 가속도와 자이로(기울기) 값을 아두이노에 전달하는 역할을 합니다. mpu-6050은 직구로 3$ 이내에 구입할 수 있으며, 국내에서는 6000원 정도 합니다. 해외직구가 좀더 저렴하지만, 배송기간이 오래 걸리므로 국내에서 구매하는 것이 합리적인 것 같습니다.


아두이노와 mpu-6050의 연결방법과 소스 사용방법입니다. 그림에서는 아두이노 보드가 Leonardo 보드인데, UNO 보드에서도 아래와 같은 방법으로 연결해도 됩니다.


 MPU-6050

 아두이노

 VCC

 5V

 GND

 GND

 SCL

 A5

 SDA

 A4 




다음은 소스입니다. 이 소스에서는 칼만 필터를 적용하였습니다. 칼만 필터는 가만히 있을 때 전,후에 비해 튀는 값들을 비교적 원만하고 보정해 주는 필터입니다. 

mpu6050.zip

zip파일을 바로 압축을 풀어도 되구요,


i2c.ino

kalman.h

mpu6050.ino

모두 다운받고 mpu6050이라는 폴더를 만들어서 모두 같은 폴더에 넣으면 됩니다.


아두이노 IDE를 열어서 mpu6050을 열고, usb로 아두이노와 연결시켜서 업로드하면 됩니다.

시리얼 통신에서 값들이 나옵니다.




신고

트랙백과 댓글 여닫기

Trackback: 0 Comment: 1

댓글 목록

  1. 손정빈 Edit/Delete REPLY

    저기 파일 다운해서 했는데 i2cWrite 부분이 선언이 안됬다고 뜨는데 어떻게 해야하나요?? 2016.10.12 21:20 신고

댓글 쓰기

MPU-6050 칼만필터 적용 소스

글 정보

Category
아두이노
2015.09.16 15:29

본문

출처 : http://cafe.naver.com/arduinostory/18039 네이버카페 아두이노스토리

MPU-6050의 값을 필터를 거쳐서 값을 다시 받는 소스입니다. 이 소스로 MPU-6050을 사용하게 되면 값이 비교적 일정하고 튀지 않는 값을 받아 사용할 수 있습니다.

i2c.ino

kalman.h

mpu6050.ino

모두 각각 하나씩 다운받아 한 폴더에 넣어두고, mpu6050.ino  파일을 실행시켜서 아두이노에 업로드 하면 됩니다~~

신고

TAG

MPU-6050, 가속도센서, 센서, 아두이노, 자이로센서, 칼만필터

트랙백과 댓글 여닫기

Trackback: 0 Comment: 0

댓글 쓰기

아두이노 레오나르도 마우스 키보드 작동방법

글 정보

Category
아두이노
2015.09.08 20:34

본문


아두이노 레오나르도는 ATmega32u4 MCU를 사용하기 때문에 pc에서 마우스/키보드로 인식하게 됩니다.

마우스 키보드를 컨트롤하는 코드를 사용하면 아두이노로 pc의 마우스커서, 키보드를 제어할 수 있습니다. 


마우스 작동방법

기본적으로 void setup() 부분에 

Mouse.begin();

이라고 입력해줍니다.


마우스 이동

Mouse.move(0, 0); 

0, 0 부분에 이동할 만큼 입력합니다. (x축, y축)

예를 들어 (2, 3)이면 마우스의 x축을 2만큼, y축을 3만큼 이동하게 됩니다.


마우스 왼쪽클릭

Mouse.click(MOUSE_LEFT);

마우스 오른쪽클릭

Mouse.click(Mouse_RIGHT);

괄호 안에 숫자를 넣어 사용할 수 있는 방법도 있습니다.

Mouse.click( 1:왼쪽클릭, 2:오른쪽클릭, 4:가운데클릭 );


키보드 작동방법

기본적으로 void setup() 부분에 

Keyboard.begin();

위와 같이 입력해주고요, 

Keyboard.print(숫자);

Keyboard.print(변수);

Keyboard.print("문자");

print 대신 println을 쓰면 줄바꿈이 됩니다.



신고

트랙백과 댓글 여닫기

Trackback: 0 Comment: 0

댓글 쓰기

페이징

PREV NEXT

1

TOP