BASIC4MCU | 질문게시판 | LCD 원하는 문장 화면 띄우기
페이지 정보
작성자 CIE18 작성일2018-06-28 22:01 조회8,297회 댓글2건본문
LCD와 센서를 이용하여 물체가 센서에 감지되었을때 LCD가 켜져 원하는 글씨를 띄우게 하려고 합니다.
알고리즘을 설명드리자면,
LCD(품명:12864ZW)1개사용, 적외선 센서(품명:E18-D80NK)4개(A1,A2,B1,B2)사용
평소 상태:(아무것도 표시하지 않음)
물체가 적외선 센서 A1,A2에서 B1,B2로 이동시
LCD:물체가 감지되었습니다.
물체가 적외선 센서 B1,B2에서 A1,A2로 이동시
LCD:(아무것도 표시하지 않음)
모든 경우의 수를 설명드리자면,
물체가 센서 A1,A2에서 센서 B1,B2로 넘어갈 때
A1 감지 A2 미감지 > B1 감지 B2 미감지 = LCD:물체가 감지되었습니다.
> B1 미감지 B2 감지 = LCD:물체가 감지되었습니다.
> B1 감지 B2 감지 = LCD:물체가 감지되었습니다.
A1 미감지 A2 감지 > B1 감지 B2 미감지 = LCD:물체가 감지되었습니다.
> B1 미감지 B2 감지 = LCD:물체가 감지되었습니다.
> B1 감지 B2 감지 = LCD:물체가 감지되었습니다.
A1 감지 A2 감지 > B1 감지 B2 미감지 = LCD:물체가 감지되었습니다.
> B1 미감지 B2 감지 = LCD:물체가 감지되었습니다.
> B1 감지 B2 감지 = LCD:물체가 감지되었습니다.
물체가 다시 센서 B1,B2에서 센서 A1,A2로 넘어갈 때
B1 감지 B2 미감지 > A1 감지 A2 미감지 = LCD:(아무것도 표시하지 않음)
> A1 미감지 A2 감지 = LCD:(아무것도 표시하지 않음)
> A1 감지 A2 감지 = LCD:(아무것도 표시하지 않음)
B1 미감지 B2 감지 > A1 감지 A2 미감지 = LCD:(아무것도 표시하지 않음)
> A1 미감지 A2 감지 = LCD:(아무것도 표시하지 않음)
> A1 감지 A2 감지 = LCD:(아무것도 표시하지 않음)
B1 감지 B2 감지 > A1 감지 A2 미감지 = LCD:(아무것도 표시하지 않음)
> A1 미감지 A2 감지 = LCD:(아무것도 표시하지 않음)
> A1 감지 A2 감지 = LCD:(아무것도 표시하지 않음)
위의 상황에 따른 코딩식좀 부탁드리겠습니다.
댓글 2
조회수 8,297master님의 댓글
master 작성일
예제를 찾아서 먼저 공부하세요
판매사이트에서 제공하는 예제가 있는지 먼저 체크해보시고
없으면 구글 검색 해야겠죠
https://www.google.co.kr/search?biw=1141&bih=942&ei=jvw0W_3iH5Tr-QbG-46oBw&q=%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8+12864ZWa&oq=%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8+12864ZWa&gs_l=psy-ab.12...0.0.0.122536.0.0.0.0.0.0.0.0..0.0....0...1c..64.psy-ab..0.0.0....0.fKS8ccuEQko
예제가 안나오면 일반적인 128x64 GLCD 예제를 찾아보셔야합니다.
https://www.google.co.kr/search?q=%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8+128x64+glcd&oq=%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8+128x64+glcd&aqs=chrome..69i57.17037j0j8&sourceid=chrome&ie=UTF-8
예제를 찾는다고 해도 문제가 해결되는 것은 아닙니다.
한글 폰트 출력 예제가 없을 수 있기 때문이죠
https://www.google.co.kr/search?ei=sP00W9Yxw-T4BvWxgJgD&q=%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8+128x64+glcd+%ED%95%9C%EA%B8%80+%EC%B6%9C%EB%A0%A5&oq=%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8+128x64+glcd+%ED%95%9C%EA%B8%80+%EC%B6%9C%EB%A0%A5&gs_l=psy-ab.3...106915.109367.0.109616.14.14.0.0.0.0.128.1377.10j4.14.0....0...1c.1j4.64.psy-ab..1.3.341...33i160k1j33i21k1.0.z_6gczNGDn8
GLCD는 종류에 따라서 신호가 조금 다를 수 있습니다.
정상적으로 표시되는 예제를 찾아야합니다.
CIE18님의 댓글
CIE18 작성일
#include "U8glib.h"
#define EN 13
#define RW 11
#define RS 10
U8GLIB_ST7920_128X64_1X u8g(EN, RW, RS,U8G_PIN_NONE);
void draw(void) {
u8g.setFont(u8g_font_unifont);
u8g.drawStr( 0, 22, "Wild animals");
u8g.drawStr( 0, 42, "have invaded");
}
void setup(void) {
// flip screen, if required
// u8g.setRot180();
// set SPI backup if required
//u8g.setHardwareBackup(u8g_backup_avr_spi);
// assign default color value
if ( u8g.getMode() == U8G_MODE_R3G3B2 ) {
u8g.setColorIndex(255); // white
}
else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) {
u8g.setColorIndex(3); // max intensity
}
else if ( u8g.getMode() == U8G_MODE_BW ) {
u8g.setColorIndex(1); // pixel on
}
else if ( u8g.getMode() == U8G_MODE_HICOLOR ) {
u8g.setHiColorByRGB(255,255,255);
}
}
void loop(void) {
// picture loop
u8g.firstPage();
do {
draw();
} while( u8g.nextPage() );
// rebuild the picture after some delay
//delay(50);
}
u8glib 라이브러리를 다운받아 코딩하여 위의 식대로 LCD를 켜서 글자를 띄우는 것까지는 완료하였습니다.그러나 한글 폰트 출력 예제가 없어 영어 출력으로 대체하였습니다.
여기서 적외선센서를 위에 소개했던 알고리즘대로 대입하려 하는데 어떻게 코딩하여야 하나요?