본문 바로가기
모두의 아두이노

[아두이노][센서] NEO-6M GPS 확장 쉴드 SD 카드 사용하기 (MicroSD) - ReadWrite 테스트

by 로니킴 2021. 11. 16.


본 절은 [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 확장 쉴드

본 절은 [GPS 쉴드] 를 사용하기 위해 알아야 할 내용과 실습 방법에 대해 설명한다. GPS의 특징, 동작원리, 사양, 연결 핀 배열, 출력 값, 주의사항을 알아본다. 아두이노와 GPS쉴드를 연결하고, 간

makerspace.steamedu123.com

 

 

 


 



NEO-6M GPS 확장 쉴드 핀 배열

 

Shield 버전의 다이어그램은 미니 점퍼로 제어되는 핀이 Arduino D1 ~ D7의 물리적 핀에 연결된 연결을 볼 수 있다. 선택된 2개의 핀은 직렬 통신을 담당하므로 다른 용도로 사용해서는 안된다.

쉴드에서 선택한 TX 핀은 Arduino의 RX에 연결해야 한다는 점을 항상 기억해야 한다. 프로그래밍할 때 이 점에 주의해야 한다. 

 

핀 8은 SPI 프로토콜에서 MicroSD 카드를 선택하는 서비스를 만들기 때문에 실드에서도 사용된다.

 

https://blog.eletrogate.com/shield-gps-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) 를 사용한다.  

 

모두의 아두이노 환경 센서

아두이노와 센서로 내 건강을 지킬 수 있다!다양한 환경 센서를 실생활 프로젝트에 응용해보자!시중에 판매되고 있는 간이측정기도 센서로 값을 측정합니다. 똑같은 센서를 아두이노에 연결하

book.naver.com

반응형


댓글