[ATMEL]/SAMD212017. 12. 25. 03:10

ATSAMD21 Arduino M0 보드 테스트 - I2C SHT20 온습도 센서 테스트

ATSAMD21 Arduino M0 보드 테스트 - I2C SHT20 온습도 센서 테스트





ATSAMD21의 I2C 테스트를 Arduino 코드(I2C 라이브러리)를 이용해서 테스트 진행 해 보았다.

Arduino 보드의 최대 장점은 하드웨어에 독립적으로 다양한 예제들을 사용할 수 있다는 점. 


I2C도 기본 라이브러리에 포함되어 있고 그냥 가져다 쓰면 된다.


I2C를 테스트 해 보기 위해 기존에 제작해 두었던 온습도 센서 모듈 SHT20를 적용하여 온습도를 출력하는 예제를 테스트 했다.




우선 하드웨어 적으로 다양한 센서 및 확장 테스트 보드를 사용할 수 있는 표준 핀맵의 Arduino 확장 테스트 보드를  Aruino M0 보드에 장착한다.


STH20 센서는 기존에 제작 해 두었던 Sensor100 SSM 보드를 이용하였다.







소프트웨어 적으로 Arduino의 라이브러리 관리 에서 STH20을 검색해서 나오는 uFire SHT20 예제 코드를 설치 해서 테스트 했다.






SHT21 Arduino 기본 테스트 예제코드

#include "uFire_SHT20.h"

uFire_SHT20 sht20;


void setup()

{

  Serial.begin(9600);

  Wire.begin();

  sht20.begin();

}


void loop()

{

  sht20.measure_all();

  Serial.println((String)sht20.tempC + "°C");

  Serial.println((String)sht20.tempF + "°F");

  Serial.println((String)sht20.dew_pointC + "°C dew point");

  Serial.println((String)sht20.dew_pointF + "°F dew point");

  Serial.println((String)sht20.RH + " %RH");

  Serial.println((String)sht20.vpd() + " kPa VPD");

  Serial.println();

  delay(5000);

}





SHT20 기본 예제 코드 실행하면 정상적으로 SHT20의 온습도 값을 출력 해 주는것을 확인 할 수 있다.



Posted by nexp

댓글을 달아 주세요

[ATMEL]/SAMD212017. 12. 14. 07:12

ATSAMD21 Arduino M0 보드 테스트 - 시리얼 포트

ATSAMD21 Arduino M0 보드 테스트 - 시리얼 포트

Arduino 기본 예제로 시리얼 포트 출력을 해 봤는데... 정상 출력이 안된다.
무엇이 문제 일까?

void setup() {
  Serial.begin(115200);
}


void loop() {
  // read the analog in value:
  sensorValue = analogRead(A0);

  Serial.println(sensorValue);

  delay(200);
}


자료를 찾아보니 Arduino Zero 는 3개의 시리얼 포트를 사용할 수 있고 SDAMD21의 USB 를 이용한 CDC 포트는 SerialSUB 라는 클래스 이름으로 등록 되어 있고 UART0 ( PA10(TX), PA11(RX))는  Seial1으로 등록되어 있다.




초기화시에 필요한 UART를 등록해서 사용하면 된다.



void setup() 
{
  // initialize serial communications at 9600 bps:
  
  Serial1.begin(9600);   //PA10(TX), PA11(RX)
  
  SerialUSB.begin(9600); //SAMD21 CDC native serial
}


void loop() {
  // read the analog in value:
  sensorValue = analogRead(A0);

  Serial1.print(sensorValue);
  SerialUSB.println(sensorValue);

  delay(200);
}

Posted by nexp

댓글을 달아 주세요

[ATMEL]/SAMD212017. 12. 12. 05:24

ATSAMD21 Arduino M0 보드 제작

ATSAMD21 Arduino M0 보드 제작

AT91SAMD21J18을 이용하여 Adruino 형태의 보드를 제작 했다.

Arduino M0 핀맵과 동일하게 제작해서 M0 보드로 활용 가능하도록 했다.



기본은 Arduino M0 보드를 기준으로 하고  몇가지 부가 기능들을 좀 추가 하여 여러가지 용도로 테스트 할수 있도록 제작 하였다.




아두이노 에서 ATSAMD21 M0보드 설정하기

기본 부트로드를 다운로드 한 후 아두이노 보드메니저에서 Arduino M0 Pro(Native USB Port)를 설정해 주면된다.




기본 세팅은 테스트 되었고 이제 아두이노용으로 제작한 다양한 확장 실드 보드로 테스트 하면 좋을것 같다.


Posted by nexp

댓글을 달아 주세요