프로젝트 소개
이 프로젝트에서 우리는 7 세그먼트 공통 양극 디스플레이를 arduino에 연결할 것이지만,이 경우 디스플레이를 사용하는 디코더 인 7447 집적 회로로 작업 할 것입니다.이 프로젝트의 아이디어는 또한 우리가 이전에 만든 연결과 비교하면이 프로젝트를 디스플레이에서 사용하지 않을 목적을 저장할 수있는 이러한 연결 형태를 아는 것입니다. 이론적으로 동일하기 위해 변경되는 유일한 것은 핀이 더 적고 코드에서 동일한 지침을 사용할 것이라는 것입니다.
사전 지식
이 프로젝트를 수행하려면 다음 주제에 대한 사전 지식이 필요하며, 다음 표에 언급 된 내용으로 아직 작업하지 않은 경우 추가 검토를 제공하거나 이 프로젝트를 수행하는 데 필요한 지식을 기억할 수 있도록 게시물에 대한 링크가 있습니다.
디코더 7447 | 7447 집적 회로의 작동과 그 특성 및 연결 방법을 설명할 데이터 시트를 찾으십시오. |
7 세그먼트 디스플레이 연결 | 이 게시물에서는 7447 집적 회로를 7세그먼트 공통 양극 디스플레이에 연결하는 방법과 딥 스위치를 입력으로 사용하여 0에서 9까지의 숫자를 표시하는 방법을 설명합니다. |
Arduino 디스플레이 7 공통 양극 세그먼트 | 이 프로젝트에서 우리는 arduino를 7 세그먼트 디스플레이 공통 양극에 연결하고 숫자를 시각화 할 수 있도록 각각의 코딩을 수행합니다.이 경우 7447 집적 회로를 사용하지 않습니다. |
디코더 7447
회로는 오픈 컬렉터 출력이 낮게 활성화된 공통 양극 디스플레이용 디코더이며 5볼트에서 전원이 공급됩니다. 아래에는 이 회로의 회로도가 포함된 진리 또는 변환표가 있습니다.
자세한 내용은 집적 회로의 모든 특성이 포함 된 데이터 시트가 있습니다.
7 세그먼트 디스플레이
전자 제품에서 숫자와 문자를 표시하는 요소이며, 각 세그먼트는 빛을 방출하는 물질로 만들어지며, 세그먼트는 다음 이미지와 같이 구성되거나 지정됩니다.
7 세그먼트 디스플레이에는 두 가지 유형이 있으며 주요 차이점은 세그먼트와 연결된 핀의 연결이며,이 두 가지 유형은 Common Anode 및 Common Cathode로 알려져 있습니다.
공통 양극 디스플레이
공통 양극 디스플레이는 양극이 동일한 점에 연결된 디스플레이입니다. 이 유형의 디스플레이는 영(0)으로 제어됩니다.
자료
회로를 만드는 데 필요한 재료는 다음과 같습니다.
서킷 7447 | 1 | 입력 바이너리 코드를 논리적 수준에서 BCD 형식으로 변환하여 7개의 공통 양극 세그먼트 표시를 활성화할 수 있습니다. |
7개의 공통 양극 세그먼트 표시 | 1 | 우리는 디코딩을 시각화 할 것입니다 |
아두이노 | 1 | 우리는 이것을 사용하여 바이너리 코드를 주입할 것입니다 |
1kΩ 저항기 | 11 | 우리는 그것들을 사용하여 입력을 보호하고 LED를 표시합니다. |
회로
회로의 연결은 다음과 같습니다, 우리가 양수에 연결할 공통 양극 양극 인 7 개의 세그먼트 디스플레이가 있음을 관찰합시다, 이제 디스플레이의 해당 숫자 각각을 우리는 그것을 집적 회로 7447에 연결할 것입니다. 우리가 비행기에서 볼 수 있듯이 그리고 위의 이미지에서 우리는 A에서 G까지의 숫자의 다른 핀을 연결할 것입니다, 이 연결은 1 세그먼트 디스플레이에 있는 LED를 보호할 수 있도록 7K 저항을 통해 만들 것이며, 이제 우리가 관찰하고 있는 것처럼 집적 회로를 양극 및 또는 음극에 연결한 다음 Arduino에 연결할 입력 핀은 다음 표에서 이와 같은 핀을 만들 것입니다. 마지막으로, 집적 회로와 디스플레이에 전력을 공급할 수 있도록 브레드 보드에 양극과 음극을 공급합니다. 기본적으로 이것은 우리가 만들어야 할 연결입니다.
4 | 7 |
5 | 1 |
6 | 2 |
7 | 6 |
코드
코드에서 다음을 수행할 다음 표를 관찰하여 7447 회로가 해당 문자와 10자리 숫자로 연결된 각 핀을 관련시키는 방법을 살펴보겠습니다. 코드 작동 방식, 이 비트는 배열 바이트 변수에 저장될 것이고, 이 변수에는 각 비트가 포함되어 있습니다. 예를 들어 숫자 4를 칠하고 싶다면 해당 배열에서 숫자 4에 해당하는 바이트를 가져오고 우리가 할 일은 그 바이트를 조금씩 통과하기 시작하는 것입니다. 비트를 얻은 후 핀에 쓸 숫자4의 예를 계속 진행하면 A는 0, B는 0, C는 1, D는 0이 됩니다. 6 및 7을 사용하여 집적 회로가 이 값을 디코딩하고 7세그먼트 디스플레이에 전달하는 역할을 합니다.
다음은 단계별 코드입니다.
// Paso 1
const int pins[7] = { 4, 5, 6, 7 };
// Paso 2
const byte numbersDisplayAnode[10] = {0b00000000, //0
0b00000001, //1
0b00000010, //2
0b00000011, //3
0b00000100, //4
0b00000101, //5
0b00000110, //6
0b00000111, //7
0b00001000, //8
0b00001001}; //9
// Paso 3
void setup() {
for(int i = 0; i < 4; i++) {
pinMode(pins[i], OUTPUT);
}
lightSegments(0);
}
// Paso 4
void loop() {
for(int i = 0; i < 10; i++) {
lightSegments(i);
delay(1000);
}
}
// Paso 5
void lightSegments(int number) {
byte numberBit = numbersDisplayAnode[number];
for (int i = 0; i < 4; i++) {
int bit = bitRead(numberBit, i);
digitalWrite(pins[i], bit);
}
}
- 7447 집적 회로에 연결할 핀은 해당 숫자와 일치할 수 있도록 이전 표에서 볼 수 있는 것과 동일한 순서를 가져야 하기 때문에 시퀀스를 고려하여 선언할 것입니다.
- 우리는 7-세그먼트 공통 양극 디스플레이를 켜기 위해 해당 바이트를 포함하는 변수를 선언할 것입니다. 여기에 있는 이러한 바이트는 공통 양극 디스플레이에서 작동할 것이며, 공통 음극 디스플레이를 사용하려면 0을 1로, 1을 0으로 바꿔야 작동할 수 있습니다.
- 우리가 할 일은 7447 집적 회로에 연결된 핀을 출력으로 선언하고 lightSegments 함수를 호출하여 값 0을 쓸 것입니다. 아래에서 이 함수를 설명합니다.
- 우리가 할 일은 10 자리 숫자를 통과 할 위치에 대해 a를 선언하고 변수와 7 개의 세그먼트 디스플레이에 해당 숫자를 그리는 기능을 담당할 함수에 전달하는 것입니다.
- 이 기능은 디스플레이에 해당하는 각 숫자를 그리는 역할을 하는 기능입니다. 그래서 그것이 어떻게 작동하는지, 우리는 그 함수에서 우리에게 오는 숫자 값을 얻습니다, 바이트 배열의 이 숫자 값에서 우리는 바이트를 얻을 것이고, 우리는 그것을 변수에 저장할 것입니다, 이제 루프에서 우리는 7447 집적 회로가 연결된 4개의 핀에 해당하는 해당 바이트의 마지막 4개 위치를 통과할 것입니다. 함수를 사용하여 변수가 가진 위치에서 해당 비트의 값을 얻은 다음 digitalWrite 함수를 사용하여 (i) 위치의 핀에 방금 읽은 비트 값을 쓰므로 마지막 네 위치와 그 네 위치를 거치기 때문에 변수 핀과 이로부터 이를 통과할 것입니다 이것이 7447 집적 회로의 핀에 값을 조금씩 전달하여 디코딩 한 다음 함수에 전달하는 숫자를 7 세그먼트 디스플레이에 표시하는 방법입니다.
'아두이노' 카테고리의 다른 글
핸드 트래킹을 활용한 RGB LED 색상 제어 프로젝트 (2) | 2024.12.27 |
---|---|
VR 몰입감 상승을 위한 혁신적인 핑거 링 V2 프로젝트 (3) | 2024.11.29 |
VR 몰입을 위한 혁신적인 HID 마우스 컨트롤러 DIY 프로젝트(손가락 마우스) (2) | 2024.11.29 |
아두이노 튜토리얼: 2채널 광커플러 릴레이 모듈 (0) | 2024.11.25 |
데스크 매트에서 MIDI 드럼으로 (0) | 2024.11.22 |