4개의 OLED 디스플레이와 I2C 멀티플렉서를 사용하여 큐브 타이머 만들기
OLED 디스플레이와 I2C 멀티플렉서를 사용하여 큐브 타이머를 만드는 단계를 제공할 수 있습니다.
필요한 재료 :
- 4 OLED 디스플레이
- I2C 멀티플렉서
- 아두이노 우노 또는 아두이노 보드
- 점퍼 와이어
- 브레드보드
- 푸시 버튼 4개
단계:
- 4개의 OLED 디스플레이를 I2C 멀티플렉서에 연결합니다(핀 연결은 디스플레이 및 멀티플렉서의 데이터시트 참조).
- 멀티플렉서의 SDA 및 SCL 핀을 Arduino 보드의 해당 핀에 연결합니다.
- 4개의 푸시 버튼을 Arduino 보드(디스플레이당 버튼 <>개)에 연결하고 풀업 저항으로 설정합니다.
- 푸시 버튼을 스캔하고 각 OLED 디스플레이에 시간을 표시하는 코드를 작성합니다.
- 멀티플렉서를 사용하여 디스플레이 사이를 전환하여 눌렀을 때 각 버튼의 시간을 표시합니다.
- 첫 번째 버튼을 눌렀을 때 타이머를 시작하고 타이머를 중지하고 동일한 버튼을 다시 누를 때 특정 디스플레이에 경과 시간을 표시하도록 Arduino를 프로그래밍합니다.
- 나머지 세 개의 단추 및 디스플레이에 대해 6단계를 반복합니다.
- 큐브 타이머를 테스트하고 필요에 따라 조정합니다.
참고: 이 프로젝트의 코드에는 몇 가지 고급 프로그래밍 기술이 필요할 수 있으며 다양한 유형의 디스플레이 또는 멀티플렉서를 수용하도록 조정해야 할 수 있습니다.
큐브 타이머는 각 면이 서로 다른 기간(5분, 15분, 30분 및 1시간)을 표시하는 단순한 디자인을 갖습니다. 사용자가 원하는 시간이 있는 쪽의 버튼을 누르기만 하면 큐브가 알람이 울릴 때까지 초를 카운트다운하기 시작하여 기간의 끝을 나타냅니다.
큐브 타이머는 일반적으로 전화 중독이나 산만함으로 어려움을 겪는 사람들에게 훌륭한 도구가 될 것입니다. 이를 통해 특정 시간 제한을 설정하고 전화를 확인하려는 끊임없는 유혹 없이 한 가지 작업에 집중할 수 있습니다.
또한 큐브 타이머는 요리, 운동 또는 공부와 같은 다른 상황에서 사용할 수 있습니다. 시간이 얼마나 남았는지를 시각적으로 상기시키고 개인이 활동을 추적하고 효율적으로 유지하는 데 도움이 됩니다.
전반적으로 큐브 타이머는 산만 함으로 가득 찬 세상에서 집중력과 생산성을 향상시키려는 모든 사람에게 간단하면서도 효과적인 도구가 될 것입니다.
공급
- ESP32-E IoT 개발 보드 x1
- I2C SD2405 RTC 모듈 x1
- I2C OLED - 128x64 디스플레이 x4
- I2C 멀티플렉서 x1
- 틸트 스위치 x2
- 포탄
1단계: 하드웨어
먼저 문제가 있습니다. 디스플레이는 I2C 포트를 통해 MCU와 통신하며 장치는 동일한 I2C 포트에 연결할 수 없으므로 주소 충돌로 인해 동일한 주소를 공유하지 않으면 정상적으로 서로 통신할 수 없습니다. 이제 ESP32-E 컨트롤러에는 I2C 포트가 하나만 있으며 확장 보드가 있어도 <> 개만 있으므로 <> 개의 디스플레이에 충분하지 않습니다.
이번에는 I2C 멀티플렉서가 유용할 것입니다.
2 단계 : 쉘 레이저 절단
- 레이저는 디스플레이를 설치하기 위해 플라스틱 쉘의 4면에 각각 직사각형 구멍을 자릅니다.
- 일반적으로 두꺼운 플라스틱을 성공적으로 자르려면 최소 2번 절단해야 합니다. 여러 번 절단하면 가장자리 컬 현상이 발생할 수 있으므로 여기서는 다용도 나이프를 사용하여 절단 가장자리를 다듬었습니다.
3단계: 디스플레이 설치
- 디스플레이를 설치합니다.
- 컷아웃의 크기는 디스플레이의 크기에 따라 결정되므로 완벽하게 일치합니다.
- 하드웨어 접촉으로 인한 단락을 방지하기 위해 디스플레이 뒷면에 3M 단면 접착 폼 테이프를 각각 부착하고 고정합니다.
4단계: 디스플레이, I2C 멀티플렉서 및 ESP32-E 연결
- 듀폰 전선을 적절한 길이로 자릅니다.
- 4개의 디스플레이를 각각 I0C 멀티플렉서의 포트 3-2에 연결합니다.
- 그런 다음 I2C 멀티플렉서의 I2C 포트를 ESP32-E 메인 컨트롤러의 포트에 연결합니다.
5 단계 : 배터리와 RTC 연결
- 배터리를 ESP32-E 메인 컨트롤러의 해당 포트에 연결합니다.
- RTC 모듈의 I2C 포트를 ESP32-E 메인 컨트롤러의 포트에 연결합니다.
- 전체보기는 그림과 같습니다.
6 단계 : 용량 성 핀 버튼 만들기
- 메인 컨트롤러의 정전식 터치 핀(D12)을 쉘의 나사 중 하나로 납땜하여 나사를 터치 감지 버튼으로 사용할 수 있도록 합니다.
- 쉘의 상단 덮개 내부에 기울기 센서를 핫멜트 접착제로 일정 각도로 고정합니다.
- 그리고 전선을 연결하십시오
- 마지막으로 상단 덮개와 상자를 조립하고 나사로 고정합니다. 그런 다음 모두 완료되었습니다.
7 단계 : 결론
이 프로젝트에서 제목 센서가 사용되지 않는다는 것을 알 수 있습니다.이 프로젝트를 위해 두 가지 버전을 만들었 기 때문입니다. 하나는 위에서 언급한 큐브 타이머이고 다른 하나는 카운트다운, 시간, 날짜 및 모토의 네 가지 유형의 정보가 디스플레이에 표시되는 시계 상자입니다. 기울기 센서는 카운트다운 시간을 설정하는 데 사용되며 정전식 터치 핀은 화면을 켜고 끄는 데 사용됩니다. 그리고 이러한 기능은 여전히 코드에 포함되어 있습니다.
8 단계 : 제작 중 문제 :
모든 작업이 끝나면 타이머가 터치 버튼에 응답하지 않지만 조립 전 테스트에서 잘 작동하는 것을 발견했습니다.
부품 사이에 단락이 있을 수 있다고 생각하여 3M 폼 테이프를 부착했습니다. 그러나 문제는 여전히 남아 있습니다.
그런 다음 회로 연결이 잘못되었을 수 있다고 생각하여 다시 연결하고 모든 연결을 올바르게 설정했습니다.
슬프게도 문제는 여전히 존재합니다.
많은 테스트를 거친 후 정전식 터치 버튼을 일반 버튼으로 교체하면 문제가 사라집니다. 정전식 터치 버튼에 문제가 있는 것으로 나타났습니다.
터치 핀의 경우 touchRead() 함수는 주전원일 때 약 10의 값을 반환하고 배터리로 전원이 공급될 때 약 30을 반환합니다.
'ESP32' 카테고리의 다른 글
프로그래밍 가능한 LED 디스플레이가 있는 LED 백팩(LED Backpack With Programmable LED Display) (1) | 2023.11.13 |
---|---|
아두이노 ESP32와 지문 센서로 프로젝트 보안 강화하기 (0) | 2023.10.18 |
아두 이노에 ESP8266 및 ESP32 코어 설치 (윈도우, 맥, 리눅스) (0) | 2023.03.22 |
ESP32 BLE 초보사용자 (0) | 2023.03.06 |
ESP32 인터넷 라디오, MP3 플레이어 및 알람 시계 (1) | 2023.03.06 |