로그인회원등록 내글장바구니주문조회현재접속자
 상품 검색








 게시판 검색





 
 
회원등록 비번분실


온라인 입금계좌
ㆍ기업은행
ㆍ219-043192-01-028
ㆍ이건영

      거래은행 바로가기
 
 Sensor Applications
아듀이노 공개소스
작성자 avrtools™        
작성일 2012/03/29
첨부#1 tiny-oscope.zip (2KB) (Down:0)
ㆍ추천: 0  ㆍ조회: 3058   
  아날로그 8ch 데이터 로거
아날로그 자료 수집기(Data Logger)는 0~5V 혹은 0~20mA의 아날로그 값을 PC로 전송한다.
SPI 인터페이스로된 SD 메모리를 추가하면, 수집장치에서 SD 메모리에 데이터를 저장할 수 도 있다.
참조 :  http://arduino.cc/en/Reference/SD

  

아듀이노 기판의 8개 아날로그 입력 핀의 아날로그 값을 순서대로 읽어서,
하나의 문자열로 모은 다음, SD 메모리로 저장하는 방법(SD 라이브러리를 사용)을 보여준다.
아날로그 입력은 아듀이노 기판의 A0, A1, A2, A3, A4, A5, A6, A7 아날로그 입력을 사용한다.
 
SPI는 SD 메모리로 연결한다. (좌측은 아듀이노 ---> 우측은 SD 메모리)
/CS - D4      -----> 1 -/CS (SS - D10을 사용하지 않는다, 다른 장치에서 사용하도록 한다)
MOSI - D11  -----> 2 - DI

GND  -----------> 3 - GND
3.3V ------------> 4 - VDD
CLK - D13    -----> 5 - CLK
GND  -----------> 6 -GND
MISO - D12  -----> 7 - DO

SD 메모리 카드의 연결 예 : 5V 전원의 아듀이노 기판 (M328-mini V1.0)에 연결한 예.
 

SD 메모리 카드의 연결 예: 3.3V 전원의 아듀이노 기판 (M328-mini V2.0)에 연결한 예.
 

외부 부품이 없으므로 SD 카드 시일드없이, SD 카드 소겟에 SIP 7핀 커넥터를 납땜한 다음,
SD 카드 소켓을 빵판에 직접 꼽아서 아듀이노 기판과 연결할 수 있다.

SD/MMC 카드의 핀 배열
1. /CS : 카드 선택 ---> SS (D10 = PB2)
2. DI : 입력 ---> MOSI (D11 = PB3)
3. VSS : GND
4. VDD : +3.3V
5. CLK : Clock ----> SCK (D13 = PB5)
6. VSS : GND
7. DO : 출력 ---> MISO (D12 = PB4)
참고 : D13 에 연결된 아듀이노 기판의 내장 LED는 SPI 작동에 문제가 없으므로 그대로 둔다.

만일 아듀이노 기판에서 SPI를 1개 이상 사용한다면 /CS 핀을 SS에서 다른 핀으로 연결해야 한다.
혹은 추가하는 다른 SPI의 /CS를 다른 핀으로만, 연결해 주면 SPI의 통신은 공용으로 작동된다.

SD 라이브러리를 사용하려면 소스에 #include <SD.h>를 추가하여 라이브러리를 부른다.
먼저 SD.h와 SD.cpp가 들어있는 SD 라이브리를 폴더를 Arduino > Libraries >안에 통째로 복사한다.
Arduino-0023 IDE의 Import Library를 보면 SD라고 나오므로, SD 라이브러리를 추가할 필요는 없다.
 
SD 라이브러리의 SD class 함수는 다음과 같다.  
begin()
exists()
mkdir()
open()
remove()
rmdir()
 
SD 라이브러리의 File Class 함수는 다음과 같다.
available()
close()
flush()
peek()
position()
print()
println()
seek()
size()
read()
write()
isDirectory()
openNextFile()
rewindDirectory() 

음 생각보다 SD 라이브러리가 내장함수를 많이 가지고 있네요,,,
시간이 나는데로 각 class의 함수에 대하여 간단히 설명을 추가하겠습니다.

아듀이노 내장 ADC를 사용 
// SD card datalogger 자료 수집기 소스
// by Tom Igoe
#include <SD.h>  // SD 메모리 라이브러리를 부른다.
const int chipSelect = 4;  // CS를 D4로 변경한다.

void setup()  // 초기화 함수 
{
  Serial.begin(115200);  // 직렬포트의 초기화
  Serial.print("Initializing SD card..."); // SD 메모리 초기화
  pinMode(10, OUTPUT);  // 다른 장치의 출력 용도

  if (!SD.begin(chipSelect)) {
    Serial.println("Card failed, or not present");  // SD 카드가 없다고 알린다.
    return;
  }
  Serial.println("card initialized.");  // SD 카드 초기화 됨을 알린다.
}

void loop()  // 주 함수
{
  String dataString = "";  // 변수 어레이를 준비한다.

  for (int analogPin = 0; analogPin < 8; analogPin++) { // 아날로그 값을 A1~A7 까지 읽어온다.
    int sensor = analogRead(analogPin);  // 1개의 아날로그 핀을 읽는다.
    dataString += String(sensor);              // 먼저 읽은 값의 뒤에 이어서 붙힌다.
    if (analogPin < 8) dataString += ",";       // 마지막 값이 아니면 구분자 ,를 모두 추가한다.
  }

  File dataFile = SD.open("datalog.txt", FILE_WRITE);
  if (dataFile) { // 파일이 존재하면 기존 파일의 뒤에다 추가한다.
    dataFile.println(dataString);  // 마지막 값은 println으로 CR이 추가된다.
    dataFile.close();                  // 파일을 닫는다. (SD 파일 쓰기를 종료한다)
    Serial.println(dataString);    // 지금 추가된 데이터를 PC에 1줄로 전송한다.
  } 
  else Serial.println("error opening datalog.txt");  // 파일이 없으면 오류를 알린다.
}


이 프로그램은 무료 소프트웨어로, 신체와 재산 상의 어떤 위험과 손해를 보상하지 않습니다.
이 프로그램은 GNU 무료 소프트웨어 배포규정을 따릅니다.
Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
 AVRTOOLS™

   
윗글 Arduino 고속 오실로스코프 #3
아래글 Arduino DMX512 송신기 제작
    N         제목    글쓴이 작성일 조회 추천
61 비접점식 QTouch 방식 근접검출 스위치 leeky 2016/01/21 (목) 1074 0
60 Arduino 고속 오실로스코프 #3 avrtools™ 2012/03/29 (목) 18175 0
59 아날로그 8ch 데이터 로거 avrtools™ 2012/03/29 (목) 3058 0
58 Arduino DMX512 송신기 제작 avrtools™ 2012/03/15 (목) 3208 0
57 nRF24L01 무선모듈의 사용방법 avrtools™ 2012/03/07 (수) 6498 0
56 초음파 거리 측정기의 제작 avrtools™ 2011/09/18 (일) 5277 0
55 3축 가속도 센서 ADXL335 avrtools™ 2011/09/09 (금) 3802 0
54 Arduino Uno USBserial 펌웨어의 변경 avrtools™ 2011/08/27 (토) 3327 0
53 Arduino MIDI의 소개 avrtools™ 2011/08/19 (금) 3704 0
52 Arduino 고속 Oscillo Scope #2 avrtools™ 2011/08/12 (금) 3345 0
51 Arduino Uno 및 USB2serial Uno의 소개 [2] avrtools™ 2011/07/30 (토) 3625 0
50 Arduino IDE에서 AVRISP-mkII 사용방법 avrtools™ 2010/10/22 (금) 8294 0
49 아듀이노 초음파 거리측정 및 응용 avrtools™ 2010/03/14 (일) 4367 0
48 M328-USB의 비밀 온도센서 avrtools™ 2010/01/02 (토) 3775 0
47 M168-mini로 만드는 USBasp avrtools™ 2009/10/10 (토) 5718 0
46 OBDuino ISO9141 소스의 설명 avrtools™ 2009/10/08 (목) 4444 0
45 아듀이노 0017 업그레이드 avrtools™ 2009/08/18 (화) 3953 0
44 Arduino 0015 업그레이드 avrtools™ 2009/06/01 (월) 3654 0
43 CC2500 Zigbee RF Modem #1 [4] avrtools™ 2008/11/20 (목) 6985 0
42 아듀이노 소프트웨어 Ver 0012 avrtools™ 2008/09/23 (화) 4145 0
41 Arduino 소프트웨어 설치방법 avrtools™ 2008/08/31 (일) 5837 0
40 아듀이노 PC 카메라 제작 avrtools™ 2008/10/28 (화) 7483 0
39 아듀이노 AVR-ISP V2의 제작 [6] avrtools™ 2008/10/22 (수) 8639 0
38 아듀이노 J1850-PWM 스캐너 avrtools™ 2008/10/15 (수) 4684 0
37 아듀이노 MPGduino의 제작 avrtools™ 2008/10/11 (토) 5179 0
36 아듀이노 OBD-II PID 처리함수 avrtools™ 2008/10/12 (일) 5833 0
35 아듀이노 OBD-II PID 송수신 함수 avrtools™ 2008/10/09 (목) 10058 0
34 아듀이노 ODB-II 스캐너 제작 [9] avrtools™ 2008/10/04 (토) 17993 0
33 아듀이노 AC전원 THD 측정 [2] avrtools™ 2008/09/30 (화) 7033 0
32 아듀이노 소프트방식 16Bit ADC avrtools™ 2008/09/23 (화) 5748 0
31 아듀이노 초음파 모듈의 제작. avrtools™ 2008/09/22 (월) 5118 0
30 아듀이노 Wii 프로세싱 avrtools™ 2008/09/20 (토) 4320 0
29 아듀이노 초음파 거리측정 avrtools™ 2008/09/20 (토) 6311 0
28 아듀이노 8x5 초소형 전광판 avrtools™ 2008/09/11 (목) 4881 0
27 아듀이노 4선식 터치패널 avrtools™ 2008/09/10 (수) 4817 0
26 아듀이노 2색 8x8 LED avrtools™ 2008/09/10 (수) 5142 0
25 아듀이노 24x6 LED 전광판 avrtools™ 2008/09/10 (수) 5688 0
24 아듀이노 8x8 LED 프로세싱 avrtools™ 2008/09/10 (수) 4266 0
23 아듀이노 32x16 RGB 전광판 avrtools™ 2008/09/06 (토) 13896 0
22 아듀이노 맥박검출기 avrtools™ 2008/09/03 (수) 9851 0
21 아듀이노 적외선 거리센서 avrtools™ 2008/09/01 (월) 6147 0
20 아듀이노 DMX 수신장치 [7] avrtools™ 2008/08/31 (일) 7098 0
19 아듀이노 AVR-ISP 만들기 avrtools™ 2008/08/30 (토) 4345 0
18 아듀이노 POV #3 avrtools™ 2008/08/30 (토) 3636 0
17 아듀이노 POV #2 avrtools™ 2008/08/30 (토) 3409 0
16 AVR 병렬포트 굽기장치 avrtools™ 2008/08/30 (토) 5489 0
15 아듀이노 DMX 송신기 avrtools™ 2008/08/28 (목) 5331 0
14 아듀이노 부트로더의 개조 [1] avrtools™ 2008/08/28 (목) 5991 0
13 아듀이노 병렬포트 굽기장치 avrtools™ 2008/08/26 (화) 4396 0
12 아듀이노 POV #1 avrtools™ 2008/08/26 (화) 3658 0
11 아듀이노 MIDI 드럼 leeky 2008/08/24 (일) 4991 0
10 아듀이노 SD/MMC 카드 avrtools™ 2008/08/24 (일) 9969 0
9 아듀이노 MIDI 플륫 avrtools™ 2008/08/24 (일) 3843 0
8 아듀이노 RGB LED avrtools™ 2008/08/23 (토) 5258 0
7 아듀이노 USB 오실로스코프 [2] leeky 2008/08/21 (목) 6823 0
6 가속도계 ADXL202 응용소스 avrtools™ 2008/08/20 (수) 5136 0
5 아듀이노 가속도센서 avrtools™ 2008/08/18 (월) 5171 0
4 아듀이노 RC서보 제어 avrtools™ 2008/08/17 (일) 5468 0
3 아듀이노 910-ISP 만들기 avrtools™ 2008/08/16 (토) 5036 0
2 아듀이노 온도센서, XBee 송수신 avrtools™ 2008/08/15 (금) 7920 0
1 아듀이노 기본명령 avrtools™ 2008/08/07 (목) 7059 0
1

바구니 : 0
 보관함 : 0
오늘뷰 : 0
HOME   |   회사소개   |   제휴안내   |   회사위치   |   서비스이용 약관   |   개인정보 보호정책   |   사이트맵
17015 경기도 용인시 기흥구 동백중앙로16번길 16-25, 508호. 전화 : 031-282-3310
사업자 등록번호 : 697-47-00075 / 대표 : 이건영 / 업태 : 제조업 / 종목 : LED조명, LED전원, 제어장치.
개인정보 관리책임자 : 홈페이지 관리자 . Copyright ⓒ2016 아크레즈 (ACLEDS INC.)
HOME TOP PREVNEXT 0 0 0