'Duemilanove'에 해당되는 글 4건
- 2019.10.25 Hardware | Arduino 를 DIY 해보자 - 3
- 2019.08.04 Hardware | Arduino 를 DIY 해보자 - 2
- 2018.12.03 Hardware | 8x8 LED matrix 와 Colorduino 이용해 보기
- 2018.09.18 Hardware | Arduino 를 DIY 해보자 - 1 4
이 글은 아래 Arduino 를 직접 만들어보는 작업의 3편이 되겠습니다.
* Hardware | Arduino 를 DIY 해보자 - 1
- http://chocoball.tistory.com/entry/Hardware-Arduino-DIY-itself-1
* Hardware | Arduino 를 DIY 해보자 - 2
- http://chocoball.tistory.com/entry/Hardware-Arduino-DIY-itself-2
0. Duemilanove
저번에 실패한 Arduino Nano 는 뒤로 하고, 이번에는 Duemilanove 입니다.
위는 정품 layout 이고, 밑에 사진이 이번에 작업할 보드 입니다.
1. Part list
Arduino Duemilanove 에 들어가는 부품 리스트 입니다.
아래 리스트는 보드프리의 PDF 파일과 arduino 사이트에서 EAGLE 파일을 참고하였습니다.
* 보드프리
* Arduino
arduino-duemilanove-schematic.pdf
arduino-duemilanove-reference-design.zip
------------------------------------------------------------------------------------------------------- | name | value | type | ------------------------------------------------------------------------------------------------------- | C1, C4, C5, C8, C9, C10, C11, C12, C13 | 100nF | 0805 SMD | | C2, C3 | 22pF | 0805 SMD | | C6, C7 | 100uF 35V | Aluminum Electrolytic Capacitor | ------------------------------------------------------------------------------------------------------- | R1, R10, R11 | 10k Ohm | 0805 SMD | | R4, R5, R6, R7, R8, R9 | 1k Ohm | 0805 SMD | | L, PWR, RX, TX | LED | 0805 SMD | ------------------------------------------------------------------------------------------------------- | D1 | M7 (1N4007) | Rectifier Diode | | F1 | 500mA 15V | L1812 Resetable Fuse | ------------------------------------------------------------------------------------------------------- | J1, J3 | 8 | single row female 2.54mm pitch pinhead | | J2, POWER | 6 | single row female 2.54mm pitch pinhead | | ICSP | 6 | double row male 2.54mm pitch pinhead | | S1 | B3F-10XX | OMRON B3F-10XX series switch | | X2 | DC-21MM | 5.5/2.1mm female DC power jack plug socket | | X4 | USB B type | USB B type female socket | ------------------------------------------------------------------------------------------------------- | IC1 | ATMEGA328P-PU | DIP28 8-bit Microcontroller | | IC2 | FT232RL | SSOP28 USB UART interface IC | | IC4 | MC33269D-5.0 | 5V 800mA LDO voltage regulator | | IC5 | LM358D | SOP8 Op Amp | | Q2 | 16MHz | HC-49S crystal oscillator | | T1 | NDT2955 | SOT-23 MOSFET | ------------------------------------------------------------------------------------------------------- | R2 | 100_NM | no need to implement "no-mount" | | RESET-EN | jumper | "auto-reset" on ATmega168 | | X3 | JP4 | use like FTDI breakout board | -------------------------------------------------------------------------------------------------------
이제 위의 리스트를 가지고 하나씩 구매한 이력을 남겨 봅니다.
그냥 arduino duemilanove 하나 사면 3천원대에서 clone 제품을 구할 수 있으나,
이참에 준비하면서 부품들도 구해보고, 사용법도 알아보고 공부하기 위한 목적으로 진행했습니다.
2. Pin Header
외부 기기와 연결되기 위한 Pinout 용 Header 입니다.
기존에 보유하고 있는 긴 한줄읠 pin header 를 잘라서 사용할 수 있으나, 지저분해 질 수 있고,
깔끔하게 보이고 싶어서 궂이 구입했습니다.
* Single row female 2.54mm Pitch PCB Female Pin Header Connector Straight Single Row 2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/20/40Pin
도착은 주문한데로 6pin 용과 8pin용, 10개씩 배달되었습니다.
요로코롬 생겼습니다.
3. Fuse
실장되는 Fuse 는 전기적인 규격이 동일하고, 과전류가 흐른 뒤 다시 스스로 복구되는 Self Healing (Self Resetting) Fuse 입니다.
* 20PCS/LOT 1812 SMD SMD self-healing fuse 0.5A 500mA 15V MF-MSMF050-2
무리없이 도착.
수령한 제품은 웹사이트에서 본 사진과는 다르지만, 한번 믿고 써보기로 합니다.
4. Oscillator
CPU를 돌리고 명령어를 전달하는 역할을 하는 oscillator 입니다.
* hc-49s Crystal Oscillator electronic Kit resonator ceramic quartz resonator hc-49 DIP 7 kinds X 5pcs 32.768K 4 8 12 16 20 25 MHZ
필요한건 16 Mhz 이지만, 낱개로 파는 경우는 없어서 세트로 구매합니다.
요로코롬 생겼네요.
5. LED
이왕이면 한꺼번에 받기위해 한 업체에 몇가지를 같이 주문하였습니다.
왠지 LED 부품은 받을때마다 기분이 좋습니다.
6. Capacitor
Capacitor 는 세라믹과 둥그런 알루미늄 캡 캐패시터 두가지를 사용합니다.
부품이 많다 보니, 10uF 은 빼고 처음 주문을 넣어버려, 다른거 주분할 때 같이 주문했습니다.
0805 SMD 버전이라 100개씩 묶음이라고 해도 배송 용량이 적네요.
알루미늄 캡 캐패시터는 LED 구입한 업체에서 같이 구입해서 이미 도착했습니다.
7. Resistor
저항은 1K 와 10K 두가지가 필요합니다.
위의 세트구성은 다음과 같습니다.
10R / 22R / 47R / 100R / 220 / 470R / 750R / 1K / 2K2 / 4K7 / 6K8 / 10K
22K / 47K / 75K / 100K / 220K / 470K / 750K / 1M
* 2000pcs 0805 SMD Resistor Kit Assorted Kit 1ohm-1M ohm 5% 80valuesX 25pcs=2000pcs Sample Kit
위의 세트구성은 다음과 같습니다.
10 / 100 / 1K / 10K / 100K
12 / 120 / 1K2 / 12K / 120K
15 / 150 / 1K5 / 15K / 150K
20 / 200 / 2K / 20K / 200K
22 / 220 / 2K2 / 22K / 220K
27 / 270 / 2K7 / 27K / 270K
30 / 300 / 3K / 30K / 300K
33 / 330 / 3K3 / 33K / 330K
39 / 390 / 3K9 / 39K / 390K
47 / 470 / 4K7 / 47K / 470K
51 / 510 / 5K1 / 51K / 510K
62 / 620 / 6K2 / 62K / 620K
68 / 680 / 6K8 / 68K / 680K
75 / 750 / 7K5 / 75K / 750K
82 / 820 / 8K2 / 82K / 820K
91 / 910 / 9K1 / 91K / 910K
엄청 작네요. 이것이 0805 SMD 저항이군요.
8. Switch
9. Diode
LED 도착시 같이 왔습니다. 생각보다 이것도 크기가 꽤 작네요.
10. FT232RL
USB 통신을 위한 controller 입니다.
ATmega328P 는 CPU 자체에 USB 컨트롤러 부분이 없어서 이렇게 추가 USB controller chip 이 필요합니다.
참고로, Arduino Micro 에 사용되는 ATmega32U4 는 내장 USB controller 가 있어,
이렇게 추가 USB controller chip 이 필요 없습니다.
이제야 chip 들이 도착하는군요.
이번에 구입한 FTDI chip 은 마킹이 깔끔해 보여서 흔한 fake chip 은 아닌 듯 합니다.
모두 조립 후, 한번 확인해 볼께요.
11. Voltage regulator
5V 800mA 용량의 레귤레이터 입니다.
좀더 큰 용량으로 하고 싶었으나, 이쪽 지식이 충분치 않고, 과전류시 chip 들의 안전이 보장되지 않기에 스펙대로 구매했습니다.
* Free shipping 10pcs/lot MC33269DT-5.0G 5V .8A MC33269DT-5. 33269DT MC33269DT 33269DT MC33269 MC33269DT-5.0RKG
전압/전류 관련 부품이다 보니, 다른 부품들보다 크기가 큽니다.
기존 DC adapter 에도 잘 맞습니다.
PCB 에도 맞춰 보니 문제 없네요.
중요 부품이지만, 그런거 없습니다. 여타 부품처럼 평이하게 도착했습니다.
선명하게 CPU 마킹이 되어 있습니다. Socket 이랑 같이 찍어봤습니다. 이쁘다...
* 5pcs DIP-28 Round Hole 28 Pins 2.54MM DIP DIP28 IC Sockets Adaptor Solder Type 28 PIN 2.54 IC Connector
구멍이 round hole 과 lead 방식이 있습니다.
자주 chip 을 뺏다 꼈다 할 경우에 round hole 이 장점이 있고, lead 방식은 오랜동안 그냥 놔둘 경우 좋다고 합니다.
사실 lead 방식이 접점이 확실합니다.
다만, 이왕 하는 김에 고급지게 해보고자 round hole 타입을 구매해 봤습니다.
round hole 은 금속 다리 부분이 주조 방식으로 제작되므로 좀더 비쌉니다. 그리고 점점도 나쁘지 않아요.
PCB 에 잠깐 얹어 봤습니다. 아주 부드럽게 잘 맞습니다.
* 50PCS LM358DR SOP8 LM358 SOP LM358DT SOP-8 SMD LM358DR2G new and original IC
ATmega328P 과 함께 도착한 부품입니다.
* HMICICAWK Original 100% NEW 2955 NDT2955 SOT-223 10PCS/LOT
씌여진 문구에 SOT-223 이라고 되어 있습니다만, 배송된 것은 DPAK 버전으로 큰게 왔습니다.
크고 좋아보입니다만 보드에 맞질 않습니다.
Dispute 환불을 걸고 다른 업자에게 주문했더니만, SOT-233 버전을 또 보냈더랬습니다.
마킹이 조금 이상합니다만 문제 없겠죠?
다시 보낸다는 이야기가 없어, 다른 판매자에게 이미 주문을 또 했더랬습니다.
* BQ24040DSQR AP3608EG-G1 SN74LVC2G66DCTR NDT2955 MMFT2955 NTF2955 SP202EEN IR2153S STP100N8F6 MBR40100CT TPS60400DBVR D15XB80
SOT-233 버전의 MOSFET 이 또 왔어!
이놈은 마킹이 프린팅 되어 있네요.
대략 실장될 부품을을 위치 시켜보구요.
Flux Paste 를 바르면서 진행해야 하므로, 부품들이 도망가지 않게 테이프에 layout 에 맞게 안착/준비 시켜 놓습니다.
한땀 한땀... 이라고 하기엔 다소 지저분하게 작업을 진행합니다.
오븐을 통해 구워져 나오진 첫번째 Duemilanove 작품.
온도 조정에 실패해, 흰색 기판이 빵색으로 되었습니다.
결국 LED 극성을 거꾸로 해버려, 부품 때어 내다가 패턴이 나가는 사태가... 폐기 처분.
꽤 시간이 지난 후, 다시 새로 PCB 받아서 심기일전, 다시 시작.
이번에는 Flux Paste 를 적정량 도포할 정도로 실력이 조금 향상.
구워지기 전 사진.
오븐에 구워져 나온 후, USB, Power Jack, Pin header, Switch 등등, CPU 만 빼고 모두 장착.
마지막으로 CPU 장착.... 아... 감격.
17. bootloader
이제, arduino 를 IDE 등을 통해 소스코드 넣고 동작시키려면 bootloader 를 올려야 합니다. 지금은 완전 깡통 상태.
위의 사진의 ICSP 부분을 통해서 bootloader 를 밀어 넣을 수 있습니다.
연결법은, 예전 bootloader update 할 때의 방법과 동일합니다.
* Software | Arduino Nano Bootloader 를 update 해보자
- https://chocoball.tistory.com/entry/Software-Arduino-Nano-Bootloader-update
======================================== | Source (Nano) | Target (Duemilanove) | ======================================== | D12 | MISO (pin 1) | | 5V | 5V (pin 2) | | D13 | SCK (pin 3) | | D11 | MOSI (pin 4) | | D10 | RESET (pin 5) | | GND | GND (pin 6) | ----------------------------------------
처음 작업 시, Arduino Micro 를 활용해서, 스샷이 이렇게 되었네요. 소스 아두이노를 Nano 로 하면 Nano로 선택.
Source 아두이노에 "Arduino ISP" 스케치를 올립니다.
Programmer 를 "Arduino as ISP" 를 선택.
이제 다른건 다 놔두고, target arduino 기종을 선택. 대망의 Duemilanove 선택!
"Burn Bootloader" ~~~~~~~~~~!!!
동영상은 예의.
크아~~~~ 성공.
1년 이상 걸려서 조금 지친감이 없지 않아 있지만, 기분 너무 좋습니다.
이제 자가 Arduino Duemilanove 가 생겨, 다양한 프로젝트를 동시에 할 수 있는 여유가 생겼습니다.
'Hardware' 카테고리의 다른 글
Hardware | Arduino Gemma 를 DIY 해보자 (2) | 2019.11.07 |
---|---|
Hardware | 블랙박스 아이머큐리 TOPAZ 수리기 (5) | 2019.11.01 |
Hardware | SMD 솔더링에 대한 고찰 (0) | 2019.10.23 |
Hardware | 레트로 led 글자판 HPDL-1414 사용기 - 1 (0) | 2019.10.15 |
Hardware | 공기질 측정용 MiCS-6814 센서를 사용해 보자 - 1 (26) | 2019.10.12 |
1. Arduino Nano 를 DIY 해보자
이 글은 아래 포스트에서 이야기한, arduino 를 직접 만들어보기 2탄 입니다.
* Hardware | Arduino 를 DIY 해보자 - 1
- http://chocoball.tistory.com/entry/Hardware-Arduino-DIY-itself-1
처음 DIY 대상으로 arduino nano 입니다.
일단, 회로 보는 EAGLE 프로그램에서 뽑은 part list 를 구입에 필요한 것만 정리해 봤습니다.
------------------------------------------------------------------------------------------------------- | name | value | type | ------------------------------------------------------------------------------------------------------- | C1, C4, C6, C9 | 100nF | 0603 SMD | | C3, C7, C8 | 1uF | 0805 SMD | | C2, C5 | 4.7uF 16V | 0603 SMD Tantalum capacitor | ------------------------------------------------------------------------------------------------------- | RP1, RP2 | 1k Ohm | CAY16 Network resistor SMD | | L, PWR, RX, TX | LED | 0805 SMD | ------------------------------------------------------------------------------------------------------- | D1 | SS1P3L-M3 | Schottky diodes & rectifier 30V 1A | | F1 | 500mA 6V | 0603 SMD MF-FSMF050 Resetable Fuse | ------------------------------------------------------------------------------------------------------- | J1, J2 | 15 x 2 | single row male 2.54mm pich pin head | | J3 | USB Mini B | USB Mini B type female socket | | J4 | 6 | double row male 2.54mm pitch pinhead | | SW1 | 157 | SMD tactail switch | ------------------------------------------------------------------------------------------------------- | IC1 | FT232RL | SSOP28 USB UART interface IC | | IC2 | LM1117IMPX-5.0| SOT223 Linear regulator | | IC3 | ATMEGA328P-AU | TQFP32 8-bit Microcontroller | | Y1 | 16MHz | SMD Crystal ceramic resonator | -------------------------------------------------------------------------------------------------------
0603 SMD 및 CAY16 network resistor 등, 소형화에 특화된 부품들로 구성되어 있습니다.
Oscillator 마저도 SMD 타입 입니다.
정품 arduino nano 의 앞면과 뒷면 사진 입니다.
최신 arduino nano 는 ATmega328 chip 크기가 더욱 작아진 MLF (Micro Lead Frame) 형식으로,
ATmega328-MU 가 실장되어 있습니다.
참고로, 이 ATmega328-MU 의 Package type 은 32M1-A 라고 하네요.
- Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Summary.pdf
아래는 밑면입니다.
맨 왼쪽 밑부분에 0603 크기의 fuse 가 있으며,
중간 부분에 SMD 형식의 network resistor 가 실장되어 있습니다.
공간을 최대한 적게 차지하도록 작은 부품들을 사용되어 있습니다. 다만 구하기 힘든 부품들입니다.
2. 구입 부품 최종 확인
정품 nano 에 사용된 SMD 크기는 0603 이지만, 받은 보드는 0805 SMD 로 수정되었으며,
다른 부붐들도 보다 범용적이고 큰 부품들로 변경되어 있다는 것을 알 수 있습니다. 아래 파일은 그 회로도 입니다.
* BL-386
* BL-386(Silk)
참고가 될 수 있도록 arduino nano 의 official 자료를 아래에 올려 놓습니다.
* Arduino Nano V3.2
아래는 무료로 받은 보드 윗면입니다.
부품 크기가 0805 SMD 죠? 그리고 reset switch 마저도 큼지막 합니다.
아래는 밑면입니다.
모두 0805 SMD 이며, 왼쪽 윗부분의 diode 도 큼지막 합니다.
특징으로는 oscillator 가 4 pin 이며, 정사각형의 모양입니다. 이런건 처음이네요.
이 보드를 설계하신 분의 배려가 느껴집니다.
Arduino Nano 의 보드 자체 크기가 0805 를 충분히 커버할 수 있으므로, 궂이 0603 SMD 를 쓸 이유는 없는 것이지요.
다음에 준비하고 있는 Duemilanove 에서도 0805 SMD 를 그대로 사용하고 있어,
추가 부품을 그렇게 많이 구입하지 않아도 되어서 다행입니다.
최종적으로 실제 필요한 부품을 다시 정리해 봤습니다.
------------------------------------------------------------------------------------------------------- | name | value | type | ------------------------------------------------------------------------------------------------------- | C1, C3, C4, C7, C9 | 0.1uF | 0805 SMD | | C5, C6 | 22pF | 0805 SMD | | C8 | 10uF | 0805 SMD | ------------------------------------------------------------------------------------------------------- | R1, R2, R3 | 1k Ohm | 0805 SMD | | R4, R5, R6, R7 | 680 Ohm | 0805 SMD | | L, PWR, RX, TX | LED | 0805 SMD | ------------------------------------------------------------------------------------------------------- | D1 | SS14 | Schottky diodes & rectifier 30V 1A | ------------------------------------------------------------------------------------------------------- | J1, J2 | 15 x 2 | single row male 2.54mm pitch pinhead | | J3 | USB Mini B | USB Mini B type female socket | | J4 | 6 | double row male 2.54mm pitch pinhead | | SW1 | 3 x 6 x 2.5mm | SMD Tactile switch | ------------------------------------------------------------------------------------------------------- | IC1 | FT232RL | SSOP28 USB UART interface IC | | IC2 | LM1117IMPX-5.0| SOT223 Linear regulator | | IC3 | ATMEGA328P-AU | TQFP32 8-bit Microcontroller | | Y1 | 16MHz | 3225 SMD Crystal ceramic resonator | -------------------------------------------------------------------------------------------------------
필요한 부품 리스트를 만들면서 알게된, 배려가 깃든 보드의 특징은 다음과 같습니다.
* no network resistor
저항을 한데 모아 회로를 단순화 하기 위한 부품으로 SMD 용으 구하기 힘드나,
위의 보드에서는 모두 0805 SMD 로 변경되었습니다.
* no fuse
Fuse 가 생략되었습니다.
사실 arduino nano 는 과전류에 사용될 목적으로 만들어 진 것이 아니므로, 단순화를 위해 삭제된것 같습니다.
* bigger crystal
좁쌀만한 oscillator 가 아닌, 좀더 큰 resonator 로 변경되었습니다.
* bigger diode
Diode 도 일반적으로 사용되는 큰 부품으로 대체되었습니다.
* bigger switch
RST switch 도 큰걸로 대체되었습니다.
* all 0805 SMD based
그렇습니다. 0603 SMD는 모두 0805 SMD 로 변경되었습니다.
배려가 깃든 보드인 것을 조사하면서 알게 되니 감사한 마음이 저절로 듭니다.
이 자리를 빌어 다시한번 감사의 말씀 드립니다.
이제 각 부품 구입을 정리해 봅니다.
동시에 다른 arduino 를 준비하다 보니, 겹치는 부품들이 꽤 있습니다.
이런 부품을 공유할 수 있어서 좋네요.
8pin DIP socket 이 필요해서 555 주문할 때, 따로 10uF 을 주문했습니다.
얘만 투명 릴에 왔네요.
위의 세트에는 다음 저항들이 포함되어 있고, 딱 680 Ohm 은 없습니다.
10R / 22R / 47R / 100R / 220 / 470R / 750R / 1K / 2K2 / 4K7 / 6K8 / 10K
22K / 47K / 75K / 100K / 220K / 470K / 750K / 1M
잘 도착하여 받아본 부품 입니다.
다만, 요즘 Micro USB 추세라, Micro USB 도 구매합니다.
Mini USB 와 비교시 pin 간의 간격만 다를 뿐, pin 순서는 동일했습니다.
역시 Micro USB 가 더 단순하고 깔끔한 느낌을 줍니다.
Pin 간격이 좁을 뿐, 순서는 동일합니다.
다만, 요놈은 도착까지 3개월이 걸렸네요.
물론 검정 버전도 같이 가지고 있습니다.
Duemilanove 용으로 구입한 세트에 모두 포함되어 있습니다.
5V/800mA 사양대로라면 특별히 문제될껀 없다고 봅니다.
확대 사진입니다.
형식만 알면 제품을 선택하는 것은 그리 어렵지 않습니다.
AliExpress 에서 검색하니 바로 나오네요. 그 중에서 16MHz 제품을 선택해 줍니다.
* 10pcs SMD 3225 active crystal oscillator OSC 16MHZ 16M 3.2*2.5 3.3V 25PPM
잘 도착했구요.
Oscillator 치고는 직사각형으로 생겨서 신기합니다.
인두 팁으로 납땜을 하다 보니, 아무래도 사용되는 납이 많아져 버립니다.
특히 소자 밑으로 스며들게 해야 하는 oscillator 가 가장 힘들었습니다. (좀 지저분하게 되었죠?)
표면에 안착되지 않은 듯 해서 납을 좀 많이 먹여버리기도 하고, 네 귀퉁이의 소자가 붙어버린 것 같아서 납을 빨아들이기도 하고.
0805 SMD 의 LED 소자는 납땜 하는 열로 인하여 안쪽 구조가 쉽게 망가질 수 있어서 신경이 많이 쓰였습니다.
신기한 것은, anode / cathode 가 쉽게 구분될 수 있도록 띠가 마킹 되어 있었습니다.
위의 사진 처럼, 돌기가 있는 쪽이 + 극이네요.
설계대로라면 USB mini B 이어야 하지만, 요즘은 micro USB 로 통합되는 분위기라서 micro USB 를 장착해 봤습니다.
리드선의 순서는 동일해서, 간극만 맞추고 납땜하면 되었습니다.
잘 안착되게 리드선을 밑으로 구부려서 납땜 해야 하는데, 그러지 않아서 납을 많이 먹여도 떠버리네요. (위 사진)
micro USB 부분의 접점이 잘 되지 않자, 조금 많이 인두로 지졌더랬습니다.
그랬더니 패턴이 나가버렸네요. ㅠㅠ (망함)
micro USB 를 PC 에 연결하면 LED 도 들어왔다 나갔다 뭔가 하는것 같은데, PC 에 인식이 되지 않았습니다.
pinheader 까지 다 납땜 해버렸는데...
이번 작업은 망했어요.
다시 이 기판을 주문하여 도착하면 다시 시작하려 합니다.
그러기 전에 열풍기로 작업해야 겠습니다.
열풍기가 준비 되면, 그 때 다시 arduino DIY 를 시작하겠습니다.
'Hardware' 카테고리의 다른 글
Hardware | ADS1115 16bit 4채널 ADC 를 사용해 보자 (6) | 2019.08.12 |
---|---|
Hardware | Digital Compass - HMC5883L 사용기 - 3 (0) | 2019.08.10 |
Hardware | 납땜 주변 용품 (0) | 2019.08.02 |
Hardware | bluetooth 모듈 HC-06 / HC-05 사용해 보기 - 1 (0) | 2019.07.07 |
Hardware | iPhone SE 스크린 교환기 (0) | 2019.07.04 |
1. 8x8 LED Matrix
한동안 LED bar 나 LED 전구, 74HC595 등을 사용하다가,
"FULL COLOR 8x8 LED Dot Matrix" 라는 문구를 보게 됩니다.
때는 바야흐로 2017년 5월 24일...
아래 제품을 구입하게 됩니다.
* Full Color 8x8 8*8 Mini Dot Matrix LED Display Red Green Bule RGB Common Anode Digital Tube Screen For Diy 60mmx60mmx5mm
정말 이쁘게 생겼죠?
2. 도착
큰 무리 없이 잘 도착 했습니다.
dot 의 한개씩 자세히 보면, 조그마한 3가지 LED가 하나의 dot 를 이룹니다.
우리가 흔히 알고 있는 3색 - 빨강, 파랑, 녹색이 모든 색을 표현하는 원리를 이용하는 구조로 생각할 수 있습니다.
핀이 많은 것을 보면, full color 임은 확실해 보입니다.
단색일 경우는 아래 보이는 pin 수보다 훨씬 적습니다.
자... 그럼 arduino 와 어떻게 연동될까요.
인터넷 바다에서 검색에 검색을 거듭합니다.
3. 구현 방법
RGB 를 섞어 색을 만들며, 색의 변화를 컨트롤 하는 주된 기능은 "Pulse Width Modulation" 이라고 합니다.
한국에서는 "펄스 폭 변조" 라는군요. (그냥 직역이지 않소...)
* Pulse-width modulation
- https://en.wikipedia.org/wiki/Pulse-width_modulation
SparkFun 에서도 관련한 설명을 해 놓은 web page 가 있어서 여기에 링크를 걸어 놓습니다.
* Pulse Width Modulation
- https://learn.sparkfun.com/tutorials/pulse-width-modulation/all
간단히 이야기 하면, 펄스의 "폭" 만을 조정하여, 빛의 강약이나 모터의 구동 속도를 조절하는 것입니다.
눈으로 보기에는 자연스러운 흐름이지만, 주파수적으로는 끊어서 조정하는 방법이라고 합니다.
"난, arduino 를 가지고 놀려고 했는데, 공부를 해야 하는군" 이라는 생각을 다시금 깨우쳐 주는 대목입니다.
자, 그래서 8x8 led dot matrix 를 구동하려면 어떤 선례들이 있는지 찾아보니, 잘 정리된 글들이 대략 다음과 같군요.
결론부터 이야기 하면, 필자도 이런 이야기를 합니다.
"Pulse width modu - WHAT ?"
* 8×8 RGB LED Matrix
- http://blog.spitzenpfeil.org/wordpress/projects/8x8-rgb-led-matrix/
* 64 Pixel RGB LED Display - Another Arduino Clone
- https://www.instructables.com/id/64-pixel-RGB-LED-Display-Another-Arduino-Clone/
* How to Build a 8×8 RGB LED Matrix with PWM using an Arduino
- http://francisshanahan.com/index.php/2009/how-to-build-a-8x8x3-led-matrix-with-pwm-using-an-arduino/
* nrj/LEDMatrixControl
- https://github.com/nrj/LEDMatrixControl
여기까지 하려면 시간이 많이많이많이 걸리겠는걸... 라고 생각 후, 일단 덮고 다른걸로 한동안 시간을 보내게 됩니다.
4. Colorduino
시간이 흘러 흘러 1년...
우연히 Colorduino 라는 제품의 존재를 알게 됩니다.
알게 된지는 꽤 되었지만, 직접 breakout 보드를 만들어 보고자 무시해 왔지만, 너무 일이 커지는듯 하여 포기하고,
1년이 훌쩍 지난 2018년 11월, 이 구동 driver 격인 breakout 보드 구입을 위해 조사하게 됩니다.
제조사는 ITead 라는 회사군요.
* ITEAD Intelligent Systems Co.Ltd.
현재 Colorduino 는 version 1.4 까지 나와있는 듯 합니다.
* Colorduino V1.4 Color Rainbow Matrix RGB LED Driver Shield For Arduino
- https://www.itead.cc/colorduino-v1-4.html
아래 스샷들은 제품 website 에서 가져온 내용인데,
지금까지 고민한 것들이 모두 구현되어 있는 모습을 보여주고 있습니다.
PWM 을 위해서 전용 chip이 채용되었군요.
컨트롤을 위해서 arduino 에서 사용하는 ATmega328 이 채용되었습니다.
그래서 Arduino IDE 와 FTDI 를 통해서 연결 시,
보드를 ATmega328 을 채용한 보드 - Uno, Duemilanove, Nano - 를 선택하면 문제가 없습니다.
관련된 library 및 example 소스는 WIKI 형식으로 정리가 되어 있습니다.
* Colorduino V1.3 (WIKI)
- https://www.itead.cc/wiki/Colorduino_V1.3
* Colorduino V1.4 (WIKI)
- https://www.itead.cc/wiki/Colorduino_V1.4
사용된 각 chip 의 datasheet 는 아래와 같이 이 post 에 첨부해 놓습니다.
* Datasheet
- Colorduino : DS_IM120410004_Colorduino.pdf
- DM163 : DS_DM163.pdf
- M54564FP : DS_M54564FP.pdf
5. Colorduino / Funduino 구입
AliExpress 에서 검색하면, Colorduino 의 clone 제품인 "Funduino" 가 판매되고 있습니다.
잘 보면, Colorduino V1.3 버전을 기준으로 만든 제품입니다.
* Free shipping ! Full color 8 * 8 LED RGB matrix screen driver board Colorduino for arduino
위의 ITead 사이트의 V1.3 과 비교해 보면, 완벽히 동일하다는 것을 알 수 있습니다.
6. Funduino 도착
가격이 좀 있다 보니, 2주만에 도착했습니다.
뽁뽁이로 잘 쌓여서 도착했습니다. 믿음직 스러운 배송입니다.
상면샷 입니다. 깔끔하게 만들어져 있네요.
다시금 Colorduino 와 동일함을 느끼게 됩니다.
ATmega328 도 보이며, PWM 을 위한 DM163 도 보입니다.
뒷면에는 당당하게(?) Funduino v1.A 라고 마킹되어 있습니다.
7. 장착 및 FTDI 연결
우선 8x8 LED matrix 의 1번 pin (not 어뢰) 를 Funduino 의 1번 소캣에 맞추어 끼웁니다.
Dot matrix 에 딱 가려지는 크기 입니다. 잘 만들었네요.
FTDI 와 pin 연결은 다음과 같습니다.
FTDI | Funduino ------------------ DTR | DTR RX | TXD TX | RXD VCC | VDD GND | GND ------------------
실제로 FTDI 와 연결된 모양은 다음과 같습니다.
(한데 묶여있는 선 다발로 조금 지저분해 보이지만, 그건 오해입니다.)
일단, PC USB --> FTDI --> Funduino 를 연결하면, 미리 구워진 프로그램으로 구동됩니다.
동영상으로 찍어 봤습니다.
이쁘네요.
8. Arduino IDE 설정 및 Library 설치
Colorduino 는 기본으로 ATmega328 을 가지고 있으므로,
IDE 에서는 ATmega328 을 실장하고 있는 Arduino Nano / Uno / Duemilanove 어느것을 선택해도 됩니다.
최종적으로 소스 프로그램이 ATmega328 용으로 컴파일 되면 문제가 없으니까요.
Colorduino 의 Library 를 다운로드하여 등록합니다.
그러면 아래와 같이 example 을 로드할 수 있습니다.
아래는 Colorduino 의 Plasma 와, 문자를 스크롤 하는 Library 링크 입니다.
혹시 모르니, 실제 파일도 첨부해 놓습니다.
* Colorduino Library
- https://github.com/Electromondo-Coding/Colorduino
* Colorduino Scroller Library
- https://github.com/Electromondo-Coding/ColorduinoScrollerLibrary
- ColorduinoScrollerLibrary-master.zip
위의 Scroller 는 위의 Colorduino Library 와 서로 의존성을 갖습니다.
또다른 버전의 Colorduino Library 도 존재하는데, 그게 아래 링크 및 파일입니다.
위의 Library 와 비슷하지만, 좀더 PWM 이 부드럽게 동작하는 듯 합니다.
그래서, 아래 Colorduino Library 와 위의 Scroller Library 를 혼합하여 설치하면,
Scroller 가 동작하지 않으니 주의가 필요합니다.
* Colorduino Library
- https://github.com/lincomatic/Colorduino/
9. Plasma 와 Scroller
위의 두 example 을 구동시킨 동영상을 첨부합니다.
우선 Plasma 동영상 입니다.
Scroller 에서는 아래 처럼 text 를 수정하여, 원하는 text 를 뿌려줄 수 있습니다.
Scroller 의 동영상 입니다.
FIN
거의 1년 6개월 걸린, 8x8 LED Dot Matrix 의 동작확인이 이제야 끝났습니다.
뭔가 생산적으로 coding 을 해보고 싶었으나, example 소스를 보고 바로 접었습니다.
꼭 coding 을 해야 할 때가 되면 그때 하려구요.
'Hardware' 카테고리의 다른 글
Hardware | 샤오미 창미 멀티탭 3구 USB 3포트 (0) | 2018.12.16 |
---|---|
Hardware | ATtiny85 개발 보드를 이용하여 Digispark 를 DIY 하기 (0) | 2018.12.14 |
Hardware | MAX30105 파티클 센서 - 1 (0) | 2018.11.23 |
Hardware | RTC DS3231 부품 사용기 - 2 (0) | 2018.11.20 |
Hardware | RTC DS3231 부품 사용기 - 1 (2) | 2018.11.11 |
1. Arduino 를 실제로 만들어 보자
PCB를 직접 만들어 보고자 이곳저곳을 찾아 다니던 중,
BinGoon 이라는 분의 블로그를 알게 되었습니다.
* BinGoon 의 소소한(?) 일상
여기서 보게된 Arduino 직접 제작기.
- http://binworld.kr/25?category=494229
원래 PCB 부터 설계, 프린팅부터 하는게 진정한 DIY 이긴 하지만, 준비할게 너무 많은지라
블로그에 안내된 대로 Arduino PCB를 무료로 보내주는 분에게 부탁하여 PCB 만 따로 받기로 합니다.
* Board Lab (Board Free)
2. Arduino 의 역사
Arduino 를 처음 시작할 때도 그랬지만, 그 종류가 많아 초보자가 처음 선택하기란 쉽지 않습니다.
자료를 찾고 알아가는 재미도 있지만, 처음에는 막막하더군요.
무료 PCB 주문을 위해, 어떤 Arduino 를 할 것인지 선택함에 있어서도 다시금 고민이 됩니다.
그래서 이번에 좀더 체계적으로 알아보기로 합니다.
기본적인 정보는, 아래 Wikipedia 를 참고했습니다.
* List of Arduino boards and compatible systems
- https://en.wikipedia.org/wiki/List_of_Arduino_boards_and_compatible_systems
제작에 앞서 기준이 되는 것은 "최신 업그래이드 된 버전의 Arduino" 였습니다.
Arduino 도 햇수가 지나면서 최적화 되고, 새로운 버전들이 생겨났거든요.
이왕 만들꺼면 최적화가 가장 많이 이루어전 최신 arduino 로 하는게 좋다는 생각이었습니다.
과거 발전사를 한눈에 보려면 아래 arduino 사이트를 보면 됩니다.
* Arduino Older Boards
- https://www.arduino.cc/en/Main/Boards
위의 Wikipedia 와 Arduino 두 사이트를 보고 정리된 발전 수순은 대략 다음과 같습니다.
(많이 쓰이는 메인 스트림 기준으로)
NG --> Diecimila --> Duemilanove --> Uno --> Leonardo --> Zero
Zero 는 2015년부터 정식 릴리즈 되었지만, 사양이 넘사벽이고 DIY 하기엔 너무 부품이 많습니다.
또한 무로 PCB 사이트에서도 제공되는 리스트에 포함되어 있지 않습니다.
그럼 Duemilanove / Uno / Leonardo 정도로 좁혀지는군요.
3. Arduino 중에서 어떤걸 선택해야 할까?
이제 하나씩 알아봅니다.
* Arduino Duemilanove
- https://www.arduino.cc/en/Main/arduinoBoardDuemilanove
* 제작 연도 : 2009
* CPU : ATmega328P
* USB chip : FTDI FT232R
* USB socket : USB 1.0 Standard Type B
Improved : automatically switching between USB and external power, eliminating jumper
* ARDUINO UNO REV3
- https://store.arduino.cc/usa/arduino-uno-rev3
* 제작 연도 : 2010
* CPU : ATmega328P
* USB chip : ATmega16U2
* USB socket : USB 1.0 Standard Type B
This uses the same ATmega328 as late-model Duemilanove, but whereas the Duemilanove used an FTDI chip for USB, the Uno uses an ATmega16U2 (ATmega8U2 before rev3) programmed as a serial converter.
* ARDUINO LEONARDO WITH HEADERS
- https://store.arduino.cc/usa/arduino-leonardo-with-headers
* 제작 연도 : 2012
* CPU : ATmega32U4
* USB chip : USB controller built-in at CPU
* USB socket : USB 2.0 Micro B
The Leonardo uses the Atmega32U4 processor, which has a USB controller built-in, eliminating one chip as compared to previous Arduinos.
참고로 compact version 인 Nano 도 확인해 봅니다.
* ARDUINO NANO
- https://store.arduino.cc/usa/arduino-nano
* 제작 연도 : 2008
* CPU : ATmega328
* USB chip : FTDI FT232R
* USB socket : USB 2.0 Mini B
역시 제작년도가 가장 최근(?) 인 2012년에다가 USB chip 이 내장되어 있어서 깔끔하며,
USB socket 도 휴대폰 충전용으로 가장 많이 쓰이는 USB micro B 인 "Leonardo" 로 결정합니다.
4. 선택의 재고
Leonardo 로 선택했지만, 몇가지 마이너한 문제가 있습니다.
* 제공되는 PCB 의 형태
BoardFree 에서 제공되는 Leonardo 의 부품들은 SMD 형태가 아니라,
예전 라이오 공작시 사용되는 큰 부품들을 사용할 수 있도록 제작되었습니다.
향후 여러가지 PCB를 직접 제작하여 회로를 꾸밀 때,
부품을 SMD 로 많이 준비하려 하려던 차라 이와 맞지 않습니다.
또한 왠일인지 USB socket 이 USB 1.0 Standard Type B 입니다.
결국 대상에서 제외할 수밖에 없네요.
* chip 실장의 난위도
실제로 납땜하게 되면 아래와 같은 모습이 되는데, 좋은 플럭스와 납땜 팁이 필요합니다.
결국 무난하게 "Duemilanove" 가 가장 적당해 보이는군요.
BoardFree 에서는 2가지의 PCB 를 보내주므로 "Nano" 도 함께 부탁하기로 합니다.
USB socket 은 micro USB 로 변환시켜주는 부품을 찾아서 해결해 보기로 합니다.
이 파일을 통해서 회로를 볼 수 있습니다.
또한 export 를 통하여 part list, 즉 부품 리스트도 뽑아볼 수 있습니다.
간단한 사용법은 다음에 오는 포스트에서 설명하겠습니다.
* Software | 회로설계 프로그램 EAGLE
- http://chocoball.tistory.com/entry/Software-circuit-design-EAGLE
위의 방법을 통해 만들어진 Duemlianove 와 Nano 의 부품 리스트 입니다.
arduino-duemilanove-part-list.txt
짜잔~ Duemilanove 와 Nano 의 PCB 입니다.
무료라서 기대하지 않아 그랬는지, 처음 받고나서 놀랬습니다.
품질이 예상 이상으로 좋았습니다. 쓰루홀도 정확했고, 프린딩도 좋았습니다.
무엇보다도 두께가 1.7mm 로 상당히 두껍습니다. 이렇게 좋은 품질일줄은 몰랐네요.
또한번 이자리를 빌어 감사의 말씀 드립니다.
앞면입니다.
뒷면입니다. 볼수록 깔끔하네요.
왼쪽 윗부분은 전원부 입니다. 아름답네요.
Nano 의 PCB 입니다.
------------------------------------------------------------------------------------------------------- | name | value | type | ------------------------------------------------------------------------------------------------------- | C1, C4, C5, C8, C9, C10, C11, C12, C13 | 100nF | 0805 SMD | | C2, C3 | 22pF | 0805 SMD | | C6, C7 | 100uF 35V | Aluminum Electrolytic Capacitor | ------------------------------------------------------------------------------------------------------- | R1, R10, R11 | 10k Ohm | 0805 SMD | | R4, R5, R6, R7, R8, R9 | 1k Ohm | 0805 SMD | | L, PWR, RX, TX | LED | 0805 SMD | ------------------------------------------------------------------------------------------------------- | D1 | M7 (1N4007) | Rectifier Diode | | F1 | 500mA 15V | L1812 Resetable Fuse | ------------------------------------------------------------------------------------------------------- | J1, J3 | 8 | single row female 2.54mm pitch pinhead | | J2, POWER | 6 | single row female 2.54mm pitch pinhead | | ICSP | 6 | double row male 2.54mm pitch pinhead | | S1 | B3F-10XX | OMRON B3F-10XX series switch | | X2 | DC-21MM | 5.5/2.1mm female DC power jack plug socket | | X4 | USB B type | USB B type female socket | ------------------------------------------------------------------------------------------------------- | IC1 | ATMEGA328P-PU | DIP28 8-bit Microcontroller | | IC2 | FT232RL | SSOP28 USB UART interface IC | | IC4 | MC33269D-5.0 | 5V 800mA LDO voltage regulator | | IC5 | LM358D | SOP8 Op Amp | | Q2 | 16MHz | HC-49S crystal oscillator | | T1 | NDT2955 | SOT-23 MOSFET | ------------------------------------------------------------------------------------------------------- | R2 | 100_NM | no need to implement "no-mount" | | RESET-EN | jumper | "auto-reset" on ATmega168 | | X3 | JP4 | use like FTDI breakout board | -------------------------------------------------------------------------------------------------------
위에서 R2, RESET-EN, X3 과 관련한 부품은 실제로 실장할 필요는 없습니다.
이제 구매를 진행하고 납땜을 하면 되겠습니다.
Nano 부품 구입은 이번 프로젝트에 회사 동료를 한명 꼬셨으니, 그 분이 구입하도록 해야겠습니다. :-)
물론 제가 구입한 Duemilanove 부품은 2개 이상씩 구입했으니 나누면 됩니다.
'Hardware' 카테고리의 다른 글
Hardware | planefinder unboxing (2) | 2018.10.30 |
---|---|
Hardware | ESP-01 or ESP8266 사용기 - 1 (4) | 2018.10.04 |
Hardware | Raspberry Pi CPU Info screen 구매기 (2) | 2018.08.14 |
Hardware | Safecast bGeigi nano firmware upgrade (0) | 2018.08.12 |
Hardware | Raspberry Pi 3 model B+ unboxing (0) | 2018.08.10 |