본문 바로가기
만들기/아두이노

arduino nano BLE 33 sense 설치하기

by 훨훨날아 2022. 6. 14.
준비물

아두이노 nano ble 33 sense 보드 (약 5만원)

5pin 데이터케이블 (5천원)

보드매니저에서 아두이노 나노 33 ble sense 보드 설치하기.

보드매니저 아두이노나노 33 ble 설치후 보드가 생성된 것을 확인할 수 있다

 

기기 테스트

아두이노 나노 33 ble sense에 있는 센서
1. 가속도계
2. 자이로스코프
3. 자력계
4. 압력
5. 온도 습도
6. 근접 센서
7. 마이크로폰

처음 센서코드를 입력하고 컴파일하면 라이브러리가 없다고 나오는데 라이브러리 관리에서 센서라이브러리를 각각 추가해주면 된다. 

 

센서작동 코드

#include <Arduino_LSM9DS1.h> //Include the library for 9-axis IMU
#include <Arduino_LPS22HB.h> //Include library to read Pressure 
#include <Arduino_HTS221.h> //Include library to read Temperature and Humidity 
#include <Arduino_APDS9960.h> //Include library for colour, proximity and gesture recognition

void setup(){
  Serial.begin(9600); //Serial monitor to display all sensor values 

  if (!IMU.begin()) //Initialize IMU sensor 
  { Serial.println("Failed to initialize IMU!"); while (1);}

  if (!BARO.begin()) //Initialize Pressure sensor 
  { Serial.println("Failed to initialize Pressure Sensor!"); while (1);}

  if (!HTS.begin()) //Initialize Temperature and Humidity sensor 
  { Serial.println("Failed to initialize Temperature and Humidity Sensor!"); while (1);}

  if (!APDS.begin()) //Initialize Colour, Proximity and Gesture sensor 
  { Serial.println("Failed to initialize Colour, Proximity and Gesture Sensor!"); while (1);}
 }

float accel_x, accel_y, accel_z;
float gyro_x, gyro_y, gyro_z;
float mag_x, mag_y, mag_z;
float Pressure;
float Temperature, Humidity;
int Proximity;

void loop()
{
  //Accelerometer values 
  if (IMU.accelerationAvailable()) {
    IMU.readAcceleration(accel_x, accel_y, accel_z);
    Serial.print("Accelerometer = ");Serial.print(accel_x); Serial.print(", ");Serial.print(accel_y);Serial.print(", ");Serial.println(accel_z);
  }
delay (200);

  //Gyroscope values 
  if (IMU.gyroscopeAvailable()) {
    IMU.readGyroscope(gyro_x, gyro_y, gyro_z);
    Serial.print("Gyroscope = ");Serial.print(gyro_x); Serial.print(", ");Serial.print(gyro_y);Serial.print(", ");Serial.println(gyro_z);
  }
delay (200);

  //Magnetometer values 
  if (IMU.magneticFieldAvailable()) {
    IMU.readMagneticField(mag_x, mag_y, mag_z);
    Serial.print("Magnetometer = ");Serial.print(mag_x); Serial.print(", ");Serial.print(mag_y);Serial.print(", ");Serial.println(mag_z);
  }
delay (200);

  //Read Pressure value
  Pressure = BARO.readPressure();
  Serial.print("Pressure = ");Serial.println(Pressure);
  delay (200);

  //Read Temperature value
  Temperature = HTS.readTemperature();
  Serial.print("Temperature = ");Serial.println(Temperature);
  delay (200);

  //Read Humidity value
  Humidity = HTS.readHumidity();
  Serial.print("Humidity = ");Serial.println(Humidity);
  delay (200);

  //Proximity value
  if (APDS.proximityAvailable()) {
    Proximity = APDS.readProximity();
    Serial.print("Proximity = ");Serial.println(Proximity); 
    }
  delay (200);

  Serial.println("_____________________________________________________"); 
  delay(1000);
}

 

코드출처 : 1)

 

센서가 정상적으로 작동하면 시리얼모니터를 통해 각 센서값이 출력된다.

 

 

 

참고

1)
https://fishpoint.tistory.com/4419?category=626454 

 

Arduino Nano 33 BLE Sense 개발 가이드 4 - 센서 종합 테스트

Arduino Nano 33 BLE Sense 개발 가이드 4 - 센서 종합 테스트 Arduino는 빠른 프로토 타이핑 및 아이디어 검증을 위한 개발 플랫폼이었습니다. 우리 중 많은 사람들이 Arduino UNO 개발 보드를 시작했을 것입

fishpoint.tistory.com

 

반응형