**Autonomous driving tech./Learning

[2024자율로봇대회] 아두이노 하드웨어 구성요소

2wnswoo 2024. 11. 11. 05:38

아두이노 우노 보드는 마이크로컨트롤러를 기반으로 한 오픈 소스 전자 플랫폼으로, 다양한 전자 부품과 연결하여 쉽게 프로젝트를 만들 수 있도록 설계되었습니다. 다음은 아두이노 우노 보드의 주요 구성 요소에 대한 설명입니다.

 

 

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 밝기 조절, 모터 속도 제어, 서보 모터 제어 등 다양한 분야에서 활용됩니다.