목차(클릭하세요)
1. 핀맵
1-1. 전원 부분
[전원공급 방식]
•
UNO Q는 다음 3가지 방식으로 전원 공급이 가능
◦
USB‑C 포트: 5V 3A(15W) 입력
◦
5V 핀: 외부 5V 직결
◦
VIN 핀: 7-24V 입력
[재부팅]
•
전원이 인가되면 자동 부팅되며, 전원 버튼을 따로 누를 필요는 없음
•
상단 전원 버튼은 5초 이상 길게 누르면 리눅스(MPU) 부분만 재부팅
[전원버튼]
1-2. USB-C 커넥터
•
보드에 전원을 공급하고 프로그래밍하는 것 외에도 다양한 용도로 사용할 수 있는 USB-C 커넥터를 잘 사용해야 함
•
USB-C 커넥터의 주요 기능
항목 | 설명 |
전원 입력 | 5V 3A (15W) - USB-C로 전원 공급 |
USB 속도 | USB 3.1 Gen 1 (5Gb/s) - 빠른 데이터 전송 |
영상 출력 | DisplayPort 지원 - 모니터 연결 가능 |
•
USB-C 동글(어댑터/허브)을 사용해야 하는 이유
◦
완전한 컴퓨터 구성 가능 (모니터, 키보드, 마우스 연결)
◦
AI 비전 프로젝트용 카메라 사용 가능
◦
저장공간 부족 시 외장 저장장치 추가 가능
항목 | 설명 |
영상 출력 | HDMI 지원 - 모니터 연결 가능 |
영상 입력 | USB 카메라 지원 - 웹캠 연결 가능 |
오디오 | USB 또는 3.5mm 헤드셋 (스피커+마이크) |
이더넷 | 유선 인터넷 연결 지원 |
HID | USB 키보드/마우스 및 기타 입력장치 |
저장장치 | 외장 microSD 카드 또는 USB 드라이브 |
1-3. 영어원본
1-4.한글
2. 디지털·아날로그 핀 및 타이밍 기능
2-1. 디지털 핀 개요
•
총 47개 디지털 핀 - STM32 MCU에 연결
◦
UNO 스타일 헤더: D0-D21 (22개)
◦
하단 JMISC 커넥터: 25개
•
모든 디지털 핀은 다음처럼 사용 가능:
pinMode(pin, INPUT / OUTPUT / INPUT_PULLUP);
int v = digitalRead(pin);
digitalWrite(pin, HIGH/LOW);
C++
복사
•
일부 핀은 UART, SPI, I2C, CAN, PWM, OPAMP 등 다른 기능과 겹쳐 배치되어 있으므로, 실드/외부 회로 설계 시 핀 기능표를 확인해야 함
•
D14-D19는 아날로그 기능(A0-A5)과 겸용이
2-2.ADC(아날로그 입력) - A0~A5
•
채널 수: 6채널 (A0-A5), 14비트 ADC1
•
기본 매핑
◦
A0 (PA4): ADC + DAC0
◦
A1 (PA5): ADC + DAC1
◦
A2 (PA6), A3 (PA7): ADC + OPAMP 입력
◦
A4 (PC1): ADC + I2C SDA
◦
A5 (PC0): ADC + I2C SCL
•
해상도 설정
analogReadResolution(14); // 8/10/12/14비트 선택 가능
int value = analogRead(A0);
C++
복사
•
기본 기준 전압(Vref): 3.3V
소프트웨어로 내부/외부 레퍼런스를 바꿀 수 있다:
analogReference(AR_INTERNAL2V5); // 2.5V 내부 기준
// AR_INTERNAL1V5, AR_INTERNAL1V8, AR_INTERNAL2V05, AR_EXTERNAL 등
C++
복사
•
AR_EXTERNAL 사용 시 AREF 핀으로 외부 기준전압 인가 가능
2-3. DAC(아날로그 출력) - DAC0, DAC1
•
채널 수: 2채널
◦
DAC0: A0 (PA4)
◦
DAC1: A1 (PA5)
•
해상도 설정 및 출력1
analogWriteResolution(12); // 8~12비트
analogWrite(DAC0, value); // 실제 전압 출력
C++
복사
•
예: LUT를 이용해 60Hz 사인파를 생성하면 DAC0에서 연속적인 아날로그 파형을 출력 가능
•
일반 GPIO에 analogWrite → PWM
DAC 핀(DAC0/DAC1)에 analogWrite → 진짜 아날로그 전압
2-4.PWM 핀 - D3, D5, D6, D9, D10, D11
•
PWM 지원 핀: 6개
•
D3, D5, D6, D9, D10, D11 (SPI SS/MOSI 등의 기능과 겸용)1
•
기본 사양
◦
주파수: 500Hz 고정
◦
기본 해상도: 8비트 (0-255)
•
사용 예
analogWriteResolution(10); // 0~1023
analogWrite(D3, duty); // D3 핀에서 PWM 출력
C++
복사
•
예: A0에서 읽은 포텐셔미터 값을 PWM 듀티로 매핑해 밝기 제어 등 구현 가능
3. 유선 통신 인터페이(UART·SPI·I2C·Qwiic)
3-1. UART (하드웨어 시리얼)
•
핀 매핑
◦
D0: RX (PB7)
◦
D1: TX (PB6)
•
사용 예
Serial.begin(115200);
Serial.println("Hello UNO Q");
C++
복사
•
이 Serial 포트는 물리적인 D0/D1 핀으로 나가며, App Lab의 Serial Monitor와는 별개
•
외부 장치와 통신할 때 사용하고, App Lab Serial Monitor에는 Monitor 객체를 사용
3-2. SPI
•
핀 매핑1
◦
D10: SS
◦
D11: MOSI
◦
D12: MISO
◦
D13: SCK
•
기본 사용 패턴
#include <SPI.h>
void setup() {
pinMode(D10, OUTPUT);
digitalWrite(D10, HIGH); // 비선택 상태
SPI.begin();
}
void loop() {
digitalWrite(D10, LOW);
SPI.transfer(0x35); // 주소 등
SPI.transfer(0xFA); // 데이터
digitalWrite(D10, HIGH);
}
C++
복사
3-3. UART (하드웨어 시리얼)
•
I2C (Wire / Wire1)
•
메인 I2C 버스 - UNO 헤더(Wire)1
◦
SDA: D20 (PB11)
◦
SCL: D21 (PB10)
◦
사용 예:
#include <Wire.h>
void setup() {
Wire.begin(); // D20/D21
}
C++
복사
•
서브 I2C 버스 - Qwiic 커넥터(Wire1)
◦
SCL: I2C4_SCL (PD12)
◦
SDA: I2C4_SDA (PD13)
◦
Wire1.begin()으로 초기화
◦
3.3V 전용, Qwiic/Modulino 같은 퀵 커넥트 모듈 연결용
3-4. Qwiic 커넥터
•
SparkFun의 Qwiic 생태계를 따르는 4핀 I²C 커넥터1
◦
장점
▪
무(無) 납땜, 점퍼선 없이 센서·액추에이터 연결
▪
극성(Polarized) 커넥터로 역삽입 방지
▪
데이지체인으로 여러 장치를 직렬 연결 가능
▪
내장 풀업 저항
◦
UNO Q에서는 Wire1(I2C4)에 연결, 3.3V 전용
•
Arduino Modulino 시리즈 등 다양한 노드를 쉽게 연결할 수 있음





