아두이노 우노 보드는 마이크로컨트롤러를 기반으로 한 오픈 소스 전자 플랫폼으로, 다양한 전자 부품과 연결하여 쉽게 프로젝트를 만들 수 있도록 설계되었습니다. 다음은 아두이노 우노 보드의 주요 구성 요소에 대한 설명입니다.
1. 마이크로컨트롤러 (Microcontroller)
- Atmel ATmega328P: 아두이노 우노의 핵심 부품으로, 모든 연산 및 제어를 담당합니다. 프로그램을 저장하고 실행하며, 입력 신호를 받아 출력 신호를 생성합니다.
2. 전원 공급
- USB 연결: 컴퓨터와 USB 케이블로 연결하여 전원을 공급받고, 프로그램을 업로드할 수 있습니다.
- 외부 전원 잭: 7-12V DC 어댑터를 사용하여 외부 전원을 공급할 수 있습니다.
- 전압 레귤레이터: 입력 전압을 5V로 변환하여 아두이노 보드에 안정적인 전원을 공급합니다.
3. 입출력 핀 (Input/Output Pins)
- 디지털 핀 (Digital Pins): 0 또는 5V의 디지털 신호를 입력 또는 출력할 수 있는 14개의 핀 (0~13번) 이 있습니다. 이 중 6개의 핀 (3, 5, 6, 9, 10, 11번) 은 PWM (Pulse Width Modulation) 출력을 지원하여 아날로그 신호처럼 출력할 수 있습니다.
- 아날로그 입력 핀 (Analog Input Pins): 0~5V 사이의 아날로그 신호를 입력받을 수 있는 6개의 핀 (A0~A5번) 이 있습니다.
- 전원 핀 (Power Pins): 5V, 3.3V, GND (접지) 핀을 통해 외부 장치에 전원을 공급할 수 있습니다.
4. 통신
- 시리얼 통신 (Serial Communication): 0번 (RX) 과 1번 (TX) 핀을 통해 컴퓨터 또는 다른 장치와 시리얼 통신을 할 수 있습니다. USB 연결을 통해서도 시리얼 통신이 가능합니다.
- SPI 통신 (SPI Communication): 10번 (SS), 11번 (MOSI), 12번 (MISO), 13번 (SCK) 핀을 통해 SPI 통신을 지원하는 장치와 데이터를 주고받을 수 있습니다.
- I2C 통신 (I2C Communication): A4번 (SDA) 과 A5번 (SCL) 핀을 통해 I2C 통신을 지원하는 장치와 데이터를 주고받을 수 있습니다.
5. 기타
- 리셋 버튼 (Reset Button): 아두이노 보드를 재시작할 때 사용합니다.
- TX/RX LED: 시리얼 통신 시 데이터 송수신을 나타내는 LED입니다.
- 외부 인터럽트 핀 (External Interrupt Pins): 2번과 3번 핀은 외부 인터럽트를 처리할 수 있습니다.
- ICSP 헤더 (ICSP Header): In-Circuit Serial Programming을 위한 핀입니다.
참고:
- 아두이노 우노 보드는 Atmel ATmega16U2 마이크로컨트롤러를 사용하여 USB 통신을 처리합니다.
- 16MHz 크리스털 오실레이터는 마이크로컨트롤러에 클럭 신호를 제공합니다.
---
아두이노 우노 보드의 디지털 핀 중 일부는 PWM (Pulse Width Modulation) 출력을 지원합니다. 이를 통해 디지털 핀에서 아날로그 신호처럼 출력할 수 있습니다.
디지털 신호와 아날로그 신호
- 디지털 신호: 0V 또는 5V와 같이 두 가지 상태 (HIGH/LOW) 만을 가지는 신호입니다. 스위치를 켜거나 끄는 것처럼, 신호가 갑자기 변합니다.
- 아날로그 신호: 0V에서 5V 사이의 연속적인 값을 가지는 신호입니다. 조광기로 빛의 밝기를 조절하는 것처럼, 신호가 부드럽게 변합니다.
PWM (펄스 폭 변조)
PWM은 디지털 신호를 사용하여 아날로그 신호처럼 출력하는 기술입니다. 일정한 주파수로 HIGH와 LOW 신호를 반복하면서, HIGH 신호의 지속 시간 (duty cycle) 을 조절하여 평균 전압을 변경합니다.
아날로그 신호처럼 출력하는 방법
아두이노에서 analogWrite() 함수를 사용하면 PWM 출력을 통해 디지털 핀에서 아날로그 신호처럼 출력할 수 있습니다.
- analogWrite(핀 번호, 값)
- 핀 번호: PWM 출력을 지원하는 디지털 핀 번호 (3, 5, 6, 9, 10, 11번)
- 값: 0~255 사이의 값. 0은 0V, 255는 5V를 의미하며, 값에 따라 duty cycle이 결정됩니다.
활용 예시
- LED 밝기 조절: PWM 출력을 이용하여 LED의 밝기를 조절할 수 있습니다. analogWrite() 함수의 값을 변경하면 LED에 공급되는 평균 전압이 바뀌어 밝기가 조절됩니다.
- 모터 속도 제어: DC 모터의 속도를 제어할 수 있습니다. analogWrite() 함수의 값을 변경하면 모터에 공급되는 평균 전압이 바뀌어 회전 속도가 조절됩니다.
- 서보 모터 제어: 서보 모터의 각도를 제어할 수 있습니다. analogWrite() 함수를 사용하여 서보 모터에 PWM 신호를 보내면, 펄스의 길이에 따라 서보 모터의 각도가 조절됩니다.
결론
PWM 출력을 통해 디지털 핀에서 아날로그 신호처럼 출력할 수 있습니다. 이는 LED 밝기 조절, 모터 속도 제어, 서보 모터 제어 등 다양한 분야에서 활용됩니다.
'**Autonomous driving tech. > Learning' 카테고리의 다른 글
[Undestanding the Autonomous Driving Technology] 5 levels of the autonomous driving (0) | 2024.11.30 |
---|---|
MORAI, making autonomous driving simulator platform (2) | 2024.11.30 |
[2024자율로봇대회] 120도 회전 (0) | 2024.11.11 |
[2024자율로봇대회] IR Sensor 흰색,검정색 탐지 후 측정값 (0) | 2024.11.10 |
[2024자율로봇대회] TinkerCAD학습 04- IR Sensor (0) | 2024.11.09 |