1. SSD1306 OLED Display소개 

 

SSD1306 OLED Display는 1인치 이하의 소형 Display장치로서 사용하는 방법이 간단하고 가격도 저렴하기 때문에 아두이노 환경에서 간단한 사항을 표시하는 용도로 인기가 많은 장치이다.  OLED 방식이므로 반응속도도 빠르고  백라이트가 필요없어 얇은 두께가 가능하고 명암비가 높아 선명하다는 장점이 있는데도 2~3000원 정도면 구입할 수 있을 정도로 저렴하기도 하다.  

 

2. 1.SSD1306 OLED Display 주요 사양 

 

  • 공급 전압 : 3.3V / 5V
  • 온도 범위 : -30 ℃ ~ 70 ℃
  • 해상도 : 128 x 64 또는 128 x 32 pixel이 많이 사용됨 
  • 시각 : 160 ° 이상
  • 캐릭터 색상 : 단색 (흰색,청색, 또는 노란색 등)  
  • 초 저전력 소비 :  0.06w
  • 통신 인터페이스 : IIC / SPI
  • 밝기와 명암비는 프로그램 명령으로 제어 가능
  • 드라이버 IC : SSD1306

 

3. 아두이노와의 연결 

 

연결단자가 I2C연결방식인 경우 다음과 같이 연결하면 된다. 

 

VCC -> 5V, GND->GND 단자를 연결하고 SCL단자는 아두이노 Analog 5번에, SDA 단자는 A4핀에 연결하면 된다   

 

4. 라이브러리 설치 

 

SSD1306 장치를 지원하기 위한 라이브러리는 여러 종류가 있으나  Adafruit_SSD1306 라이브러리를 많이 사용한다. 

 

아두이노 IDE 라이브러리 메니저에서 SSD1306f를 검색하여 설치해 준다. 

컴파일을 하게 되면 이에 관련된 또다른 라이브러리를 찾을 수 없다는 에러 메세지가 나오는 경우가 있는데 에러 메세지에 따라  Adafruit_GFX 또는 Adafruit_busIO 라이브러리를 추가로 설치해 주어야 하는 경우도 있다. 

 

 

5. 샘플프로그램 

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels

// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

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

  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3D for 128x64
    Serial.println(F("SSD1306 allocation failed"));
    for(;;);
  }
  delay(2000);
  display.clearDisplay();

  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(0, 10);
  // Display static text
  display.println("Hello, world!");
  display.display(); 
}

void loop() {
  
}

9 line에서 정의한 display장치를 14 line에서 시작한다. 

19 ~26 Line : display장치를 초기화한 후 Text Size와 위치를 지정한 후 println 명령으로 출력하고 하면 된다.  

 

만약 display가 표시되지 않을 경우 14 LIne의 주소를 0x3D로 수정하여 테스트해 본다.  

 

단순한 문자열 출력이외의 다양한 그래픽 처리 예제는 예제 -> Adafruit SSD1306메뉴에서 찾아볼 수 있다 

 

6. 구매좌표 

 

 

2056.0₩ 17% OFF|NEW 0.96 Inch IIC Serial White/Blue/Yellow OLED Display Module 128X64 I2C SSD1306 12864 LCD Screen Board for

Smarter Shopping, Better Living! Aliexpress.com

www.aliexpress.com

 

 

1359.0₩ 13% OFF|Blue/White OLED LCD Display 0.91 Inch 128x32 IIC I2C Serial DIY Module SSD1306 Driver IC 0.91

Smarter Shopping, Better Living! Aliexpress.com

www.aliexpress.com

 

 

1. 아두이노 나노 33 시리즈  

아두이노 나노 33 IOT, 아두이노 나노 33 BLE, 아두이노 나노 33 BLE Sense 등 기존의 아두이노 나노와 비슷한 이름을 가진 아두이노보드들이 여러개 있어 혼동된다. 이들 시리즈들의 공통점과 차이점을 설명해 구분할 수 있도록 하고자 한다. 

 

아두이노 보드 이름에 나노가 붙으면 보드의 사이즈가 원래의 아두이노 나노와 동일한 18 x 45mm 이라는 의미이고 33 시리즈는 전통적으로 아두이노 보드들은 작동전압이 5V 이었는데 3.3V로 작동되는 보드임을 나타내는 것으로 보인다. 그리고 그뒤에 붙은 명칭은 보드의 기능을 용도별로 특화한 사항을 의미한다.    

 

즉 아두이노 나노 33 시리즈는 나노사이즈로 3.3V용 보드라는 의미로 각각의 보드는 다음과 같다.  

2. Arduino Nano 33 IoT

위 모양의 아두이노 나노 33 IOT는 IOT환경에 사용할 수 있도록 WIFI 및 BLE 통신기능이 추가되어 있고, 6축 IMU가 장착되어 있다. 

3. Arduino Nano 33 BLE

위 모양의 아두이노 나노 33 BLE 는 통신기능을 BLE 5.0으로 업그레이드하고 프로세서 및 메모리 사양을 증가시켜 놓은 모델로서 IMU센서도 9축용으로 업그레이드되어 있다. 

4. Arduino Nano 33 BLE Sense

 

위 모양의 아두이노 나노 33 BLE SENSE는 나노 33 BLE에 각종 센서들을 내장시켜 하나의 보드로 통합한 형태이다.  

 

5. Arduino Nano 33 시리즈 비교표

보드 Arduino NANO Arduino NANO 33 IOT Arduino NANO 33 BLE Arduino NANO 33 SENSE
무선통신 불가 Wi-Fi / BLE 4.2 BLE5.0 BLE5.0
메인칩 ATmega328 ATSAMD21 NINA-b3
(nRF52840)
NINA-b3
(nRF52840)
클럭 16 MHz 48MHz 64MHz 64MHz
Flash 메모리 32 kbyte 256 kbyte 1MB 1MB
SRAM 2 kbyte 32 kbyte 256kbyte 256kbyte
인터페이스 USB, SPI, I2C, UART USB, SPI, I2C, UART USB, SPI, I2C, UART USB, SPI, I2C, UART
USB 전원 5V 5V 5V 5V
VIN핀 전원 7V ~ 12V 4.5V ~ 21V 4.5V ~ 21V 4.5V ~ 21V
회로동작전압 5V 3.3V 3.3V 3.3V
디지털핀 14핀
6개핀에 PWM기능 탑재
14핀
6개핀에 PWM기능 탑재
14핀
6개핀에 PWM기능 탑재
14핀
6개핀에 PWM기능 탑재
아날로그핀 8 8 8 8
내장센서  - LSM6DS3: 6축 IMU( 가속도,자이로)  LSM9DS1: 9축 IMU(가속도,자이로,지자기) - LSM9DS1: 9축 IMU(가속도,자이로,지자기)
- APDS9960:
 색, 제스처, 근접 센서
- MP34DT05: 디지털 마이크
- LPS22HB: 대기압 센서
- HTS221: 온습도 센서
- RGB LED = {D22, D23, D24}
보드 크기 18mm × 45mm 18mm × 45mm 18mm × 45mm 18mm × 45mm

 

1.아두이노 나노 33 BLE Sense

 

아두이노 나노 33 BLE Sense보드는 아두이노 나노급 사이즈이지만 성능과 기능을 대폭 향상시켜 AI학습용으로 사용할수 있도록 한다는 취지의 보드이다.  기본적으로 메인 칩을 노르딕사의  nRF52840를 채용하여 처리 속도 및 메모리 용량을 대폭 업그레이드하고 BLE 5.0 저전력 블루투스 통신기능을 내장시킴과 동시에 여러가지 센서들을 보드내에 포함시켜 별도 센서 연결작업 없이도 다양한 센서기능 실습이 가능하도록 구성되어 있다.    

2. 아두이노 나노와의 사양비교  

보드 Arduino NANO Arduino NANO 33 SENSE
무선통신 불가 BLE5.0
메인칩 ATmega328 NINA-b3
(nRF52840)
클럭 16 MHz 64MHz
Flash 메모리 32 kbyte 1MB
SRAM 2 kbyte 256kbyte
인터페이스 USB, SPI, I2C, UART USB, SPI, I2C, UART
USB 전원 5V 5V
VIN핀 전원 7V ~ 12V 4.5V ~ 21V
회로동작전압 5V 3.3V
디지털핀 14핀
6개핀에 PWM기능 탑재
14핀
6개핀에 PWM기능 탑재
아날로그핀 8 8
보드 크기 18mm × 45mm 18mm × 45mm
내장된 센서  - - LSM9DS1: 9축 IMU(가속도,자이로,지자기)
- APDS9960:
색, 제스처, 근접 센서
- MP34DT05: 디지털 마이크
- LPS22HB: 대기압 센서
- HTS221: 온습도 센서
- RGB LED = {D22, D23, D24}

 

3. 나노 33 BLE Sense PINMAP

-Digital PIN : 14개의 디지털 Input/Output 핀을 가지고 있으며 전부 PWM 용으로 사용가능하다.

-Analog PIN : 8개의 12 bit 해상도 아랄로그핀이 있어  최대 8개의 아날로그 센서를 연결하여 사용할 수 있다.

-기타 통신을 위한 I2C, SPI, Tx/Rx 핀들이 구성되어 있다. 

 

-VIN : VIN 단자를 통한 입력 전원은 21V까지 가능하고 USB 연결을 통해 5V 전원공급으로 사용가능하지만 기본적인 보드의 LOGIC 전압은 3.3 이다. 따라서 Digtal Input 등의 단자에 다른 5V 신호를 가하게 되면 보드가 손상되므로 주의해야 한다.     

 

-5V PIN : 다른 부품에 5V 전압을 공급할 수 있도록 5V 출력 핀이 있지만 기본적으로 비활성화 되어 있고 사용하려면 다음과 같이  보드 뒷면을 납땜으로 연결시켜 주어야 한다.  

5. 아두이노IDE에서의 사용방법 

 

기존 아두이노나노와는 전혀 다른 보드이므로 보드패키지를 설치해 주여야 한다.   

 

1) 아두이노 IDE에서 툴 -> 보드 ->보드메니저를 선택한다. 

 

2) 보드메니저에서 nano 33 BLE를 검색하여 "Arduino Mbed OS Nano Board"를 설치해 주어야 한다. 

 

3) 또한 내장되어 있는 센서기능을 사용하려면 해당 라이브러리들을 각각 설치해야 한다. 얘를 들어 가속도센서기능을 사용하려면  라이브러리 메니저에서 Arduino_LSM9DS1라이브러리를 찾아 설치해 주어야 한다. 

 

6. 샘플프로그램 

위 두가지 설치작업을 마치고 보드를  Arduino 33 BLE"로 선택하면 다음과 같은 관련 예제 프로그램들이 표시된다. AI기능 개발 테스트를 위한  TensorflowLite 예제도 몇개 포함되어 있다. 

 

7. 사용후기 

 

보드의 크기만 기존의 아두이노 나노와 동일할 뿐 모든 사양이나 기능의 범위가 다른 차원의 보드로서 AI기능 학습 등에 널리 유용한 보드임에는 분명하지만.....

 

아직 중국산 호환보드가 나오지 않고 이탈리아산 오리지널만 판매되고 있어서 인지 구매 가격이 너무 비싸다. 아두이노 나노의 경우 호환기종을 몇천원대에 살 수 있는 반면 나노 33 BLE Sense보드는 10배 정도의 비용을 들여야 구매할 수 있다.  

 

그리고 실제 아두이노 IDE에서 사용해보면 컴파일속도가 매우 느려 답답하다.  컴파일 한번 하는데 간단한 프로그램도 몇분은 기본이고, 조금 복잡한 AI 프로그램은 10분이상 아무 반응없이 컴파일 작업이 진행되므로 에러로 작업이 중단된 것으로 생각되어 강제 종료 후 다시 작업하는 사례가 많을 정도로 느리다. 두번째 컴파일 작업은 조금 속도가 빨라 지기는 하지만 여전히 느려 답답하다.  

 

 

 8. 구매좌표    

 

정품 나노 33 BLE 센스 Nano 33 BLE Sense ABX00031

COUPANG

www.coupang.com

 

 

+ Recent posts