1. 아두이노 시작

  • IOT 시대에 나도 뭔가 시대에 뒤떨어지지 않도록 뭔가 해야겠다 싶어 아두이노를 시작하였다.
  • 최근 미래 신기술로 각광을 받고 있는 드론을 나의 힘으로 직접 만들어보면서 아두이노를 접해 보고자 한다.
  • 아두이노는 오픈소스라는 특성상 어느 누구도 제품을 만들 수 있고 수정또한 가능하다. 그렇기 때문에 중국에서 저가 제품을 쏟아내고 있다.
  • 내가 구입한 아두이노는 2가지로 다음과 같은 제품을 구입하였다.

2. 아두이노 UNO R3 호환 기종

아두이노를 처음 시작하면서 공부하기 위해 개발용으로 구입하였고, 알리익스프레스에서 수십가지의 센서와 모터를 포함하여 저렴하게 구입하였다

1) 보드 스팩

항목 내용
마이크로 컨트롤러 ATmega328
동작 전압 5V
입력 전압 (한계치) 7-12V (6-20V)
입출력 핀 14 (6개 PWM 출력핀 포함)
아날로그 입력 6
I/O 허용 전류 40 mA
3.3V 핀에 허용 전류 50 mA
플래쉬 메모리 32 KB (ATmega328) (부트로더 0.5KB 포함)
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
클럭 속도 16 MHz
크기 68.6 X 53.4 mm
무게 25 g

2) 순정품과의 비교

아두이노 호환 보드라는 특성상 정품 아두이노와는 기능및 외관에 약간의 차이가 있다.

순정 아두이노 UNO R3 내가 구입한 UNO 호환 아두이노 보드
순정 아두이노 UNO R3 내가 구입한 UNO 호환 보드
아두이노 IDE를 설치하면 자동으로 USB 드라이버를 설치한다. USB Controller Chip이 순정 아두이노와 달라 별도의 드라이버가 필요할 수도 있다.
USB Controller Chip : CH341 (VID_1A86&PID_7523)

3) USB to Serial

본인이 구입한 아두이노의 USB to Serial Controller Chip이 순정과 달라 Windows 7(포함) 이하의 운영체제에서는 별도의 드라이버가 필요하다.
USB to Serial Controller Chipset

항목 내용
칩셋 모델 명 CH341
제조사 WCH (중국)
Device ID VID_1A86&PID_7523

CH340 데이터 쉬트 다운로드

4) 드라이버 다운로드

5) 아두이노 개발환경 세팅 방법

개발환경(IDE) 설정은 아두이노 UNO 호환보드는 순정 아두이노 UNO와 동일하여 별도로 설명하지 않는다.

6) 아두이노 UNO 호환 키트 부품 설명

pds.devpia.com_maeul_251_top_pds_33000_32467_htb15f6oifxxxxxpxxxxq6xxfxxxi.jpg
pds.devpia.com_maeul_251_top_pds_33000_32467_htb1kr6difxxxxcdxpxxq6xxfxxxq.jpg
pds.devpia.com_maeul_251_top_pds_33000_32467_htb1cni0ifxxxxbraxxxq6xxfxxxk.jpg

3. 아두이노 Pro MINI 호환기종

  • 아두이노 우노의 경우 크기가 커서 실제 제품에 사용에는 무리가 있기 때문에 작은 사이즈의 호환보드를 찾아 구입을 하였다.

1) 보드 스팩

본인이 구입한 제품에 해당되는 항목을 BOLD체로 표시하였다.

항목 내용
메인 프로세서 ATmega168 (최근 버전에서는 ATmega328)
디지털핀 16개 (6개의 PWM포함)
플래쉬 메모리 32KB
아날로그핀 8개
크기 1.3” x 0.7” (약 33 mm x 18 mm)
클럭 16MHz (5V 모델) / 8MHz (3.3V 모델)
가격 US $1.25 (호환 보드)
전원 3.35 -12 V (3.3V model) or 5 - 12 V (5V model)

핀배열

Arduino Pro or Pro mini 핀배열

2) 순정과의 비교

아두이노 호환 보드라는 특성상 정품 아두이노와는 기능및 외관에 약간의 차이가 있다.

순정 아두이노 Pro Mini 내가 구입한 아두이노 Pro Mini 호환보드
외형 비교 순정 아두이노 Pro Mini 내가 구입한 아두이노 Pro Mini 호환보드

3) 주의 사항

전원을 인가할 때 한 가지 주의할 점은 정전압 (즉, 정류된 정확한 3.3V/5V 전압) 은 VCC핀에 연결해야 한다는 것이다.
정류되지 않은 전압(즉 정확히 3.3V/5V 가 아니라면)은 RAW핀에 연결해야 하는데 내장된 레귤레이터가 필요한 전압으로 바꿔준다.
그리고 VCC 와 RAW 핀 두 개에 동시에 전원을 인가하면 안된다. 보드가 상할 수도 있다고 한다.

4) 아두이노 개발환경 세팅 방법

본인이 구입한 아두이노 프로미니는 Atmega168 칩의 5V 16MHz짜리이므로 다음과 같은 설정이 필요하다.
ae01.alicdn.com_kf_htb1lvbkgvxxxxalaxxxq6xxfxxxu_202169269_htb1lvbkgvxxxxalaxxxq6xxfxxxu.jpg

4. Digispark attiny85 USB (아두이노 호환기종)

1) 특징 및 성능.

Spec.

  1. Support for the Arduino IDE 1.0 + (OSX/Windows/Linux).
  2. Power via USB or External Source or 7-16 v to 5 v (automatic selection).
  3. The On - board, 150 ma 5 v Regulator.
  4. Built - in USB and serial was debugging).
  5. 6 I/O Pins (2 are informs the for USB only if your program actively communicates over USB, otherwise you can use all 6 even if you are programming via USB).
  6. 8 k Flash Memory (about 6 k after bootloader).
  7. The I2C and SPI (vis USI).
  8. PWM on 3 pins (more possible with Software PWM).
  9. The ADC on 4 pins.
  10. The Power LED and the Test/Status leds.

IO Map

tuxamito.com_wiki_images_6_64_digispark_with_pinout.jpg

2) 드라이버 다운로드

3) 아두이노 개발환경 세팅 방법


아두이노 IDE 를 실행하고 '파일 → 환경설정' 으로 들어 갑니다.
'추가적인 보드 매니저 URLs' 에 위와 같이 'http://digistump.com/package_digistump_index.json' 를 붙여 넣기하고 확인 버튼을 눌러 줍니다.


아두이노 IDE 에서 '툴 → 보드 → 보드매니저' 를 실행해 줍니다.
그럼 위와 같은 창이 뜨는데 타입에 Contributed 를 선택 합니다.
두 번째 보이는 'Digistump AVR Boards by Digistump' 를 클릭하면 '설치' 버튼이 나타나는데 이것을 클릭해서 설치 해 줍니다.


'툴 → 보드' 에 들어가서 'Digispark (Default - 16.5mhz)' 보드를 선택해 줍니다.

5. Esp8266-12e WIFI 보드

1) firmware 업데이트

  • Esp8266-12e는 출하시 Baud Rate가 115200bps가 기본 설정되어 있는데, 아두이노의 경우 Hardware Serial을 제외한 Software Serial의 경우 최대 9600bps만 지원한다.
    Serial 통신용 pin이 부족한 아두이노에서 이런 문제를 해결하기 위해 Esp8266-12e보드의 Baudrate를 9600으로 낮추기 위해 firmware업데이트를 수행하고자 한다.
  1. firmware 업데이트를 위한 핀 배열

  2. firmware 업데이트를 위한 아두이노 코드
    // 아두이노를 이용해서 ESP-12E 보드의 Firmware를 업데이트 하는 코드.
    // Firmware 업데이트는 Firmware tool을 이용한다.
     
    int ch_pd = 3;  // EN pin
    int gpio0 = 2;
     
    void setup() {
      // put your setup code here, to run once:
      pinMode(ch_pd, OUTPUT);
      pinMode(gpio0, OUTPUT);
      digitalWrite(gpio0, LOW);
      digitalWrite(ch_pd, LOW);
      delay(1000);
      digitalWrite(ch_pd, HIGH);
    }
     
    void loop() {
      // put your main code here, to run repeatedly:
     
    }
  3. firmware 업데이트위한 Firmware Tool

    다운로드는 여기서 ESP Flash Tool Download
  4. Firmware 파일 다운로드
    =⇒ Baudrate 9600으로 설정된 펌웨어 다운로드 ESP8266_AT_V00180902_02_baudrate watchdog added.zip
  5. firmware 업데이트 관련 동영상
    https://www.youtube.com/watch?v=crQr4wtf3a4

2) 아두이노에 붙여 Serial통신

  • Esp8266-12e 3.3v의 전원 입력을 필요로하며, 아두이노의 3.3V는 전류량이 약하여 반드시 외부 전원으로 3.3V를 공급해야 정상 동작을 보장한다.
  • 3.3V의 전원에 전력이 부족할 경우 ESP8266 보드 내 WatchDog의 동작으로 무한 재부팅이 될 수 있으니, 무한 재부팅 발생시 전원 이상 유무를 체크 해야한다.
  • 핀 배선도는 하단 이미지 참조

테스트용 소스 코드

소스코드의 길이가 길어 별도의 페이지에 대한 링크로 대신한다.
esp8266_12e_test_source

3) 또 다른 ESP8266 보드

ESP8266 1.0 보드

4) ESP8266 12E를 ARDUINO 처럼 이용하기

6. Arduino Pro Micro 호환 (Beetle 보드)

1) 스팩

  1. Microcontroller: ATmega32u4
  2. Clock Speed: 16 MHz
  3. Operating Voltage: 5V DC
  4. Digital I/O Pins: 10
  5. PWM Channels: 4
  6. Analog Input Channels: 5
  7. UART: 1
  8. I2C: 1
  9. Micro USB: 1
  10. Flash Memory: 32 KB of which 4KB used by bootloader
  11. SRAM: 2.5 KB
  12. EEPROM: 1 KB

2) 아두이노 설정

  • Beetle은 Arduino Leonardo 설정을 사용하면 된다.

3) ATMEGA32U4 핀배열

pds.devpia.com_maeul_251_top_pds_33000_32474_20190308_004322755_83645.jpg



(1) 제품 보기

pds.devpia.com_maeul_251_top_pds_33000_32474_20190308_005017878_80862.jpg

(2) 제품 보기

 
arduino/myarduino.txt · 마지막 수정: 2022/12/31 14:58 작성자 grinbee
 
이 위키의 내용은 다음의 라이센스에 따릅니다 :CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki