Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
faduino:faduino:uif5kwithfaduino:index [2026/02/10 23:14] adminfaduino:faduino:uif5kwithfaduino:index [2026/02/20 15:34] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ===== UIF-5K와 연결 ===== ===== UIF-5K와 연결 =====
  
-UIF-5K는 LCD 표시부와 5개의 입력 키를 내장한 **유저 인터페이스(UI) 전용 패널**입니다.  +UIF-5K는 LCD 표시부와 5개의 입력 키를 내장한 **유저 인터페이스(UI) 전용 패널**입니다.  \\ 
 FADUINO와 연결하여, 별도의 PC 없이도 **상태 표시, 메뉴 출력, 사용자 입력 처리**를 구현할 수 있습니다. FADUINO와 연결하여, 별도의 PC 없이도 **상태 표시, 메뉴 출력, 사용자 입력 처리**를 구현할 수 있습니다.
  
Line 56: Line 56:
 {{ :faduino:faduino:uif5kwithfaduino:uif5k_sample1.png?nolink |}} {{ :faduino:faduino:uif5kwithfaduino:uif5k_sample1.png?nolink |}}
  
 +++++ [ 소스코드 보기]|
 <code c> <code c>
 void setup() { void setup() {
Line 69: Line 70:
  
 void loop(){ } void loop(){ }
 +
 +//전체 화면을 지웁니다.
 + 
 +void uif_clear()
 +    { 
 +    Serial1.write(0x1b); Serial1.write(0x43); 
 +    }
 + 
 +//표시될 문자의 x축과 y축의 위치를 설정합니다
 + 
 +void uif_locate(unsigned char x, unsigned char y)
 +    { 
 +    Serial1.write(0x1b);Serial1.write(0x4C);Serial1.write(x); Serial1.write(y); 
 +    }
 + 
 +//부저동작 on/off 값 0 or 1
 + 
 +void uif_buzzer(unsigned char on_off)
 +    { 
 +    Serial1.write(0x1b);Serial1.write(0x5a);Serial1.write(on_off); 
 +    } 
 </code> </code>
 +++++
  
 이 샘플은 **버튼 입력이나 반복 동작 없이**,   이 샘플은 **버튼 입력이나 반복 동작 없이**,  
Line 94: Line 117:
     delay(20);     delay(20);
     uif_light(1); delay(20); //back light를 on     uif_light(1); delay(20); //back light를 on
-    uif_buzzer(1); delay(20); //부저 소리 on+    uif_buzzer(1); delay(20); //부처 소리 on
     delay(100);     delay(100);
     uif_locate(0,0);     uif_locate(0,0);
Line 105: Line 128:
     Serial1.print("BUTTON : "); delay(100);     Serial1.print("BUTTON : "); delay(100);
 } }
-...+  
 +int cnt = 0; 
 +  
 +void loop()  
 +
 +    cnt++; //카운터 값을 증가 
 +    uif_locate(12,2); 
 +    Serial1.print(cnt, DEC);           //카운터 값을 표시 
 +    delay(100); 
 +    serial1Event(); 
 +
 +  
 +void serial1Event()  
 +{                                     //입력된 버튼 값을 표시 합니다. 
 +    while (Serial1.available()) { 
 +    char inChar = (char)Serial1.read(); 
 +    uif_locate(10,3); 
 +    Serial1.print(inChar, DEC); 
 +   } 
 +
 +  
 +//커서설정 인자 값 0 or 1 
 +  
 +void uif_csron(unsigned char on_off) 
 +
 +    if(on_off){Serial1.write(0x1b); Serial1.write(0x53);
 +    else {Serial1.write(0x1b); Serial1.write(0x73);
 +
 +  
 +//전체 화면을 지웁니다. 
 +  
 +void uif_clear() 
 +{  
 +    Serial1.write(0x1b); Serial1.write(0x43);  
 +
 +  
 +//back light 설정 인자 값 0 or 1 
 +  
 +void uif_light(unsigned char on_off) 
 +
 +    Serial1.write(0x1b);Serial1.write(0x42);Serial1.write(0x4c); 
 +    Serial1.write(on_off);
 +  
 +//표시될 문자의 x축과 y축의 위치를 설정합니다 
 +  
 +void uif_locate(unsigned char x, unsigned char y) 
 +{  
 +    Serial1.write(0x1b);Serial1.write(0x4C);Serial1.write(x); Serial1.write(y);  
 +    } 
 +  
 +//버튼확인 led 설정 인자 값 0 or 1 
 +  
 +void uif_swled(unsigned char on_off) 
 +{  
 +    Serial1.write(0x1b);Serial1.write(0x45);Serial1.write(on_off);  
 +
 +  
 +//해당 led를 on/off 합니다. 
 +  
 +void uif_led(unsigned char number, unsigned char on_off) 
 +
 +    Serial1.write(0x1b);Serial1.write(0x46);Serial1.write(number); 
 +    Serial1.write(on_off);  
 +
 +  
 +//부저동작 on/off 값 0 or 1 
 +  
 +void uif_buzzer(unsigned char on_off) 
 +{  
 +    Serial1.write(0x1b);Serial1.write(0x5a);Serial1.write(on_off);  
 +
 </code> </code>
 ++++ ++++