본 절은 [NEO-6M] 아두이노 GPS 확장 쉴드를 사용하기 위해 알아야 할 내용과 실습 방법에 대해 설명한다. 아두이노 센서의 특징, 동작원리, 사양, 연결 핀 배열, 출력 값, 주의사항을 알아본다. 아두이노와 센서를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다.
목차
NEO-6M GPS 확장 쉴드
- Ublox Neo-6M module
- 5 Hz update rate
- External GPS antenna
- On board 3V super capacitor as backup battery
- On board 3.3v regulator
- 3.3V and 5V logic level compatible
- Power and fix indicator LEDs
- Reset Button
- Weight: 23g (shield only), 55g (gps antenna + cable)
- Baud rate : 9600
- Update rate: 1Hz (Default), 5Hz (Max)
NEO-6M GPS 확장 쉴드 란?
본 제품은 ublox사의 NEO-6M GPS 모듈을 탑재한 GPS 쉴드이다. GPS핀은 RX, Tx 핀을 통해 아두이노와 통신한다. microSD 카드 인터페이스를 지원하여 데이터 로깅 어플리케이션에 사용이 가능하다.
+더알아보기
NEO-6M GPS 확장 쉴드 핀 배열
Shield 버전의 다이어그램은 미니 점퍼로 제어되는 핀이 Arduino D1 ~ D7의 물리적 핀에 연결된 연결을 볼 수 있다. 선택된 2개의 핀은 직렬 통신을 담당하므로 다른 용도로 사용해서는 안된다.
쉴드에서 선택한 TX 핀은 Arduino의 RX에 연결해야 한다는 점을 항상 기억해야 한다. 프로그래밍할 때 이 점에 주의해야 한다.
핀 8은 SPI 프로토콜에서 MicroSD 카드를 선택하는 서비스를 만들기 때문에 실드에서도 사용된다.
SPI는 PIN 10, 11, 12, 13를 사용한다.
하지만 아두이노 메가에서도 똑같은 위치에 있는 10~13번 핀에 SPI 통신 기능이 만들어야 하는데,
구조상 다른 위치에 설정되어 있다. 50~53번 핀을 사용한다.
NEO-6M GPS 확장 쉴드 SD카드 하드웨어 연결
MicroSD 카드를 슬롯에 삽입하고 잠길 때까지 누른다. MicroSD 카드를 제거하려면 다시 누르면 카드가 튀어 나온다.
예를 들어, 고품질 MicroSD 카드와 Class 10은 안정적인 저장을 할 수 있다.
참고로, 저품질 카드는 간혹 데이터 읽기, 쓰기를 실패할 수 있다.
NEO-6M GPS 확장 쉴드 SD카드 소프트웨어 코딩
하드웨어 연결이 완료되면, 아두이노 IDE를 이용해 아두이노 센서 소스코드를 코딩할 수 있다.
센서 코드는 다음과 같다.
/*
SD card read/write
This example shows how to read and write data to and from an SD card file
The circuit:
SD card attached to SPI bus as follows:
** MOSI - pin 11
** MISO - pin 12
** CLK - pin 13
** CS - pin 4 (for MKRZero SD: SDCARD_SS_PIN)
created Nov 2010
by David A. Mellis
modified 9 Apr 2012
by Tom Igoe
This example code is in the public domain.
*/
#include <SPI.h>
#include <SD.h>
File myFile;
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
Serial.print("Initializing SD card...");
if (!SD.begin(8)) {
Serial.println("initialization failed!");
while (1);
}
Serial.println("initialization done.");
// open the file. note that only one file can be open at a time,
// so you have to close this one before opening another.
myFile = SD.open("test.txt", FILE_WRITE);
// if the file opened okay, write to it:
if (myFile) {
Serial.print("Writing to test.txt...");
myFile.println("testing 1, 2, 3.");
// close the file:
myFile.close();
Serial.println("done.");
} else {
// if the file didn't open, print an error:
Serial.println("error opening test.txt");
}
// re-open the file for reading:
myFile = SD.open("test.txt");
if (myFile) {
Serial.println("test.txt:");
// read from the file until there's nothing else in it:
while (myFile.available()) {
Serial.write(myFile.read());
}
// close the file:
myFile.close();
} else {
// if the file didn't open, print an error:
Serial.println("error opening test.txt");
}
}
void loop() {
// nothing happens after setup
}
SD.begin을 8번 핀으로 변경한다.
NEO-6M GPS 확장 쉴드 동작확인
하드웨어 연결, 소프트웨어 코딩이 완료되면 다음과 같이 동작 화면을 확인할 수 있다.
------------------------------------------------------
개발환경 : WINDOWS 10
아두이노 IDE : 1.8.13
------------------------------------------------------
01 연결
- 아두이노와 PC 연결
- 아두이노 IDE 실행
- 메뉴 → 툴 → 보드:아두이노 UNO 확인
- 메뉴 → 스케치 → 확인/컴파일
02 컴파일 확인
스케치>확인/컴파일(CTRL+R) 를 선택해서 컴파일을 진행한다.
03 아두이노 우노 업로드
컴파일이 이상없이 완료되면 스케치>업로드(CTRL+U) 를 선택해서 컴파일 파일을 업로드 한다.
04 동작 확인
다음과 같이 동작을 확인할 수 있다.
마무리
아두이노와 GPS 쉴드 센서를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다.
모두의 아두이노 환경 센서 책
[모두의 아두이노 환경 센서] 책은 예스24, 인터넷 교보문고, 알라딘, 인터파크도서, 영풍문고, 반디앤루니스 , 도서11번가 등에서 구입할 수 있다. 이 책에서는 PMS7003, GP2Y1010AU0F, PPD42NS, SDS011 미세먼지 센서, DHT22 온습도 센서, MH-Z19B 이산화탄소 센서, ZE08-CH2O 포름알데히드 센서, CCS811 총휘발성유기화합물 TVOC, GDK101 방사선(감마선) 센서, MQ-131 오존(O3) 센서, MQ-7 일산화탄소, MICS-4514 이산화질소 센서, MICS-6814 암모니아 센서, DGS-SO2 아황산가스(SO2) 센서, BME280 기압 센서, GUVA-S12SD 자외선(UV) 센서, MD0550 기류 센서, QS-FS01 풍속 센서(Wind speed) 를 사용한다.
'모두의 아두이노' 카테고리의 다른 글
[아두이노] TM1637-7세그먼트 (TM1637TinyDisplay) (0) | 2021.11.24 |
---|---|
[아두이노][쉴드] 아두이노 다기능 확장 쉴드 (0) | 2021.11.16 |
[아두이노] 조이스틱 쉴드 (0) | 2021.11.11 |
[아두이노] NEO-6M GPS 확장 쉴드 (0) | 2021.11.08 |
[아두이노] 레이저 수신 모듈 (PP-A435) (0) | 2021.11.07 |
댓글