사용자 도구

사이트 도구


commands:reference:iclcdscrollright

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
commands:reference:iclcdscrollright [2026/09/08 00:53] – 바깥 편집 127.0.0.1commands:reference:iclcdscrollright [2026/10/25 11:33] (현재) – 바깥 편집 127.0.0.1
줄 14: 줄 14:
  
 ===== 예제 ===== ===== 예제 =====
 +
 +MPAINO-8A8R(T)의 I2C 포트에 주소 ''0x27''인 20×4 PCF8574 문자 LCD를 연결한 예제입니다. 실제 LCD의 주소나 크기가 다르면 ''IclcdBegin()''의 인수를 바꿔주시기 바랍니다.
  
 <code cpp> <code cpp>
-const uint8_t LCD_DEVICE = 0; +bool lcdReady = false;
-const uint8_t degreeChar[8] = {0x0C, 0x12, 0x12, 0x0C, 0, 0, 0, 0};+
  
 void setup() { void setup() {
-  if (!IclcdBegin(0x27, 20, 4, true, LCD_DEVICE)) return;  // PCF8574 문자 LCD의 주소와 화면 크기를 설정합니다. +  lcdReady = IclcdBegin(0x27, 20, 4);  // LCD 주소와 화면 크기를 설정합니다. 
-  IclcdCreateChar(0, degreeChar, LCD_DEVICE);  // 사용자 정의 문자를 등록합니다. +  if (lcdReady) IclcdPrint(F("Scrolling text"));  // 동작을 확인할 문자를 표시합니다.
-  IclcdClear(LCD_DEVICE);  // LCD 화면을 지웁니다. +
-  IclcdHome(LCD_DEVICE);  // 커서를 첫 번째 위치로 이동합니다. +
-  IclcdDisplay(true, LCD_DEVICE);  // LCD 표시를 켜거나 끕니다. +
-  IclcdCursor(false, LCD_DEVICE);  // 커서 표시를 켜거나 끕니다. +
-  IclcdBlink(false, LCD_DEVICE);  // 커서 깜박임을 켜거나 끕니다. +
-  IclcdBacklight(true, LCD_DEVICE);  // LCD 백라이트를 켜거나 끕니다. +
-  IclcdTextDirection(true, LCD_DEVICE);  // 문자가 입력되는 방향을 설정합니다. +
-  IclcdAutoscroll(false, LCD_DEVICE);  // 자동 스크롤을 켜거나 끕니다.+
 } }
  
 void loop() { void loop() {
-  const float temperature = ntcReadf(0);  // NTC 3950 10kΩ 센서의 온도를 ℃ 단위 실수로 반환합니다. +  if (!lcdReady) return; 
-  IclcdSetCursor(0, 0, LCD_DEVICE);  // 커서를 지정한 열과 행으로 이동합니다. +  IclcdScrollRight();  // 화면 내용을 오른쪽으로 한 칸 이동합니다. 
-  IclcdPrint(F("Temperature"), LCD_DEVICE);  // 문자열 또는 숫자를 LCD에 출력합니다. +  delay(500);
-  IclcdSetCursor(0, 1, LCD_DEVICE);  // 커서를 지정한 열과 행으로 이동합니다. +
-  IclcdPrint(temperature, 1, LCD_DEVICE);  // 문자열 또는 숫자를 LCD에 출력합니다. +
-  IclcdWrite(0, LCD_DEVICE);  // 문자 코드 또는 사용자 정의 문자를 출력합니다. +
-  IclcdPrint('C', LCD_DEVICE);  // 문자열 또는 숫자를 LCD에 출력합니다. +
- +
-  if (Iup(0, IdigitalRead(0, 5))) IclcdScrollLeft(LCD_DEVICE);  // 표시 내용을 왼쪽으로 한 칸 이동합니다. / 입력을 여러 번 연속으로 읽고, 모든 값이 같을 때만 상태를 갱신합니다. HIGH와 LOW가 섞이면 이전 안정 상태를 유지합니다. / 입력이 OFF에서 ON으로 바뀌는 순간에만 true를 반환합니다. +
-  if (Iup(1, IdigitalRead(1, 5))) IclcdScrollRight(LCD_DEVICE);  // 표시 내용을 오른쪽으로 한 칸 이동합니다. / 입력을 여러 번 연속으로 읽고, 모든 값이 같을 때만 상태를 갱신합니다. HIGH와 LOW가 섞이면 이전 안정 상태를 유지합니다. / 입력이 OFF에서 ON으로 바뀌는 순간에만 true를 반환합니다. +
-  if (Iup(2, IdigitalRead(2, 5))) IclcdCommand(0x02, LCD_DEVICE);  // 입력을 여러 번 연속으로 읽고, 모든 값이 같을 때만 상태를 갱신합니다. HIGH와 LOW가 섞이면 이전 안정 상태를 유지합니다. / LCD 제어 명령을 직접 전송합니다. / 입력이 OFF에서 ON으로 바뀌는 순간에만 true를 반환합니다.+
 } }
 </code> </code>
줄 49: 줄 34:
 ===== 주의사항 ===== ===== 주의사항 =====
  
-  * PCF8574 연결은 기존 CLCD 라이브러리와 같은 매핑을 사용합니다: P0=RS, P1=R/W, P2=Enable, P3=백라이트, P4~P7=LCD D4~D7.+  * PCF8574의 핀 매핑은 기존 CLCD 라이브러리와 같습니다: P0=RS, P1=R/W, P2=Enable, P3=백라이트, P4~P7=LCD D4~D7.
   * LCD 모듈의 실제 I²C 주소는 모듈 설정과 I²C 스캔 결과로 확인해야 합니다.   * LCD 모듈의 실제 I²C 주소는 모듈 설정과 I²C 스캔 결과로 확인해야 합니다.
-  * SDA/SCL은 다른 I²C 장치와 버스를 공유할 수 있지만 주소가 중복되면 안 됩니다. +  * SDA/SCL은 다른 I²C 장치와 버스를 공유할 수 있지만, 장치 주소는 중복되지 않아야 합니다. 
-  * ''Iclcd...()'' 실행 중에 ''Wire'' 전송이나 I²C 슬레이브 콜백을 동시에 실행하지 마십시오. Iclcd 전송은 100 kHz로 수행한 뒤 기존 TWI 설정을 복원합니다.+  * ''Iclcd...()'' 실행 중에는 ''Wire'' 전송이나 I²C 슬레이브 콜백을 동시에 실행하지 않아야 합니다. Iclcd 전송은 100 kHz로 수행한 뒤 기존 TWI 설정을 복원합니다.
   * MPAINO에서 D20/D21을 외부 인터럽트로 사용하면 I²C와 동시에 사용할 수 없습니다.   * MPAINO에서 D20/D21을 외부 인터럽트로 사용하면 I²C와 동시에 사용할 수 없습니다.
-  * ''IclcdCommand()''는 LCD 상태를 직접 바꿀 수 있으므로 HD44780 명령을 알고 있을 때만 사용하십시오.+  * ''IclcdCommand()''는 LCD 상태를 직접 바꿀 수 있으므로 HD44780 명령을 알고 있을 때만 사용해야 합니다.
  
 ===== 같은 카테고리의 내장 명령어 ===== ===== 같은 카테고리의 내장 명령어 =====
commands/reference/iclcdscrollright.1788796398.txt.gz · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki