12.07.2023

LED 표시. LED 7세그먼트 표시기. 추가 키가 있는 구성표


일부 휴대폰에는 이 옵션이 있지만 LED 표시기나 카메라 플래시를 직접 켜거나 끌 수는 없습니다.

프로그래밍 방식으로 여러 색상의 조명을 깜박이는 방법, 자신만의 "손전등"을 작성하는 방법 또는 제어할 수 있는 다른 장치 LED에 대해 아래에서 알아봅니다.

모든 것은 제가 파일 시스템을 탐색하던 중 시작되었습니다. HTC 욕망 ES Explorer를 사용하면서 우연히 /sys/class/leds/blue, /sys/class/leds/flashlight 등 흥미로운 디렉토리를 발견했습니다.
파란색은 또 뭐야?! 주황색과 녹색 표시만 봤습니다. 하지만 가장 흥미로운 점은 이 디렉터리 안에 쓰기 권한이 있는 밝기 파일이 있다는 것입니다! 나는 즉시 이용했습니다.

사실 이것은 단순한 파일이 아니라 LED 드라이버 작업을 위한 인터페이스입니다. 따라서 /sys/class/leds/blue/brightness 파일에 양수를 쓰면 전화 케이스의 파란색 표시기가 켜지고 0을 쓰면 꺼집니다. 황색 및 녹색 표시기도 마찬가지입니다. 두 개의 LED를 함께 켜면 새로운 색상이 나타납니다. 호박색 + 파란색 = 보라색; 녹색 + 파란색 = 아쿠아.

이제 모든 것이 어떻게 프로그래밍되어 있습니까?
public void ledControl(문자열 이름, int 밝기) (

노력하다 (

FileWriter fw = new FileWriter("/sys/class/leds/" + 이름 + "/밝기" );

fw.write(Integer.toString(밝기));

fw.close();

) 잡기 (예외 e) (

// LED 제어를 사용할 수 없습니다.

}

}


// 보라색 표시기를 켭니다.

ledControl("황색" , 255 );

ledControl("파란색" , ​​255 );


// 디스플레이를 더 어둡게 만듭니다.

ledControl("액정 백라이트" , 30 );


// 버튼 백라이트 끄기

ledControl("버튼-백라이트" , 0 );


// 중간 밝기의 손전등 구성

ledControl("손전등" , 128 );

소스 코드가 포함된 예제 애플리케이션을 다운로드할 수 있습니다.

결론
모두! 이제 전화기가 다음과 같이 빛납니다. 크리스마스 트리. 이 코드는 Android 2.2를 실행하는 HTC Desire에서만 테스트되었지만 다른 장치에서도 작동할 가능성이 높습니다. 휴대폰에서 초점이 작동하는지 여부를 알려주세요.

그림 1 LED 표시 부분의 위치

LED 표시기는 기호 정보를 표시하는 가장 간단한 수단입니다. 그들의 디자인은 특정 모양의 세그먼트 형태로 만들어진 LED 세트입니다. 그림 1은 숫자 0...9와 기타 여러 추가 문자를 표시할 수 있는 가장 일반적인 세그먼트 레이아웃을 보여줍니다. 하우징 내부의 모든 LED에는 공통 연결 지점이 있습니다. 양극(공통 양극) 또는 음극(공통 음극)이 함께 통합될 수 있습니다. 가장 일반적인 발광 색상은 빨간색과 녹색입니다. 동일한 전류 소비로 빨간색 LED는 일반적으로 더 큰 광 출력을 갖습니다. 에너지 소비는 공급 전압과 제조 기술에 따라 달라집니다. 최신 표시기의 세그먼트 전류는 1mA 미만일 수 있습니다.


그림 2 동적 표시용 표시기 연결

표시기에서 필요한 기호를 강조 표시하려면 마이크로컨트롤러의 8핀을 사용해야 합니다. 마침표(쉼표)를 표시할 필요가 없는 경우 H 세그먼트를 제거하면 한 줄을 저장할 수 있습니다. ~에 더 많은 숫자표시기를 사용하면 I/O 라인 수가 크게 늘어납니다. 2개의 표시기에는 16줄이 필요하고 3개의 표시기에는 24줄이 필요합니다. 분명히 대부분의 응용 분야에서 핀을 낭비적으로 사용하는 것은 전혀 용납될 수 없습니다. 이 문제는 동적 표시를 사용하여 해결할 수 있습니다. 이를 위해 세그먼트를 마이크로 컨트롤러에 직접 연결하는 대신 세그먼트를 다음과 같이 결합합니다. 일반 그룹, 그림 2와 같이. 이 회로는 공통 음극이 있는 친숙한 3개 위치에 대해 TOT-3361AH-LN 표시기를 사용합니다. 포트 D는 세그먼트 A...H의 LED를 제어하는 ​​데 사용됩니다. 음극 K0...K2는 각각 포트 B의 라인 0...2에 직접 연결됩니다(총 전류가 ≥20mA인 다른 유형의 표시기의 경우 추가 버퍼 요소가 필요함). 처음에는 친밀도 0에 해당하는 기호가 표시기에 표시됩니다. 이 경우 전압 레벨은 PB0 라인에서 낮게 설정되고 PB1 및 PB2에서는 높게 설정됩니다(그렇지 않으면 기호가 세 위치 모두에 표시됩니다). 일정 시간이 지나면 순서대로 다음 기호가 출력되고 이제 음극 K1이 접지에 연결됩니다(PB1 라인에는 낮은 레벨이 있고 PB0 및 PB2에는 높은 레벨이 있습니다). 다음으로 정보는 표시기의 가장 높은 위치(PB2 log.0, PB0, PB1 log.1)에 표시되고 다시 0에 표시됩니다. 캐릭터 재생률 ≥ 50Hz에서는 인간 시각의 관성이 나타나기 시작합니다. 깜박임(전환 효과)이 사라집니다. 마치 모든 기호가 지속적으로 조명되는 것처럼 이미지가 지속적으로 인식됩니다. 동적 디스플레이 서브루틴의 예가 아래에 나와 있습니다. 두 개의 매개변수, 즉 문자 코드와 이 문자가 표시되어야 하는 위치 번호를 사용합니다.

; 표시기에는 3개의 친숙한 장소가 포함되어 있으므로 서브루틴은 다음과 같습니다. 문자 출력은 ≥ 150Hz(3 ; 친숙도 x 50Hz = 150Hz) 주파수로 호출되어야 합니다. 전환 기간은 다음과 같아야 합니다. 1/150Hz = 6667μs이며 AVR의 주파수는 1MHz입니다. 생성기 클럭 주파수의 6667주기가 됩니다. 영구적인; 실행 타이머를 사용하여 시간 간격을 측정하는 것이 가장 편리합니다. 일치 재설정 모드(CTC 모드)에서. ATmega8에는 이것이 있습니다. 16비트 타이머 카운터 1 및 8-에 대한 모드가 존재합니다. 비트 타이머 카운터 2. 이러한 목적을 위해(타이머 카운터 1을 사용하는 경우) 두 개의 레지스터가 있습니다. RVV 공백: OCR1AH ​​​​(상위 바이트), OCR1AL(하위 바이트). ; 비교 회로가 활성화되면 카운팅 레지스터; TCNT1H:TCNT1L은 각 수신 펄스가 켜진 후에 시작됩니다. 단위는 그것의 내용을 그것까지 증가시킵니다; 값이 기재된 값과 동일하지 않습니다. OCR1AH:OCR1AL. 현재 TCNT1H:TCNT1L 의 내용은 ; 재설정되고 OCF1A 플래그가 TIMSK RV에 설정됩니다. 만약에; TIMSK의 OCIE1A 비트와 SREG의 I 비트를 사전 설정합니다. 그러면 우연히 인터럽트 핸들러로 전환됩니다. 비교 모듈 A에서. 타이머 카운터 1도 존재합니다. 또한 B를 레지스터와 비교하기 위한 두 번째 유사한 모듈; 기능이 유사한 OCR1BH:OCR1BL 비교; 전술 한 바와.<< WGM12)|(1<< CS10) out TCCR1B,temp ldi temp,high(6667) out OCR1AH,temp ldi temp,low(6667) out OCR1AL,temp ldi temp,1<< OCIE1A out TIMSK,temp sei . service_T1COMPA: ;обработчик прерывания по совпадению OCR1A in temp,SREG ;при входе сохраняем в стеке push temp ;регистры temp, SREG clr temp ldi YH,high(buffer) ;заносим в указатель Y адрес ldi YL,low(buffer) ;буфера индикации buffer add YL,pos ;добавляем к Y смещение, что соответствует adc YH,temp ;ячейке с текущей позицией pos индикатора ld data,Y ;заносим в data кодом символа текущей позиции rcall din_ind ;вызов подпрограммы индикации inc pos ;циклически изменяем номер позиции cpi pos,3 ;индикатора 0->1->2->0 등 brne PC+2 clr pos pop temp ;종료 시, 스택에서 복원 SREG,temp ;temp 등록, SREG reti ; 동적 디스플레이 서브루틴; ZH:ZL – 표 형식 변환을 위한 인덱스입니다. R18 - 중간 작업을 위한 레지스터입니다. R16 – 변환 테이블 ind_tabl의 문자 번호; 서브루틴에 들어갈 때; R17 – 서브루틴에 들어갈 때 위치 번호(0…2); 서브루틴 입구의 T 플래그가 결정합니다. 쉼표 존재(T=1) 또는 부재(T=0) din_ind: clr R18 ; 입력 시 보조 레지스터 지우기 ldi ZH,high(2*ind_tabl) ;ldi의 시작 주소 입력 ZL,low(2*ind_tabl ) Z 인덱스에 ZL,R16을 추가합니다. Z 포인터에 오프셋 adc ZH,R18을 추가합니다. lpm R16,Z 테이블의 기호 위치에 해당합니다. ;에서 기호 bld R16,7을 추출합니다. 테이블을 R16에 입력하고 R16(세그먼트 H)의 최상위 비트에 값을 입력합니다. clt ;쉼표는 플래그 T ldi R18,0b11111110 sbrc R17,0을 통해 전송됩니다. 현재 숫자가 1이면 다음을 입력합니다. R18 마스크 ldi R18,0b11111101 ;포트 B는 음극 K1을 켭니다. sbrc R17,1 ;현재 숫자가 2이면 R18에 마스크 ldi R18,0b11111101 ;포트 B를 넣어 음극 K2를 켭니다. R17을 누릅니다. R17,PORTB에 위치 번호가 있는 레지스터를 스택에 저장하고, 포트 ori R17,0b00000111 및 R18,R17의 현재 상태를 버퍼 R17로 읽어 PORTB,R17에서 log.1을 K0에 적용하여 모든 세그먼트를 소멸시킵니다. ..K2 out PORTD,R16 ; 다음 기호 출력 PORTB, R18을 포트 D로 출력 ; 다음 음극 팝 R17을 접지에 연결 ret ind_tabl: 공통 기호의 위치 번호로 레지스터를 복원합니다. 음극; HGFEDCBA table.db의 HGFEDCBA 문자 수 0b00111111, 0b00000110 ; 0,1 0, 1 .db 0b01011011, 0b01001111 ; 2,3 2, 3 .db 0b01100110, 0b01101101 ; 4,5 4, 5 .db 0b01111101, 0b00000111 ; 6,7 6, 7 .db 0b01111111, 0b01101111 ; 8,9 8, 9 .db 0b01110111, 0b01111100 ; A,b 10, 11 .db 0b01011110, 0b01011110 ; C,d 12, 13 .db 0b01111001, 0b01110001 ; E,F 14, 15 .db 0b01000000, 0b00000000 ; -,공간 16, 17

AVR의 I/O 포트 라인은 대칭적인 부하 특성을 가지고 있습니다. 최대 20mA의 동일한 유입 및 유출 전류를 허용합니다. 따라서 공통 양극과 공통 음극을 모두 가진 표시기를 동일하게 성공적으로 사용할 수 있습니다. 또한, 세그먼트를 연결하기 위한 핀이 매우 자주 만들어집니다. 추가 기능폴링 버튼. 예를 들어 그림 2에서 SBN 버튼은 전류 제한 저항 RN을 통해 세그먼트 A의 라인에 연결됩니다. 주기적으로 PD0은 버튼 상태를 읽기 위한 입력으로 구성됩니다. 이 경우 내부 풀업 저항이 부하 저항 역할을 합니다.


그림 3 마이크로 컨트롤러 핀 수 줄이기
a - 시프트 레지스터 사용
b - 지표 사용 c 다른 계획 LED 연결

보조 마이크로 회로를 마이크로 컨트롤러와 함께 사용하면 핀 수를 크게 줄일 수 있습니다. 예를 들어 그림 3a는 74HC164 시프트 레지스터 또는 유사한 레지스터가 이 목적으로 사용되는 방법을 보여줍니다. 이 연결을 통해 6개의 I/O 라인이 확보됩니다. 어떤 경우에는 7세그먼트 코드 디코더와 카운터를 사용하는 것이 타당할 수도 있습니다. 다양한 방식. 또한 Z 상태 포트 회선 사용을 기반으로 한 또 다른 절약 기회가 있습니다. 그림 3b의 회로는 공통 양극 HG2가 있는 3자리 표시기가 공통 음극 HG1이 있는 표시기와 병렬로 추가로 연결된다는 점만 제외하면 그림 2의 회로와 유사합니다. 라인 PB0...PB2는 각각 HG2 표시기의 양극 A0...A2와 HG1의 음극 K0...K2의 전환을 동시에 수행합니다. HG2(양극 A0)의 영점 위치에 정보가 표시되면 라인 PB0에 높은 전압 레벨이 생성됩니다. 포트 D의 라인에서, 조명되어야 하는 세그먼트에는 log.0이 설정되고 꺼져야 하는 세그먼트에는 z-상태가 설정됩니다. 가장 낮은 부호 HG1(음극 K0)이 활성화되면 라인 PB0에 낮은 전압 레벨이 존재해야 하며 라인의 논리 1 레벨이 조명 세그먼트 및 z 상태에 해당하는 포트 D에 논리 값이 출력됩니다. 소멸하다. A0, K0 이외의 표시 위치에 문자가 출력되는 경우에는 PB0을 하이 임피던스 상태로 전환해야 합니다. 당연히 이러한 전환 방식을 사용한 출력 프로그램은 그림 1에 표시된 것보다 눈에 띄게 더 복잡해집니다. 기호 테이블은 먼저 각각에 대해 PORTD 값 외에도 해당 라인을 통해 DDRD 레지스터의 내용을 저장해야하기 때문에 훨씬 더 커질 것입니다. z 상태로 전환됩니다(입력을 위해 설정됨). 둘째, HG1의 기호는 공통 음극 HG2가 있는 표시기와 관련하여 다른 역 PORTD 값에 해당합니다.

확실히 당신은 이미 "8" 지표를 보았습니다. 7세그먼트 LED 표시기로서 0부터 9까지의 숫자와 소수점( D.P.- 소수점) 또는 쉼표.

구조적으로 본 제품은 LED의 집합체입니다. 어셈블리의 각 LED는 자체 신호 세그먼트를 비춥니다.

모델에 따라 어셈블리는 1~4개의 7세그먼트 그룹으로 구성될 수 있습니다. 예를 들어, ALS333B1 표시기는 0부터 9까지 한 자리 숫자만 표시할 수 있는 하나의 7세그먼트 그룹으로 구성됩니다.

그러나 KEM-5162AS LED 표시기에는 이미 두 개의 7세그먼트 그룹이 있습니다. 두 자리 숫자입니다. 다음 사진은 다양한 7세그먼트 LED 표시기를 보여줍니다.

4개의 7세그먼트 그룹(4자리)이 있는 표시기도 있습니다(그림 - FYQ-5641BSR-11). 집에서 만든 전자시계에 사용할 수 있습니다.

다이어그램에 7개 세그먼트 표시기는 어떻게 표시됩니까?

7세그먼트 인디케이터는 결합된 전자장치이기 때문에 도표상의 이미지는 외관과 거의 차이가 없습니다.

각 핀이 연결된 특정 기호 세그먼트에 해당한다는 사실에만 주의하면 됩니다. 또한 장치 모델에 따라 공통 음극 또는 양극의 단자가 하나 이상 있습니다.

7세그먼트 지표의 특징.

이 부분은 단순해 보이지만 고유한 특징도 있습니다.

첫째, 7세그먼트 LED 표시기는 공통 양극과 공통 음극이 함께 제공됩니다. 이 기능은 구매할 때 고려해야 합니다. 수제 디자인또는 장치.

예를 들어, 이미 우리에게 친숙한 4자리 표시기의 핀 배치는 다음과 같습니다. FYQ-5641BSR-11.

보시다시피 각 자리의 LED 양극이 결합되어 별도의 핀으로 출력됩니다. 사인 세그먼트에 속하는 LED의 음극(예: G), 함께 연결됩니다. 표시기에 어떤 종류의 연결 다이어그램이 있는지(공통 양극 또는 음극 포함)에 따라 많은 것이 달라집니다. 당신이 보면 회로도 7세그먼트 표시기를 사용하는 장치를 살펴보면 이것이 왜 그렇게 중요한지 분명해질 것입니다.

작은 지표 외에도 크고 매우 큰 지표가 있습니다. 일반적으로 벽시계, 온도계, 정보 제공자의 형태로 공공장소에서 볼 수 있습니다.

디스플레이의 숫자 크기를 늘리는 동시에 각 세그먼트의 충분한 밝기를 유지하기 위해 직렬로 연결된 여러 개의 LED가 사용됩니다. 다음은 이러한 표시기의 예입니다. 손바닥에 맞습니다. 이것 FYS-23011-BUB-21.

그 중 한 세그먼트는 직렬로 연결된 4개의 LED로 구성됩니다.

세그먼트(A, B, C, D, E, F 또는 G) 중 하나를 밝히려면 해당 세그먼트에 11.2V(각 LED당 2.8V)의 전압을 적용해야 합니다. 예를 들어 10V와 같이 더 적게 수행할 수 있지만 밝기도 감소합니다. 예외는 소수점(DP)이며 해당 세그먼트는 두 개의 LED로 구성됩니다. 5~5.6V만 필요합니다.

두 가지 색상의 표시기는 자연에서도 발견됩니다. 예를 들어 빨간색과 녹색 LED가 내장되어 있습니다. 케이스에는 두 개의 표시기가 내장되어 있지만 색상이 다른 LED가 있음이 밝혀졌습니다. 두 LED 회로에 전압을 가하면 다음을 얻을 수 있습니다. 노란색세그먼트의 빛. 다음은 이러한 2색 표시기(SBA-15-11EGWA) 중 하나에 대한 배선도입니다.

핀 1( 빨간색) 및 5( 녹색)를 주요 트랜지스터를 통해 "+" 전원 공급 장치에 연결하면 표시된 숫자의 색상을 빨간색에서 녹색으로 변경할 수 있습니다. 그리고 핀 1과 5를 동시에 연결하면 발광색이 주황색이 됩니다. 이것이 지표를 가지고 놀 수 있는 방법입니다.

7개 세그먼트 지표 관리.

디지털 장치의 7세그먼트 표시기를 제어하기 위해 시프트 레지스터와 디코더가 사용됩니다. 예를 들어, ALS333 및 ALS324 시리즈의 표시기를 제어하기 위해 널리 사용되는 디코더는 마이크로 회로입니다. K514ID2또는 K176ID2. 여기에 예가 있습니다.

그리고 최신 수입 표시기를 제어하기 위해 일반적으로 시프트 레지스터가 사용됩니다. 74HC595. 이론적으로 디스플레이 세그먼트는 마이크로컨트롤러 출력에서 ​​직접 제어할 수 있습니다. 그러나 이러한 회로는 마이크로컨트롤러 자체의 핀을 꽤 많이 사용해야 하기 때문에 거의 사용되지 않습니다. 따라서 이러한 목적으로 시프트 레지스터가 사용됩니다. 또한, 사인 세그먼트의 LED가 소비하는 전류는 마이크로컨트롤러의 일반 출력이 제공할 수 있는 전류보다 클 수 있습니다.

FYS-23011-BUB-21과 같은 대형 7세그먼트 표시기를 제어하기 위해 마이크로 회로와 같은 특수 드라이버가 사용됩니다. MBI5026.

7세그먼트 표시기 안에는 무엇이 들어있나요?

글쎄, 조금 맛있는 것. 무선 부품의 "내부"에 관심이 없다면 전자 엔지니어가 아닐 것입니다. 이것이 ALS324B1 표시기 내부에 있는 내용입니다.

베이스의 검은 사각형은 LED 크리스탈입니다. 여기서는 크리스탈을 핀 중 하나에 연결하는 금색 점퍼도 볼 수 있습니다. 안타깝게도 동일한 점퍼가 찢어졌기 때문에 이 표시기는 더 이상 작동하지 않습니다. 하지만 점수판의 장식 패널 뒤에 무엇이 숨겨져 있는지 볼 수 있습니다.

이번 강의에서는 7세그먼트 LED 표시기를 마이크로컨트롤러에 연결하는 다이어그램과 표시기를 제어하는 ​​방법에 대해 알아봅니다.

LED 7세그먼트 표시기는 디지털 정보를 표시하는 데 가장 널리 사용되는 요소 중 하나입니다.

그들의 다음 특성이 이에 기여합니다.

  • 저렴한 가격. 디스플레이 측면에서 LED 디지털 표시기보다 저렴한 것은 없습니다.
  • 다양한 크기. 가장 작고 가장 큰 표시기는 LED입니다. 나는 숫자 높이가 2.5mm에서 32cm까지인 LED 표시기를 알고 있습니다.
  • 어둠 속에서 빛을. 일부 응용 프로그램에서는 이 속성이 거의 결정적입니다.
  • 그들은 다른 빛 색상을 가지고 있습니다. 심지어 두 가지 색상도 있습니다.
  • 매우 낮은 제어 전류. 최신 LED 표시기는 추가 키 없이 마이크로컨트롤러 핀에 연결할 수 있습니다.
  • 가혹한 작동 조건 허용( 온도 범위, 높은 습도, 진동, 공격적인 환경 등). 이 품질을 위해 LED 표시기는 다른 유형의 디스플레이 요소와 동일하지 않습니다.
  • 무제한 서비스 수명.

LED 표시기의 종류.

7세그먼트 LED 표시기는 7개의 LED(자릿수 세그먼트)를 사용하여 문자를 표시합니다. 여덟 번째 LED는 소수점을 조명합니다. 따라서 7개 세그먼트 표시기에는 8개 세그먼트가 있습니다.

세그먼트는 "A"부터 "H"까지 라틴 문자로 지정됩니다.

각 LED의 양극 또는 음극은 표시기에 결합되어 공통 와이어를 형성합니다. 따라서 공통 양극과 공통 음극을 갖는 표시기가 있습니다.

공통 양극이 있는 LED 표시기.

공통 음극이 있는 LED 표시기.

정적 LED 제어.

LED 표시기는 전류 제한 저항을 통해 마이크로컨트롤러에 연결되어야 합니다.

저항 계산은 개별 LED와 동일합니다.

R = (U 공급 - U 세그먼트) / I 세그먼트

이 회로의 경우: I 세그먼트 = (5 – 1.5) / 1000 = 3.5 mA

최신 LED 표시기는 1mA의 전류에서도 매우 밝게 빛납니다. 공통 양극이 있는 회로의 경우 마이크로 컨트롤러가 낮은 레벨을 생성하는 제어 핀에서 세그먼트가 켜집니다.

공통 음극이 있는 표시기의 연결 다이어그램에서 전원 공급 장치 및 제어 신호의 극성이 변경됩니다.

높은 레벨(5V)이 생성되는 제어 핀에서 세그먼트가 켜집니다.

LED 표시기를 제어하기 위한 다중 모드.

각 7세그먼트 표시기를 마이크로컨트롤러에 연결하려면 8개의 핀이 필요합니다. 3~4개의 표시기(숫자)가 있으면 작업이 사실상 불가능해집니다. 마이크로 컨트롤러 핀이 충분하지 않습니다. 이 경우 표시기는 다중 모드, 동적 표시 모드로 연결할 수 있습니다.

각 지표의 동일한 이름의 세그먼트에 대한 결과가 결합됩니다. 그 결과 세그먼트 핀과 공통 표시기 핀 사이에 LED 매트릭스가 연결됩니다. 다음은 공통 양극이 있는 3자리 표시기를 다중화 제어하는 ​​회로입니다.

세 개의 표시기를 연결하려면 정적 제어 모드에서처럼 24개가 아닌 11개의 핀이 필요했습니다.

동적 디스플레이를 사용하면 언제든지 한 자리만 켜집니다. 높은 레벨 신호(5V)는 비트 중 하나의 공통 핀에 공급되고, 낮은 레벨 신호는 이 비트에서 켜져야 하는 세그먼트의 세그먼트 핀으로 전송됩니다. 일정 시간이 지나면 다음 방전이 켜집니다. 공통 핀에 하이 레벨이 적용되고 이 비트의 상태 신호가 세그먼트 핀으로 전송됩니다. 무한 루프의 모든 숫자에 대해서도 마찬가지입니다. 사이클 시간을 지표 재생 시간이라고 합니다. 재생 시간이 충분히 짧으면 인간의 눈은 방전 전환을 알아차리지 못할 것입니다. 모든 방전이 지속적으로 빛나는 것처럼 보입니다. 표시기의 깜박임을 방지하려면 재생 주기의 주파수가 최소 70Hz가 되어야 한다고 생각됩니다. 최소한 100Hz 이상을 사용하려고 노력합니다.

공통 음극을 갖는 LED의 동적 표시 회로는 다음과 같습니다.

모든 신호의 극성이 변경됩니다. 이제 활성 방전의 공통 와이어에 낮은 레벨이 적용되고, 켜져야 하는 세그먼트에는 높은 레벨이 적용됩니다.

발광 다이오드(LED) 표시기의 동적 표시 요소 계산.

계산은 정적 모드보다 다소 복잡합니다. 계산 중에 다음을 결정해야 합니다.

  • 세그먼트의 평균 전류;
  • 세그먼트의 펄스 전류;
  • 세그먼트 저항 저항;
  • 방전 공통 단자의 펄스 전류.

왜냐하면 표시기 숫자가 차례로 켜지고 글로우의 밝기에 따라 평균 전류가 결정됩니다. 표시기 매개변수와 필요한 밝기에 따라 선택해야 합니다. 평균 전류는 동일한 정전류를 사용하는 정적 제어에 해당하는 수준에서 표시기의 밝기를 결정합니다.

1mA의 평균 세그먼트 전류를 선택해 보겠습니다.

이제 세그먼트의 펄스 전류를 계산해 보겠습니다. 필요한 평균 전류를 제공하려면 펄스 전류가 N배 더 커야 합니다. 여기서 N은 표시 자릿수입니다.

나는 세그먼트 꼬마 도깨비. = 나는 세그먼트입니다. 평균 *N

우리 계획의 경우 I 세그먼트입니다. 꼬마 도깨비. = 1 * 3 = 3mA.

전류를 제한하는 저항의 저항을 계산합니다.

R = (U 공급 - U 세그먼트) / I 세그먼트. 꼬마 도깨비.

R = (5 – 1.5) / 0.003 = 1166옴

방전 공통 단자의 펄스 전류를 결정합니다. 8개의 세그먼트가 동시에 켜질 수 있습니다. 즉, 한 세그먼트의 펄스 전류에 8을 곱해야 함을 의미합니다.

나는 임프 카테고리를 분류합니다. = 나는 세그먼트입니다. 꼬마 도깨비. * 8

우리 회로의 경우 I 카테고리 imp. = 3 * 8 = 24mA.

  • 저항 저항은 1.1kOhm으로 선택됩니다.
  • 세그먼트 제어 마이크로컨트롤러의 핀은 최소 3mA의 전류를 제공해야 합니다.
  • 표시 숫자를 선택하기 위한 마이크로컨트롤러의 핀은 최소 24mA의 전류를 제공해야 합니다.

이러한 전류 값을 사용하면 추가 키를 사용하지 않고도 표시기를 Arduino 보드의 핀에 직접 연결할 수 있습니다. 밝은 표시기의 경우 이러한 전류로 충분합니다.

추가 키가 있는 구성표.

표시기에 더 많은 전류가 필요한 경우 특히 숫자 선택 신호의 경우 추가 키를 사용해야 합니다. 총 방전 전류는 한 세그먼트 전류의 8배입니다.

방전 선택을 위한 트랜지스터 스위치가 있는 다중 모드의 공통 양극이 있는 LED 표시기에 대한 연결 다이어그램입니다.

이 회로에서 비트를 선택하려면 낮은 레벨의 신호를 생성해야 합니다. 해당 키가 열리고 표시기 방전에 전원이 공급됩니다.

방전 선택을 위한 트랜지스터 스위치가 있는 다중 모드의 공통 음극이 있는 LED 표시기의 연결 다이어그램.

이 회로에서 비트를 선택하려면 높은 수준의 신호를 생성해야 합니다. 해당 키는 공통 방전 단자를 접지로 열고 닫습니다.

세그먼트와 공통 비트 핀 모두에 트랜지스터 스위치를 사용해야 하는 회로가 있을 수 있습니다. 이러한 계획은 이전 두 계획에서 쉽게 합성됩니다. 표시된 모든 회로는 마이크로컨트롤러 전원 공급 장치와 동일한 전압으로 표시기에 전원이 공급될 때 사용됩니다.

공급 전압이 증가된 표시기용 키.

각 세그먼트가 직렬로 연결된 여러 개의 LED로 구성된 큰 표시기가 있습니다. 이러한 표시기에 전원을 공급하려면 5V보다 큰 전압의 소스가 필요합니다. 스위치는 마이크로컨트롤러 레벨 신호(일반적으로 5V)에 의해 제어되는 증가된 전압의 스위칭을 제공해야 합니다.

표시기 신호를 접지에 연결하는 키 회로는 변경되지 않습니다. 그리고 전원 스위치는 예를 들어 이와 같이 다른 방식에 따라 구축되어야 합니다.

이 회로에서는 활성 비트가 선택됩니다. 높은 레벨제어 신호.

전환 표시 숫자 사이에서 모든 세그먼트는 짧은 시간(1-5μs) 동안 꺼야 합니다. 이 시간은 키 전환의 일시적 프로세스를 완료하는 데 필요합니다.

구조적으로 방전핀을 여러 자리 표시기의 한 케이스에 결합할 수도 있고, 별도의 한 자리 표시기에서 여러 자리 표시기를 조립할 수도 있습니다. 또한 개별 LED를 세그먼트로 결합하여 표시기를 조립할 수도 있습니다. 이는 일반적으로 매우 큰 표시기를 조립해야 할 때 수행됩니다. 위의 모든 구성표는 해당 옵션에 유효합니다.

다음 강의에서는 7세그먼트 LED 표시기를 Arduino 보드에 연결하고 이를 제어하는 ​​라이브러리를 작성해 보겠습니다.

범주: . 북마크할 수 있습니다.

라이트 매니저. 이메일이나 메시지를 받는 순간, 휴대폰은 내장된 표시기를 사용하여 사용자의 관심을 끌려고 노력합니다. 그러나 LED가 깜박이는 것만으로는 정확한 이벤트가 무엇인지 알 수 없으며 여전히 이를 선택해야 합니다. Light Manager를 설치할 때까지.

Light Manager는 장치의 LED 표시기를 구성하는 데 도움이 되는 Android용 프로그램입니다. 이 애플리케이션을 사용하면 특정 이벤트(예: WhatsApp에 새 메시지가 도착하거나 캘린더의 이벤트)에 대해 다양한 색상으로 반응하도록 가르칠 수 있습니다.

기본적으로 프로그램에는 가장 인기 있는 이벤트에 대한 다양한 설정이 이미 포함되어 있습니다. 하지만 언제든지 자신과 관련 없는 신호를 삭제하고 필요한 신호를 추가할 수 있습니다. 이렇게 하려면 원하는 요소를 터치하기만 하면 알림 설정 메뉴로 이동됩니다. 여기에서 깜박이는 빈도를 설정하고, LED 색상을 선택하고, 실제로 설정한 설정을 즉시 확인할 수 있습니다.

알림을 받고 싶은 프로그램이 목록에 없으면 직접 추가할 수 있습니다. 이렇게 하려면 Light Manager 대체 작동 모드로 전환한 다음 "애플리케이션 추가"를 선택하십시오. 스마트폰에 설치된 모든 프로그램 목록이 표시됩니다. 원하는 앱을 선택하고 LED 알림을 추가하세요.

Light Manager는 프로그램 이벤트뿐만 아니라 다양한 시스템 이벤트도 보고할 수 있습니다. 예를 들어 배터리가 부족하거나, 네트워크 신호가 없거나, 자동 모드가 켜져 있을 때 앱에서 알림을 보낼 수 있습니다. 신호 깜박임 빈도를 설정하고, 절전 모드(Light Manager가 방해하지 않는 시간)를 활성화하고, 자동 시간을 변경할 수 있는 프로그램의 고급 설정을 살펴보는 것도 좋은 생각입니다. LED 활동 종료.

다양한 이벤트 알림을 위한 LED 표시 설정:

Android용 Light Manager 앱 다운로드아래 링크를 따라가시면 됩니다.

개발자: MC 구
플랫폼: 안드로이드( 기기에 따라 다름)
인터페이스 언어: 러시아어(RUS)
상태: 전체
루트: 필요하지 않음