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 및 통신 방법을 제공합니다.
Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.
Visit TechForum


