4D Systems 개요

최근 한 프로젝트에서 교육 세션 타이머가 필요했던 경우가 있었습니다. 터치스크린 디스플레이가 자체 포함 및 활용 가능해야 했으며 여러 사용자를 위해 동글과의 페어링 기능도 갖춰야 했습니다. 즉 장치에서 프로그래밍과 동글 무선 제어를 지원하며, 디스플레이에서 세션 상태를 보여줄 수 있는 솔루션이어야 했습니다. 여기에는 실시간 클록 및 메시 네트워크 트랜시버 등의 지원 부품이 포함되지만 이 기사에서는 그에 대한 내용은 다루어지지 않습니다.

필요한 기능을 파악하고 나니 조건에 적합할 만한 여러 옵션이 있었습니다. Arduino 및 PIC 기반을 포함해 여러 마이크로 컨트롤러가 그 대상이었습니다. 그렇지 않으면 Raspberry PI와 같은 단일 기판 컴퓨터도 사용할 수 있었습니다. 어느 쪽이든 컨트롤러는 디스플레이와 실시간 클록, 정보 보관용 마이크로 SD 카드와 선택한 메시 네트워크 트랜시버와 통신할 수 있도록 충분한 I/O를 갖춰야 했습니다. 또한 터치스크린 디스플레이를 마이크로 컨트롤러와 함께 사용해야 합니다. 디스플레이는 선호 크기인 약 7인치로 제작되어 일정 예약에 충분한 공간을 제공할 수 있어야 합니다.

위의 각 옵션은 어떤 면에서는 유효하지만 어떤 경우에는 제한적일 수도 있습니다. 더 작은 Arduino 및 PIC 옵션도 이러한 유형의 프로젝트를 처리할 만큼 강력한 처리 성능을 갖추고 있긴 하지만, 그 경우 I/O가 빠르게 소진될 수 있습니다. Raspberry PI 또는 유사 단일 기판 컴퓨터는 애플리케이션에 너무 과할 가능성이 높지만 기본 마이크로 컨트롤러과 비교했을 때 장점이 있습니다. 어떤 쪽이든 이러한 모든 옵션의 난이도는 그래픽 사용자 인터페이스(GUI) 설계와 동일합니다. 마이크로 컨트롤러 및 단일 기판 컴퓨터의 GUI 생성을 모두 지원하는 옵션이 있지만 선택된 이 제품처럼 사용이 간편하고 직관적인 것은 없습니다.

4D Systems의 Gen4-uLCD-70DCT-CLB(DigiKey 부품 번호 1613-1277-ND)는 4D Systems의 Gen4-PA(DigiKey 부품 번호 1613-1210-ND)와 함께 사용되며 4D Workshop(DigiKey 부품 번호 )은 이 프로젝트에 가장 적합한 솔루션이었습니다. 디스플레이는 Diablo16 프로세서로 실행되며 이 프로세스는 전체 I/O 세트를 제공하고 SPI, I2C, 직렬, 디지털, 아날로그 장치와 인터페이스로 연결할 수 있습니다. 게다가 디스플레이는 이미지 보관을 위해 온보드 마이크로 SD 카드를 사용하여 프로그래밍 중에 데이터 보관을 위해 액세스할 수 있습니다.

프로젝트의 시작은 4D Workshop이었습니다. 첫 번째 단계는 새 4D 시스템 프로젝트를 생성하고 올바른 디스플레이 유형을 선택하는 것입니다. 여기에서부터는 어떤 환경을 선택해 디스플레이를 설정하는가의 문제입니다. 옵션으로는 Designer, ViSi, ViSi Genie, Serial이 있습니다. 이 프로젝트의 경우 디스플레이 그래픽이 ViSi Genie에서 설정되며, 해당 코드는 4DGL 코드에 대한 액세스를 확보할 수 있도록 ViSi로 포팅됩니다.

ViSi Genie를 이용하면 쉽고 직관적인 방식으로 전체 그래픽을 개발할 수 있습니다. 소프트웨어는 단일 페이지 또는 양식으로 시작됩니다. 여기에서 디스플레이 배경, 버튼, 자릿수, 게이지, I/O, 입력, 레이블, 매직, 기본 요소, 시스템/미디어 개체가 프로젝트에 배치 및 통합될 수 있습니다. 개체가 선택되고 양식에 배치되면 개체 선택기에서 추가로 편집할 수 있습니다. 개체 검사기의 기본 뷰에서 개체 이름을 변경하고 속성을 편집할 수 있습니다. 화면 LED 버튼을 전환하는 등의 단순한 개체 명령이 필요한 경우 “이벤트”라 불리는 개체 검사기 두 번째 페이지에서 수행할 수 있습니다. 여러 양식이 필요한 경우 설계자 상단의 시스템/미디어 도구 모음에서 손쉽게 추가할 수 있습니다. 상단 도구 모음에서는 프로젝트를 언제든지 디스플레이로 컴파일 및 로드하여 기능을 확인할 수 있습니다. 테스트 중에는 기본 대상을 “RAM 실행”으로 설정해 플래시 작성 주기를 낭비하지 않는 것이 좋습니다. 이는 프로젝트 탭에서 변경할 수 있습니다.

모든 그래픽이 개발되고 모든 양식이 설정된 후 프로젝트는 ViSi로 포팅되며, 디스플레이 및 4DGL IDE 코딩 환경이 실제로 "표시될 모습 그대로” 표시됩니다. 모든 “더 까다로운” 코딩이 Diablo16 내부 기능을 통해 작성된 곳이 바로 여기입니다. I2C 버스는 시간 및 날짜 보존을 위해 RTC를 실행하도록 설정됩니다. 메시 네트워크 트랜시버와의 통신을 위한 모든 I/O는 이 환경에서 프로그래밍되었으며, 이러한 핀을 구동하는 여러 이벤트가 있습니다. 이 특정 프로젝트에서는 전원 주기 중에 보존될 수 있도록 디스플레이에 탑재된 온보드 마이크로 SD 카드에 작성된 일련의 변수를 보존해야 했습니다. 또한 타이머를 실행하기 위한 모든 유사 코드도 이 환경에서 프로그래밍되었습니다.

결론적으로 보자면 4D Systems 소프트웨어와 디스플레이는 강력하면서 사용하기도 편한 옵션입니다. ViSi Genie 및 ViSi의 단순한 프로그램 인터페이스와 자동 코드 생성 기능은 그래픽 개발 과정을 단축해 줍니다. 또한 통합된 Diablo16 프로세서는 더욱 심도 있는 프로젝트를 위해 기판에서 코드를 실행하거나 다른 장치의 인터페이스로 연결할 수 있도록 다양한 I/O 및 통신 방법을 제공합니다.

작성자 정보

Image of 4D Systems

호주에 기반을 둔 4D Systems는 지능형 그래픽 디스플레이 모듈을 개발하고 제조하는 세계적인 선도업체입니다. 4D Systems는 최신 OLED 및 LCD 기술을 사용하여 콤팩트하고 비용 효율적인 지능형 디스플레이 모듈 및 부속품을 설계하고 제조합니다. 4D Systems 디스플레이 모듈은 여러 응용 가능성을 위한 단독형 기능을 제공하는 맞춤형 그래픽 프로세서가 내장되어 있습니다. 4D Systems 제품은 의료, 항공, 군사, 자동차 분야에서 성공적으로 구현되고 있습니다.

More posts by 4D Systems
 TechForum

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.

Visit TechForum