아두이노 7세그먼트 예제

Posted on

난 그냥 Arduino로 시작했습니다 그래서 아직 간단한 프로젝트에 집착 .. 마찬가지로, 나는 비슷한 방법으로 시도하고 싶었다 그래서 이전 PC 케이스에서 2x 7-seg 디스플레이로 그것을 시도 할 것이다 (+ A.. F) 헥사데피좀 숫자. 회로도에서 그것은 당신의 일반적인 양극과 7-seg LED를 사용하여 아두 이노의 핀의 7이 `GND`로 사용되기 때문에, 디지털 쓰기 () 기능은 (디지털 핀을 통해 전류를 침몰하기 때문에) 전원을 켜려면 LED ON / HIGH에 전원을 낮게 설정해야한다는 것이 분명하다? SPI는 통신을 위해 세 개의 와이어가 필요합니다: 데이터(SDI, 즉 “직렬 데이터 입력”), 클럭(SCK, “직렬 시계”) 및 슬레이브 셀렉트(SS, 낮은 활성 임을 의미하는 막대)는 칩 선택(CS)이라고도 합니다. 이 직렬 방법에 몇 가지 주의: S7S에 대 한 최대 클럭 속도 는 250 kHz. 또한 데이터는 시계의 상승 가장자리에 클럭됩니다(0V에서 5V로 이동). 또한 마스터 장치의 SPI 연결인 아두이노는 일반적으로 MISO(마스터 인 슬레이브 아웃) 및 MOSI(마스터 아웃, 슬레이브 인)로 표시되어 있습니다. MOSI 라인은 S7S에서 SDI에 연결되는 반면, MISO 라인은 SDO 라인에 연결됩니다. 다자리 디스플레이는 숫자 핀을 사용하기 때문에 숫자 핀에 연결할 Arduino 핀을 정의해야 합니다. 바이트 digitPins[] = {10, 11, 12, 13}를 사용 하 여; 라인 6에 첫 번째 숫자 핀으로 아두 이노 핀 (10)을 설정, 두 번째 숫자 핀에 아두 이노 핀 (11) 등등.

I2C 버스의 데이터는 양방향으로 진행되므로 핸드셰이킹 형식을 구현하려면 특별한 승인 신호가 필요합니다. I2C가 CS 와이어에 부족한 것은 데이터 신호의 복잡성을 만회하는 것 이상입니다. 다행히도, 많은 I2C 라이브러리가 있다 – 예를 들어 Arduino에 와이어 라이브러리, 이는 I2C 데이터 전송을 간단하게. 이 튜토리얼에서 나는 설정하고 아두 이노에 한 자리 와 다중 자리 일곱 세그먼트 디스플레이를 프로그래밍하는 방법을 보여 드리겠습니다. 이 핀 구성에는 줄 수 없습니다. 하드웨어 I2C 핀을 사용해야 합니다. 이전 Arduinos는 헌신적 인 SDA 및 SCL 핀이없을 수 있습니다. 그들은 여전히 핀 A4와 A5에 각각 있어야합니다.

Arduino 이외의 다른 언어를 사용하는 경우 주소 끝에 읽기/쓰기 비트를 추가해야 할 수 있습니다. 즉, OpenSegment의 기본 읽기 주소는 0b.1110.0011 또는 0xE3이고 쓰기 주소는 0b.1110.0010 또는 0xE2입니다. 자세한 내용은 I2C에 대한 우리의 튜토리얼을 확인하십시오 . Arduino I2C 라이브러리는 7비트 주소 지정 [https://www.arduino.cc/en/reference/wire]을 사용합니다. 라이브러리는 읽기 또는 쓰기 함수가 있기 때문에 마지막 비트를 무시합니다. Arduino 생태계 외부의 다른 개발 보드는 다른 주소 지정 기술이 필요할 수 있습니다. 이것은 I2C 예제 코드에서 간략하게 설명되었습니다:이 예제에서는 Arduino와 S7S(두 개의 전원 전선, 하나의 데이터) 사이에 세 개의 와이어가 필요합니다. 그래서 그것을 연결: 이제 직렬 7 세그먼트 디스플레이 중 하나를 사용 하 여 편안 하 게, 그것은 당신의 자신의 프로젝트에 통합 하는 시간! 직렬은 전선을 최소화하려는 경우 훌륭한 통신 방법입니다.