아두이노 우노는 아두이노 시리즈의 가장 기본형으로써 크기 대비 성능은 그리 높지 않으나  별도의 전원단자가 있고 연결 포트들이 핀 소켓 형태으로 되어 있어 연결핀을 이리저리 꽂아 가면서 테스트해 볼 수 있기 때문에 초보자들이 처음 실습할 때 가장 많이 사용하는 아두이노 보드이다.

 

 

 

아두이노 우노  R3 SPEC

 

Microcontroller ATmega328P
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limit) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
PWM Digital I/O Pins 6
Analog Input Pins 6
DC Current per I/O Pin 20 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 32 KB (ATmega328P) of which 0.5 KB used by bootloader
SRAM 2 KB (ATmega328P)
EEPROM 1 KB (ATmega328P)
Clock Speed 16 MHz
LED_BUILTIN 13
Length 68.6 mm
Width 53.4 mm
Weight 25 g

 

 

보드의 구성

 

- USB 포트는 B Type으로(큰 정사각형 모양) 흔하게 사용하는 스마트폰용 USB 케이블을 사용할 수는 없다.

 

- DC 파워 잭은 2.1mm x 5.5mm 사이즈로서 일반적으로 많이 사용하는 크기이다.

 

- I2C 통신을 위해서 A4,A5 핀을 사용할 수 있으나 별도도 SDA,SCL 핀을 구성해 놓았으므로 복수개의 I2C를 동시에 연결해서 사용할 수 있다.

 

-디지털 핀 번호앞에 ~ 표시가 있는 것은 PWM방식( 모터 속도제어나 LED밝기 조절용으로 사용하는 전류 조정방식)으로 사용할 수 있는 핀이라는 표시이다.  

 

-3.3V를 사용하는 센서 등의 부품들도 연결해서 사용할 수 있도록 5V 출력 이외에 3.3V 출력단자도 별도로 있다.

 

- MCU인 ATMega328 칩은 착탈식으로 되어 있어 고장날 경우 해당 칩을 교체하여 사용할 수 있도록 되어 있다.

 

 

상세 PIN LAYOUT

 

 

 

 

사용방법

 

- 아두이노 IDE에서 기본으로 사용가능하므로 별도의 보드메니저등을 설치할 필요는 없고, 툴메뉴 -> 보드를 선택해서 Arduino/Genuino Uno 를 선택하기만 하면 된다.

 

 

-아두이노 IDE가 기동되어 있는 상태에서 USB케이블을 연결하면 다음과 같이 새로 연결된 포트가 표시된다.

 

 

 예제 프로그램 실행시켜 보기

 

 

-파일 메뉴 -> 예제 -> 01.Basic -> Blink 를 선택하면 소스 편집창에 Bink예제가 로드된다.

 

 

- 업로드 버튼을 클릭하면 컴파일 작업 및 업로드작업이 완료된 후 Blink프로그램이 작동된다.(우노 보드내에 있는 LED표시등이 1초간격으로 깜박이게 된다)

 

 

 

정보를 화면으로 표시하는 디스플레이 장치는 매우 많은 종류가 있으나, 가장 저렴하고 간편하게 정보를 출력하는 방식중에 LCD( Liquid Crystal Display:액정표시장치) 방식  즉, 전기적 신호로 액정의 모양을 변화시킨 후 화면 뒷부분에서 백라이트로 빛을 비추면 액정의 모양이 화면에 정보로서 표시되는 방식이 있다. 

 

 

 

 

 

LCD 방식 중에서도 제한된 숫자의 문자만을 표시하도록 하여 저렴하게 판매하는  LCD 문자 디스플레이 장치가 아두이노 정보표시용으로 많이 사용된다.   

 

 

 

 

위 그림은 일반적으로 가장 흔하게 사용하는 16X2(16자 2열) 표시용 이지만 이 외에도 표시 문자수 크기별로 또는 백라이트 컬러별로 다양한 종류들이 시판되고 있다.

 

 

 

구매시 주의사항 : 장치 뒷면에 보면 I2C 인터페이스모듈이 부착되어 있는 장치도 있고, 부착되어 있지 않고 단순 디스플레이 장치만 있는 경우도 있는데 I2C 인터페이스 모듈이 부착되어 있는 제품이 사용하기 편리하므로 되로록이면 I2C 부착형을 구매하는 것이 좋다.  

 

 

 

 

 

I2C 인터페이스 모듈이 부착되어 있지 않는 경우에는 디스플레이 보드의 매우 많은 핀들을 일일히 제어하는 프로그램을 개발하거나 아래와 같은 I2C 인터페이스 모듈을 별도로 구매하여 납땜작업을 해야 만이 편리한 I2C 4핀 연결방식으로 사용할 수 있게 된다.     

 

 

 

사용법 및 아두이노와의 연결

 

 

I2C방식의 연결이므로 아두이노의 SDA핀과 SCL핀을 찾아 연결해 주어야 하는데, 아두이노 기종별 SDA와 SCL핀의 배정은 다음과 같으므로  장치의 SDA핀과 SCL핀을 해당 기종의 핀에 연결하고 VCC와 GND는 5V와 GND에 각각 연결해 준다.   

 

 기종

 SDA핀 번호

SCL핀 번호 

 우노 ,나노

 아날로그 4번

 아날로그 5 번

 메가2560, 듀에

 디지털 20번

 디지털 21 번 

 ESP8266, D1mini

 디지털 2 번

 디지털 1번

 ESP32

 GPIO 21

 GPIO 22

 

 

 

라이브러리 설치

 

- 아두이노와 LCD장치간 연결( I2C방식통신)을 하기 위해서는 전용 라이브러리를 추가로 설치해 주어야 한다.

 - IDE 스케치 메뉴 -> 라이브러리 포함하기 -> 라이브러리관리하기 화면에서 "LiquidCrystal I2C" 를 검색하여 설치한다.

 

 

샘플프로그램

 

 

3 line :  LiquidCrystal_I2C lcd(0x3F,16,2);   0x3F Adress에 연결되는 16문자 2줄 짜리 I2C방식 LCD장치를  lcd라는 이름으로 선언

8 line :  lcd.backlight();  : 백라이트 켜기

9 line :  lcd.setCursor(col,line) 로 커서의 위치를 지정한다 ( 숫자는 0부터 시작함에 주의 )     
    -예 ) (0,0) : 첫째 줄 첫째 문자,     (2,1) : 둘째 줄 세번째 문자,

10 line : lcd.print("Hello, everyone!"); 현재 커서 위치에 지정하는 문자열을 출력시킨다. 

    -lcd.clear();  : lcd 문자 모두 지우기

 

 

LCD 화면에 문자가 표시 되지 않을 경우  

 

- LCD 밝기 조절 볼륨을 돌려 화면 밝기을 조절 해 보면 밝기부족으로 보이지 않던 문자가 보이는 경우도 있다.

 

- LCD I2C장치의 Address는 통상 0x3F이지만 장치 제조사별로 다른 Adress를 사용하는 경우도 있는데 다음의 장치 Address scan 프로그램으로 알아 낼수 있다.  알아낸 장치 고유 Address를 LiquidCrystal_I2C lcd(0x3F, 16,2); 문장의 0x3F 대신 지정한 후 다시 프로그램 업로드하여 테스트해 본다.

 

 

 

 

위 코드를 아두이노로 업로드하여 실행시키고 툴->시리얼모니터화면에 표시되는 메세지를 보면 현재 연결된 장치의 Adress를 확인할 수 있다.

 

 

BH1750 조도센서

 

 BH1750 조도센서는 빛의 세기를 측정하여 일반적으로 사용하는 빛의세기 단위인LUX 수치로 변환한 후 I2C 통신 방식으로 데이터를 제공한다. LUX 단위 숫자로 알려주므로 사용하기 매우 편리하고, BH1750 조도센서를 탑재한 센서모듈을 GY-302 로 칭한다.  

 

 

 

 

 

 

 

아두이노와의 연결

 

I2C방식의 연결이므로 아두이노의 SDA핀과 SCL핀을 찾아 연결해 주어야 하는데, 아두이노 기종별 SDA와 SCL핀의 배정은 다음과 같으므로  센서의 SDA핀과 SCL핀을 해당 기종의 핀에 연결하고 VCC와 GND는 5V와 GND에 각각 연결해 준다.   그리고 ADDR 핀은 I2C Address를 변경할 때 사용하는 핀으로써 아무 연결을 하지 않고 그대로 사용해도 된다.

 

 기종

 SDA핀 번호

SCL핀 번호 

 우노 ,나노

 아날로그 4번

 아날로그 5 번

 메가2560, 듀에

 디지털 20번

 디지털 21 번 

 ESP8266, D1mini

 디지털 2 번

 디지털 1번

 ESP32

 GPIO 21

 GPIO 22

 

 

라이브러리 설치

 

   - https://github.com/claws/BH1750  사이트에서 zip파일을 다운로드 받아 [스케치] -> [라이브러리포함하기]->[.zip라이브러리추가] 메뉴에서 설치한다.

 

 

 

 

 

샘플프로그램

 

 

 

 

+ Recent posts