Differences

This shows you the differences between two versions of the page.

Link to this comparison view

faduino:modularfaduino:uif5k2:index [2026/02/14 06:13] – created - external edit 127.0.0.1faduino:modularfaduino:uif5k2:index [2026/02/14 18:48] (current) – removed admin
Line 1: Line 1:
-====== 심플 유저 인터페이스 UIF-5K-2 ====== 
- 
-본 제품은 간단한 유저 인터페이스를 위한 제품입니다. 20 by 4 영문 LCD와 5개의 키가 내장되어 있습니다. 
- 
-  * RS232C 인터페이스 
-  * 통신방식(고정) : 보레이트 115200, 8비트, NONE 패리티, 1 스톱비트 
-  * 전원 전압 : 9~24VDC 
-  * 소비전류 : 1.2W 
-  * 동작 환경 : 0~50C 
-  * 사용습도 : 35~85% (단 결로없는 환경) 
-  * 맴브레인 내구도 : 100,000회 (Force 250gf) 
-  * 최대 통신거리 : 2미터 
- 
-{{ :modularfaduino:uif5k2:uif5k2front.png?nolink |}} 
- 
-{{ :modularfaduino:uif5k2:uif5k2.png?nolink |}} 
- 
-===== 연결 방법 ===== 
- 
-본 제품은 RS232C를 사용해서 연결합니다. CFMEGA2의 CH1, CH2중 하나를 사용하세요. RX, TX가 서로 교차되도록 연결하고, SG를 연결하세요. 
- 
-{{ :modularfaduino:uif5k2:conn1.png?nolink |}} 
- 
-{{ :modularfaduino:uif5k2:connection.png?nolink |}} 
- 
-===== 표시 방법 ===== 
- 
-RS232C로 문자열을 보내면 LCD에 표시됩니다. 
- 
-{{ :modularfaduino:uif5k2:tx1.png?nolink |}} 
- 
- 
-===== 제어 명령 설명 ===== 
- 
-LCD 제어 명령은 ESC코드 (HEX 1B)를 선두로, 1개의 영문자를 보내 동작을 지시한 뒤, 그에 필요한 각종 인수를 보내는 형식으로 되어 있습니다. 
- 
-^ 특수명령  ^  명령코드  ^  설명  ^  전송 예 (16진수)  ^ 
-^ 캐릭터 커서 On  |  ESC S  | 커서를 On 합니다.  |  1B 53  | 
-^ 캐릭터 커서 Off  |  ESC s  | 커서를 Off 합니다.  |  1B 73  | 
-^ LCD 지우기  |  ESC C  | 전체 화면을 지웁니다. 이 명령 사용후 약 20mS지난후 다음 명령을 보내야 합니다.  |  1B 43  | 
-^ 백라이트 ON/OFF |  ESC BL #  | 백라이트를 ON또는 OFF합니다. #위치에 0이면 OFF, 1이면 ON |  1B 42 4C 01  | 
-^ 좌표 설정  |  ESC L X Y  | X Y 위치로 표시 지점을 이동시킵니다. |  1B 4C 00 00  | 
-^ 부저 ON / OFF 설정  |  ESC Z #  | 스위치를 누를때 BEEP음을 발생시킬지 여부를 결정합니다. #=0 이면 OFF, #=1이면 On |  1B 5A 01  | 
- 
- 
-===== 키 입력 ====== 
- 
-키를 누르면, 해당 키코드 1바이트가 수신됩니다. 키코드는 왼쪽에서부터 차례대로 1~5입니다.  
- 
-{{ :modularfaduino:uif5k2:rx1.png?nolink |}} 
- 
- 
-===== 샘플 프로그램 ===== 
- 
-<code c> 
-void setup() { 
-  Serial1.begin(115200); //보레이트 115200 설정 
-  uif_clear(); //전체 화면을 지움 
-  uif_light(1);  //back light를 on 
-  uif_buzzer(1);  //소리 on 
-  uif_locate(0,0); 
-  Serial1.print("== UIF-5K-2 MAIN ==="); 
-  uif_locate(0,3); 
-  Serial1.print("AUTO     ON      OFF"); 
-} 
- 
-int cnt = 0; 
- 
-void loop() { 
- cnt++; //카운터 값을 증가 
- uif_locate(6,2); 
- Serial1.print(cnt, DEC); //카운터 값을 표시 
- 
- while (Serial1.available()>0) { 
-  char inChar = (char)Serial1.read(); 
-  uif_locate(12,2);  
-  Serial1.print(inChar, DEC); 
-  } 
- delay(100); 
-} 
- 
- 
-void uif_clear() //전체 화면을 지웁니다. 
-{ Serial1.write(0x1b); Serial1.write(0x43);  delay(50); } 
- 
-void uif_light(unsigned char on_off) //back light 설정 인자 값 0 or 1 
-{ Serial1.write(0x1b);Serial1.write(0x42);Serial1.write(0x4c); Serial1.write(on_off); } 
- 
-void uif_locate(unsigned char x, unsigned char y) //표시될 문자의 x축과 y축의 위치를 설정합니다 
-{ Serial1.write(0x1b);Serial1.write(0x4C);Serial1.write(x); Serial1.write(y); } 
- 
-void uif_buzzer(unsigned char on_off) //부저동작 on/off 값 0 or 1 
-{ Serial1.write(0x1b);Serial1.write(0x5a);Serial1.write(on_off); } 
- 
-</code> 
- 
-===== 제안 ====== 
- 
-본 제품은 다음과 같은 방식으로 사용할 수 있도록 고안된 제품입니다.  
- 
-{{ :modularfaduino:uif5k2:category.png?nolink |}} 
- 
-즉, 상단 빨간색 표시된 버튼으로 카테고리를 이동하고, 해당 카테고리 구성 메뉴 3개중 하나를 선택하는 방식입니다. 
- 
-다음은 운영 예입니다. 
- 
-{{ :modularfaduino:uif5k2:category2.png?nolink |}} 
- 
-<code c> 
-int mode = 0; 
- 
-void setup() { 
-  Serial1.begin(115200); //보레이트 115200 설정 
-  mode_display_proc(); 
-} 
- 
-void mode_display_proc() 
-{ 
-  switch(mode) { 
-    case 0: 
-      uif_clear(); 
-      uif_light(1);  //back light를 on 
-      uif_buzzer(1);  //소리 on 
-      uif_locate(0,0); 
-      Serial1.print(" AB CONTROL SYSTEM"); 
-      uif_locate(0,3); 
-      Serial1.print("SETUP"); 
-      break; 
-    case 1: 
-      uif_clear(); 
-      uif_locate(0,0); 
-      Serial1.print("1.MAIN TANK TEMP.>"); 
-      uif_locate(9,3); 
-      Serial1.print("      -"); 
-      break; 
-    case 2: 
-      uif_clear(); 
-      uif_locate(0,0); 
-      Serial1.print("<2.MAIN TANK MIX>"); 
-      uif_locate(0,3); 
-      Serial1.print("AUTO     ON      OFF"); 
-      break; 
-    case 3: 
-      uif_clear(); 
-      uif_locate(0,0); 
-      Serial1.print("3.END OF MENU"); 
-      uif_locate(0,3); 
-      Serial1.print("EXIT"); 
-      break; 
-  } 
-} 
- 
-void keyin_proc() 
-{ 
-  char inChar = (char)Serial1.read(); 
-  switch(mode) { 
-    case 0: 
-      if (inChar==2) { 
-        mode = 1; 
-        mode_display_proc(); 
-      } 
-      break; 
-    case 1: 
-      if (inChar==5) { 
-        mode = 2; 
-        mode_display_proc(); 
-      } 
-      break; 
-    case 2: 
-      if (inChar==1) { 
-        mode = 1; 
-        mode_display_proc(); 
-      } 
-      if (inChar==5) { 
-        mode = 3; 
-        mode_display_proc(); 
-      } 
-      break; 
-    case 3: 
-      if (inChar==1) { 
-        mode = 2; 
-        mode_display_proc(); 
-      } 
-      if (inChar==2) { 
-        mode = 0; 
-        mode_display_proc(); 
-      } 
-      break; 
-  } 
-} 
- 
-void loop() { 
- while (Serial1.available()>0) { 
-    keyin_proc(); 
-  } 
-} 
- 
- 
-void uif_clear() //전체 화면을 지웁니다. 
-{ Serial1.write(0x1b); Serial1.write(0x43);  delay(50); } 
- 
-void uif_light(unsigned char on_off) //back light 설정 인자 값 0 or 1 
-{ Serial1.write(0x1b);Serial1.write(0x42);Serial1.write(0x4c); Serial1.write(on_off); } 
- 
-void uif_locate(unsigned char x, unsigned char y) //표시될 문자의 x축과 y축의 위치를 설정합니다 
-{ Serial1.write(0x1b);Serial1.write(0x4C);Serial1.write(x); Serial1.write(y); delay(50); } 
- 
-void uif_buzzer(unsigned char on_off) //부저동작 on/off 값 0 or 1 
-{ Serial1.write(0x1b);Serial1.write(0x5a);Serial1.write(on_off); } 
- 
-</code> 
- 
-==== 동영상 ==== 
- 
-<html><center> 
-<iframe width="560" height="315" src="https://www.youtube.com/embed/T5aZxPYstKk?si=9M3yX69weB3Q62bK" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> 
-</center></html> 
- 
-===== 응용 분야 ====== 
- 
-아래 사진처럼 다수의 스위치및 램프가 필요한 콘트롤 박스에 활용할 수 있습니다. 
- 
-{{ :modularfaduino:uif5k2:sizesshort.png?nolink |}} 
- 
-{{ :modularfaduino:uif5k2:appsample.png?nolink |}} 
-===== 판넬 컷 ===== 
- 
-{{ :modularfaduino:uif5k2:panelct.png?nolink |}} 
- 
-===== 외형 칫수 ====== 
- 
-{{ :modularfaduino:uif5k2:dimension.png?nolink |}} 
- 
-===== 연결 부 설명 ====== 
- 
-{{ :modularfaduino:uif5k2:connectiondesc.png?nolink |}} 
- 
- 
- 
-[[modularfaduino:index|Modular FADUINO]]