반응형
아두이노 메가 2560 구입하자마자 1주일동안 갖고논거
예제를 수정해서 여러 기능을 테스트 중
처음 시작 시 암호 입력 화면
버튼 배열을 다시하면서 버튼 그리기, 터치 처리, 글자 입력하는 연습
암호 입력 후 Enter 누르면 다음 화면으로 이동
둥근 네모 그리는 법myGLCD.setColor(0, 0, 255); // 색상 설정, RGB값 0~255 myGLCD.fillRoundRect (X좌상, Y좌상, X우하, Y우하); // 색칠된 둥근 네모 그리기, 픽셀값 myGLCD.setColor(255, 255, 255); // 색상 설정 myGLCD.drawRoundRect (X좌상, Y좌상, X우하, Y우하); // 둥근 네모 테두리 그리기 myGLCD.printNumI(int 숫자, X좌표, Y좌표); // 숫자 표시
전압 측정 화면
확대 버튼 *을 누르면 Y축 확대 됨
오프셋 Dn 버튼을 누르면 Y축 내려 감
X축을 반복하면서 Y값 갱신
전압 기준선은 전체를 그리면 갱신 속도가 느리므로 현재 X축에 해당하는 부분만 점으로 찍음
drawLine -> drawPixel
목록을 누를때마다 표시, 숨기기
테스트 결과
같은 내용은 여러번 그리면 처리속도가 느려지므로 바뀌는 부분만 그리도록 코딩해야함
상하단 정보 표시줄, 오른쪽 버튼은 해당 부분 내용이 바뀔 때에만 갱신 됨
RGB값으로 변환할 때
unsigned long AI_Color[5] = {0xFF0000, 0x00FF00, 0x0000FF, 0xFFFF00, 0x00FFFF}; myGLCD.setColor((unsigned char)(AI_Color[i] >> 16) & 0xFF, (unsigned char)(AI_Color[i] >> 8) & 0xFF, (unsigned char)(AI_Color[i]) & 0xFF);
RGB값은 0~255값이므로 시프트 후에는 마스킹 전에 (unsigned char)로 바꿔서 상위 비트를 지워야함...
0x0000FF & 0xFF 결과값이 0이나 1이 나오므로 0xFF & 0xFF 처럼하는거...
반응형