이 프로젝트에서는 Arduino를 사용하여 LED 바이너리 클럭 을 만들 것 입니다. 여기서 우리는이 클록을 구현하기 위해 인쇄 회로 기판 (PCB)을 설계했습니다. PCB 레이아웃을 설계하기 위해 EasyEDA 온라인 PCB 설계 도구를 사용했습니다.
필요한 구성 요소:
- Arduino Nano
- DS1307 RTC
- 32.768Khz 크리스탈
- 3v 코인 셀
- 저항기 1k, 10k
- 전원 공급
- LED
회로도 및 설명:
이것은 학습자에게 매우 간단하고 저렴하며 흥미로운 프로젝트입니다. 이 LED 바이너리 클록 회로 에서는 Arduino Nano 를 사용 하여 RTC에서 시간을 읽고 LED에 표시하는 것과 같은 전체 프로젝트를 제어했습니다. 3.0v 코인 셀은 백업을 위해 RTC IC에 연결됩니다. 여기에서 Arduino와 함께 DS1307 RTC를 사용하는 방법에 대해 자세히 알아보십시오.
20 개의 LED가 여기에 매트릭스 형태로 연결되어 있습니다. 여기에 6 개의 열과 4 개의 행이 있습니다. 시간을 표시하는 데 사용되는 열 2 개, 다음 두 열은 분, 열 옆에는 초입니다. 6 개의 열에있는 LED를 트리거하기 위해 6 개의 PNP 트랜지스터를 사용했습니다. 사용자는 전체 회로에 5v로만 전원을 공급할 수 있으며 여기에서는 전원 공급 장치로 노트북 USB를 사용했습니다. 나머지 연결은 회로도에 나와 있습니다.
또한 이 기사의 끝 부분에 있는 전체 Arduino 코드 및 데모 비디오 를 확인하십시오.
바이너리 클럭에서 시간을 계산하고 읽는 방법:
우리는 0과 1 인 이진수에 익숙합니다. 따라서 이것을 사용하여 시간을 표시하고 이진 시간을 십진수로 변환 할 수 있습니다. PCB 오른쪽에 쓰여진 숫자 8 4 2 1을 사용하여 2 진수를 10 진수로 변환 할 수 있습니다.
다음과 같은 이진수가 있다고 가정합니다.
10 1 0이므로 10 진수로 10이됩니다. 이진수를 십진수로 변환 할 때 우리는 단지 1을 더합니다.
MSB (Most Significant Bit) 쪽에서 1은 8을 의미하고 다음은 0은 0이며 포함되지 않음을 의미합니다. 다음은 다시 1은 2를 의미하고 마지막은 0이므로 마지막 것도 포함되지 않습니다.
그래서 마침내 우리는
8 + 0 + 2 + 0 = 10
기본적으로 다음과 같이 사용할 수 있습니다.
8x1 + 4x0 + 2x1 + 1x0 = 10
이제 우리는 그림에서 시간을 이해할 수 있습니다.
위에서 6 개의 열과 4 개의 행이 있음을 알 수 있습니다. 여기에는 HH (시간), MM (분) 및 SS (초)라는 2 개의 열이 있습니다. PCB의 오른쪽에서 1, 2, 4, 8 행 번호를 볼 수 있습니다.이 숫자는 이진수를 10 진수로 변환하는 데 사용됩니다.
우리는 참고 오른쪽에서 열을 읽는. 우선, HH 열을보세요. 두 개의 시간 열이 있습니다. 시간의 첫 번째 열에는 LED가 켜지지 않습니다.
2x0 + 1x0 = 0
다음 열에서 단일 LED가 1 행 평균에 빛나는 것을 볼 수 있습니다. 따라서 84 2 1에 따르면
8x0 + 4x0 + 2x0 + 1x1 = 1
따라서 Hour HH 열에서 01을 얻었습니다.
MM (분) 의 첫 번째 열에서 단일 LED가 1 행 평균에 빛나는 것을 볼 수 있습니다.
42 1 4x0 + 2x0 + 1x1 = 1
MM의 두 번째 열에서 행 번호 8에 단일 LED가 켜져 있음을 알 수 있습니다.
82 1 8x1 + 4x0 + 2x0 + 1x0 = 8
그래서 우리 는 18으로 분을 얻었습니다.
SS 의 첫 번째 열 (초) 에서 행 번호 4에 단일 LED가 켜지는 것을 볼 수 있습니다.
42 1 4x1 + 2x0 + 1x0 = 4
SS의 두 번째 열에서 행 번호 1에 두 개의 LED가 켜지고 행 번호 4는
82 1 8x0 + 4x1 + 2x0 + 1x1 = 5
그래서 분은 45로
마침내 우리는 01:18:45로 시간을 얻었습니다.
HH MM SS 01 18 45
완전한 Arduino 코드 및 데모 비디오 는이 기사의 끝에 제공됩니다.
EasyEDA를 사용한 회로 및 PCB 설계:
이 LED 바이너리 클럭 회로 를 설계하기 위해 EasyEDA라는 온라인 EDA 도구를 선택했습니다. 나는 이전에 EasyEDA를 여러 번 사용했고, 좋은 발자국 모음과 오픈 소스를 가지고 있기 때문에 사용하기 매우 편리하다는 것을 알았습니다. 여기에서 모든 PCB 프로젝트를 확인하십시오. PCB를 설계 한 후 저렴한 PCB 제조 서비스를 통해 PCB 샘플을 주문할 수 있습니다. 또한 전자 부품 재고가 많고 사용자가 PCB 주문과 함께 필요한 부품을 주문할 수있는 부품 소싱 서비스를 제공합니다.
회로 및 PCB를 설계하는 동안 다른 사용자가 복사 또는 편집하고 이점을 얻을 수 있도록 회로 및 PCB 설계를 공개 할 수도 있습니다. 또한이 Arduino Binary Clock에 대해 전체 회로 및 PCB 레이아웃을 공개했습니다. 아래 링크를 확인하십시오.
easyeda.com/circuitdigest/BinaryClock-4a25419d21cc424c9989a8f6a4633f5e
'Layers'창에서 레이어를 선택하여 PCB의 모든 레이어 (Top, Bottom, Topsilk, Bottomsilk 등)를 볼 수 있습니다.
EasyEDA 의 Photo View 버튼을 사용하여 PCB의 제작 후 모습을 볼 수도 있습니다.
온라인으로 샘플 계산 및 주문:
이 Arduino Binary Clock PCB 설계를 완료 한 후 JLCPCB.com을 통해 PCB를 주문할 수 있습니다. JLCPCB에서 PCB를 주문하려면 Gerber File이 필요합니다. PCB의 Gerber 파일을 다운로드하려면 EasyEDA 편집기 페이지에서 Fabrication Output 버튼을 클릭 한 다음 EasyEDA PCB 주문 페이지에서 다운로드하십시오.
이제 JLCPCB.com으로 이동하여 Quote Now 또는 버튼을 클릭 하면 주문할 PCB 수, 필요한 구리 층 수, PCB 두께, 구리 무게 및 스냅 샷과 같은 PCB 색상을 선택할 수 있습니다. 아래에 표시:
모든 옵션을 선택한 후 "장바구니에 저장"을 클릭하면 EasyEDA에서 다운로드 한 Gerber 파일을 업로드 할 수있는 페이지로 이동합니다. Gerber 파일을 업로드하고 "장바구니에 저장"을 클릭하십시오. 마지막으로 Checkout Securely를 클릭하여 주문을 완료하면 며칠 후 PCB를 받게됩니다. 그들은 $ 2의 매우 낮은 비율로 PCB를 제작하고 있습니다. 그들의 빌드 시간은 또한 3-5 일의 DHL 배송으로 48 시간 인 매우 적습니다. 기본적으로 주문 후 일주일 이내에 PCB를 받게됩니다.
PCB 주문 며칠 후 아래 그림과 같이 멋진 포장재 로 PCB 샘플을 얻었습니다.
그리고이 조각들을 얻은 후 PCB 위에 필요한 모든 구성 요소를 납땜하고 코딩 된 Arduino Nano를 배치하고 5v 전원으로 전원을 공급하여 바이너리 클록이 작동 하는지 확인했습니다.