//출처 :  https://learn.microsoft.com/ko-kr/archive/blogs/pusu/how-to-add-full-screen-mode-in-your-mfc-app-visual-studio-2008-or-later

 

 

MFC SDI 사용시 전체화면 사용하고 싶을때 사용

화면 가득차게 됨

 

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
   ...

   EnableFullScreenMode(0);
   EnableFullScreenMainMenu(FALSE);
   ShowFullScreen();
}

 

 

// 단점 :  전체화면 닫기 툴바가 강제로 생김

 

 

//수정본 

 

기존 함수는  afxfullscreenimpl.cpp 의   void CFullScreenImpl::ShowFullScreen(CFrameWnd* pFrame)  함수에서 메뉴를 생성함

 

대충 그 생성부분

 

이부분이 없으면 전체화면 메뉴가 나타나지 않음

 

저부분만 따로 복사해서 클래스 생성하여 사용

 

MainFrm.h 에서  메뉴관련 모두 제거 

//CMFCMenuBar       m_wndMenuBar;
//CMFCToolBar       m_wndToolBar;
//CMFCStatusBar     m_wndStatusBar;

 

MainFrm.cpp 의 OnCreate에서 메뉴관련부분 모두 제거하고 마지막부분에

 

CFullScreenImplUser cFullScreen(0 , FALSE);
cFullScreen.ShowFullScreen(this);

 

추가

 

되돌리고 싶을때

 

cFullScreen.RestoreState(this);

 

 

FullScreenImplUser.cpp
0.01MB
FullScreenImplUser.h
0.00MB

'공부 > MFC' 카테고리의 다른 글

[MFC] png Image Load From Resource  (0) 2022.11.29
[MFC] CImage CBitmap HBITMAP 변환  (0) 2022.11.29
[MFC] 다이얼로그 DLL 만들기  (0) 2022.11.16
[MFC] SDI 전체 화면  (1) 2022.09.23
[MFC] unordered_map  (0) 2021.10.19

출처 : https://pencil1031.tistory.com/82

 

Visual Studio 2015 사용

 

1. dll프로젝트 생성

상단 메뉴바

파일 - 새로만들기 - 프로젝트
템플릿 - Visual C++ - MFC - MFC DLL 

DLL 프로젝트 명 : PopUpDialogDll

Dll 형식:
'MFC를 정적으로 링크한 기본 DLL' 선택
추가기능: 모두 체크해제

 


===============================================

2. 사용할 다이얼로그 생성

클래스 마법사 실행
 (ctrl + shift + x) 
또는 
 보기 - 클래스 뷰 - 클래스뷰에 프로젝트명 우클릭 - 클래스마법사 

클래스마법사 - 클래스 추가 - MFC 클래스 

클래스 이름 입력 (여기선 CDlgAlarm )
기본 클래스 CDialogEx 선택 마침

 


3. 코드 추가 
PopUpDialogDll.cpp 에서 BOOL CPopUpDialogDllApp::InitInstance 아래 함수 추가

#include "DlgAlarm.h"

void WINAPI ShowPopupTest()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());

CDlgAlarm dlg;
dlg.DoModal();
}

 


PopUpDialogDll.def 에서  아래 항목 추가 @1은 순서 

EXPORTS
    ; 명시적 내보내기를 여기에 사용할 수 있습니다.
 ShowPopupTest @1


 4. 컴파일
 dll , lib 파일을 사용 프로젝트에 복사
실행파일 위치에도 복사

 

5. DLL을 사용할 프로젝트 생성

상단 메뉴바

파일 - 새로만들기 - 프로젝트
템플릿 - Visual C++ - MFC - MFC 응용프로그램 - 대화상자로 생성

 


stdafx.h 에 추가

__declspec(dllimport) void WINAPI ShowPopupTest();
#pragma comment(lib, "PopUpDialogDll")

 



리소스 뷰에 버튼하나 두고 버튼 이벤트에 추가
::ShowPopupTest();

 

 

 

=====================================

6. 실행화면

 

 

 

DllTest.zip
1.33MB

 

 

 

 

 

 

'공부 > MFC' 카테고리의 다른 글

[MFC] png Image Load From Resource  (0) 2022.11.29
[MFC] CImage CBitmap HBITMAP 변환  (0) 2022.11.29
[MFC] 전체화면 사용  (0) 2022.11.24
[MFC] SDI 전체 화면  (1) 2022.09.23
[MFC] unordered_map  (0) 2021.10.19

https://login.aliexpress.com/?return_url=https://login.aliexpress.com/ipay_login.htm?goto=https://intl.alipay.com/user/queryUserBindCard.htm 

 

 

로그인 후 보이는 카드 삭제

라즈겜동카페에 가면 나무가방 형식의 조이스틱을 많이 많드는 것을 보았다.

 

너무나 부러웠다.

 

그래서 나도 이동식으로 만들어 보고자 헀다.

 

나무가방은 아니지만..

 

 

준비물

보쉬 18V 충전드릴용 L-BOXX 136 보쉬공구박스 - 지마켓

http://item.gmarket.co.kr/detailview/item.asp?goodscode=1646679230      

 

조이스틱 분리형 레버 - 알리익스프레스  2개 14454

https://ko.aliexpress.com/item/1005001599827750.html?spm=a2g0o.order_list.0.0.21ef140fersXaU&gatewayAdapt=glo2kor

 

아케이드 푸시버튼 30mm - 알리익스프레스 - 20개 12303

https://ko.aliexpress.com/item/32651573107.html?spm=a2g0o.order_list.0.0.21ef140fersXaU&gatewayAdapt=glo2kor 

 

mdf 원목판 9mm  4480

 

USB 5V-DC 12v 수탭옵 스텝업 모듈 커넥터  2.23달러

https://ko.aliexpress.com/item/1005001732421647.html?spm=a2g0o.order_list.0.0.21ef140fersXaU&gatewayAdapt=glo2kor

 

=================요정도 추가로 산거

 

배송받은 재료들

나무판 재단은 320*430 mm

 

뚜껑이 잘 안닫혀서 보니 나무판과 뚜껑이 부딪히는 부분이 있다.

 

니퍼로 제거

 

안쓰는 스피커를 사용하기로 했다.

먼지를 닦고 모두 분해..

 

 

나무판도 뚫을 위치를 정해준다.. 

 

 

 

다이소 시트지를 붙여준다..

 

인터넷엔 더 이쁜 시트지들이 많지만...

 

버튼과 조이스틱을 배치하고 글루건으로 고정시켜준다.

 

 

화면은 대학교때 쓰던 레노버 z-585 노트북의 화면은 적축하여 사용했다.

 

노트북은 고장났기때문에.. 분해..

 

노트북 화면 패널 뒷편에 보면 패널명이 적혀있는데

 

알리익스프레스에서 검색하면 호환 ad보드를 살 수 있다.

 

내 패널명은 LTN156AT24

 

 

아이고 ad보드 선을 끊어먹었다..

 

 

대충 선 피복 벗기고 휘감은 후 전기테이프 테이핑 한 모습...

 

이쁘진 않다..

 

일단 화면이 나오므로 그냥 사용하도록 한다.

 

대충 이런식으로 될 예정

 

 

아까 그 스피커 분해하고 남은 철사망 부분

 

니퍼로 오려준다.

 

상단 스피커 구멍을 막아준다.

 

조이스틱을 gpio에 연결하려는데 깔끔하게 할 방법을 고민했다.

 

음... 

 

음....

 

일단 상판에 모두 연결하고 라즈베리파이 전용 케이블로 본체와 이어주면 될 거 같다고 대충 생각..

 

일단 기판을 자르고

 

 

 

선을 연결한다

 

스피커도 장착

 

 

옆으로 열 수 있도록 경첩 장착

 

 

글루건 덕지덕지

 

 

 

이상태로 화면 연결 해서 꾹 덮었더니.

 

화면 깨짐...

 

그래서 테두리 빼고 패널만 붙였다..

 

 

 

 

 

 

스틱함에 스펀지도 넣어준다.

 

 

일단 여기까지 대충 조립 완료

 

보조배터리 대신 3s bms와  18650배터리 3셀  충전모듈을 사용하여 충전식으로 사용가능

 

 

================한방롬 설치

한방롬 이미지파일을 그대로 입혀서 사용하면 된다

 

조이스틱 설치

 

레트로파이 설정 - manage packages - manage driver packages  - mkarcade joystick - install from source 로 설치

 

 

https://sanot.tistory.com/86   

여기서 다운받았던 한방롬을 사용하려고 하였으나 GPIO가 동작하지 않았다..

 

 

그래서 라즈겜동 카페에 가서 최신 이미지 파일을 받았다.

 

https://cafe.naver.com/raspigamer  라즈겜동 카페 - OS 자료실 - 라즈겜동 이미지  v1.39.7 파이3,4  

 

 

한방롬에 roms폴더에 롬파일을 모두 PC로 복사하고  라즈겜동 이미지 입힌 후 roms폴더에 복사한 롬파일을 붙여넣었다.

 

실행 후 GPIO 활성화 필요

 

 

일단 완료

 

 

 

 

 

Microsoft Visual Studio Version Selector  으로 sln 파일 열기

 

 

 

제대로 인식하지 못할 경우에는 원하는 vs 버전으로 프로젝트 열고 sln  으로 다시 저장

 

 

기존 sln 삭제 후.vcxproj   파일을 원하는 vs버전으로 실행하고 저장 클릭시 sln 저장 할 수 있음

 

 

어김없이 아이쇼핑중에 발견한 욕실화

 

욕실화에 때가 껴서 교체할 시기가 오긴했다

 

 

이거보고 들어갔다.

 

 

이렇게있엇는데 뭔가 4번 제품이 너무 이뻐보였다

 

그래서 두개나 샀다.

 

 

블랙  화이트 두세트

 

1+1이니까 4개가 왔다.

 

 

캐릭터가 너무이뻐서 좋아했으나 보자마자 뭔가 이상했다.

 

너무 작다.

 

작다..

 

...?? 

 

200..

 

200....

 

...

 

ㅋㅋㅋㅋ 아...

 

ㅠㅠ

 

ㅠㅠㅠ

 

 

유x브 보고 목늘어난 티셔츠 작업하기를 시도했다.

 

집에 어디 구석탱이에 고무줄이 있었다..

 

 

목표가 된 티셔츠..

 

목이 늘어난 티셔츠 이다.

 

사진으로보니 티가 잘 안나는데..

 

입어보면..

 

 

후줄근....

 

자 작업 시작

 

 

이 부분을 칼로 뜯어서 고무줄을 넣는다.

 

 

고무줄이 통과한 모습

 

 

 

이 상태에서 목 부분을 살살 움직여 늘어난 부분을 타이트하게 맞춰준다.

 

고무줄의 적당한 부분에 표시를 하고 바느질 한다.

 

 

나머지 꼬다리는 가위로 제거

 

이제 틈으로 넣어준다

 

 

 

그리고 바늘로 꼬매준다.

 

 

 

완성!

 

 

 

 

 

다른 티셔츠도 작업

 

 

별차이 안나보이는데... 두번째가 사진을 가까이서 찍어서 그렇다.

 

로고를 기준으로  목부분을 보면 된다.

 

 

꼬맨부분이 티가 나긴한다...ㅠ

 

대충 입지뭐. 

사용중인 케이스 

3RSYS S700 에스프레소CT Black

오만 육천원짜리..ㅎ 

 

선정리 전

 

 

선정리 시작!

 

일단 선들을 분리한다.

 

케이스 팬 파워 부분 분리!

 

 

 

 

ㅎ...ㅎㅎ.....

 

다시 끼워 넣으니까 된다..

 

일케...

 

 

일단 선들을 다 뒷판으로 넘기는 식으로 정리했다.

 

 

 

알리에서 산 찍찍이로 열심히 묶묶

 

 

 

 

그래픽카드 장착

 

 

 

이렇게 완료!!

 

 

사진 몇장 없는데..시간이 좀 걸리긴했다..

 

지지대 까지 장착...

 

지지대가 삐뚜네...

 

지x켓에서 CPU를 구매했다.

 

 

두둥 두둥!

 

CPU 교체하는 Day~

 

그런데 기존의 CPU를 분리하다가 그만.

 

서멀이 잔뜩 묻어버렸다.

 

이전에 CPU 장착할때 서멀을 덕지덕지 발랐더니....

 

 

 

하...멘붕...

 

 

 

인터넷 검색하니... 두둥 !!

 

 

BW-100!!  접점 부활제 라고 한다.

 

당장 옷을 갈아입고 이마트로 달려갔다!@

 

바로이것!

 

 

인터넷 검색하면 만원정도하지만 급하므로 그냥 사버렸다.

 

하...최저가 요정의 과소비...

 

일단 드라이버로 조심스럽게 걷어내고..

 

 

엄청나게 유해한 물질이라고 하니 야밤에 밖에 나가서 박스 깔고 그 위에 PC를 놓았다.

 

이물질을 녹여서 없애버리는 약품인데...

 

엄청나게  뿌리고 뿌리고 뿌리고 뿌리고...

 

뿌리고 그냥 있는게아니고 계속 뿌려줘야함.

 

너무 세게 뿌리면 메인보드 커패시터 사라질 수 있으니 살살  잘 조준해서 발사

 

 

이부분  약간 희끄무리 한것이 서멀이 녹은 흔적.

 

기존에 탈거했던 3600끼워서 정상 부팅 확인하고

 

5600으로 교체해서 장착 완료!

 

잘 쓰고 있는중...ㅎㅎㅎㅎ

qt designer 실행

file - new - main window

Push Button 선택하여 원하는 위치 이동

objectName 입력  ex. pushButtonTest

                                ->코드에서 사용할 컨트롤 ID

 

test.ui로 저장  

main.py와 같은 경로에 파일 저장

 

 

pyqt5 설치

파일 - 설정

 

 

 

프로젝트_파이썬인터프리터 – add

 

pyqt5 검색  - 설치 ( install package클릭)

pyqt5designer 검색  - 설치 ( install package클릭)

 

터미널 설치 명령어

pip install pyqt5  
pip install pyqt5designer 

 

 

 

 

 

패키지 경로 확인

터미널 - python -m site 입력

 

 

코드입력

main.py 생성하여 코드 입력

import sys
from PyQt5 import uic
from PyQt5.QtWidgets import *

# ui 가져오기
form_class = uic.loadUiType("./test.ui")[0]   

class WindowClass(QMainWindow, form_class):
    def __init__(self):
        super().__init__()
        self.setupUi(self) 
        self.pushButtonTest.clicked.connect(self.btnClick)  #버튼 연결

    def btnClick(self):  #버튼클릭시 동작
        QMessageBox.information(self, 'click', '클릭')


if __name__ == "__main__":
    app = QApplication(sys.argv)
    myWindow = WindowClass()
    myWindow.show()
    app.exec_()

'공부 > 파이썬' 카테고리의 다른 글

[파이썬] 파이토치 설치  (0) 2024.09.20
[파이썬] 프로젝트 생성  (0) 2022.10.06
[파이썬] 설치  (0) 2022.10.06

File - New Project

 

상단 Location -  프로젝트 위치

New environment using - 새로운 환경 생성 

 Location - 새로운 환경 저장 위치

Inherit global site-packages - 기존 패키지 사용

Previously configured interpreter - 이전에 구성된 인터프리터 

 

처음에만 New environment 하고 이후로 Previously configured interpreter 이거 해서 사용했음

 

 

file - new - Python file 선택해서 파일명 입력 후 생성 

 

 

print("TESTTEST")

입력 후 클릭

 출력 확인

 

'공부 > 파이썬' 카테고리의 다른 글

[파이썬] 파이토치 설치  (0) 2024.09.20
[파이썬] qt designer 연결  (0) 2022.10.06
[파이썬] 설치  (0) 2022.10.06

파이썬 설치

https://www.python.org/downloads/

3.10.7 버전 설치  Download 클릭

64 비트 설치

 

 

 

Disable path length limit 클릭 - 닫

Cmd - python --version

 

 

 

 

파이참 설치

https://www.jetbrains.com/ko-kr/pycharm/download/#section=windows

 

Create Desktop Shortcut : 바탕화면 바로가기

Update context menu : 마우스 우클릭으로 PyCharm 프로젝트 열기

Create Associations :.py 확장자 연결

Update PATH variable (restart needed) : 윈도우 명령 프롬프트에서 파이참에 접근

 

qt deginer

다운받아서 그냥 설치

https://build-system.fman.io/qt-designer-download

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'공부 > 파이썬' 카테고리의 다른 글

[파이썬] 파이토치 설치  (0) 2024.09.20
[파이썬] qt designer 연결  (0) 2022.10.06
[파이썬] 프로젝트 생성  (0) 2022.10.06

Visual studio 2015에서 2022로 변경하면서

 

솔루션 탐색기에 항목을 클릭 할 때마다 창이 열리는 현상 발생

 

원래는 더블클릭해야 창이 열렸음

 

도구 - 옵션 - 환경 - 탭 및 창 - 미리보기 탭
솔루션 탐색기에서 선택한 파일 미리보기 (미리 보기를 표시하지 않으려면 Alt 키를 누른 채 클릭) (X) - 체크해제

 

해당 예제는  OnCreate 에서 CMFCToolBar  CMFCMenuBar  제거되어 있

 

게임의 전체화면 처럼 보임

EnableFullScreenMainMenu(TRUE);  //메뉴 보임

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
   ...

   EnableFullScreenMode(0);
   EnableFullScreenMainMenu(FALSE);
   ShowFullScreen();
}

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{

   ...
//모니터 해상도 수동입력 
cs.cx = 1920;
cs.cy = 1080;
//모니터 해상도 받아와서 입력
cs.cx = (int)GetSystemMetrics(SM_CXSCREEN);
cs.cy = (int)GetSystemMetrics(SM_CYSCREEN);
   ...

}


void CTestView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();

//기존항목 주석처리
//GetParentFrame()->RecalcLayout();
//ResizeParentToFit();

}

실행화면

그냥 실행시 

 

m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED); 사용시

 

위의코드 사용시

EnableFullScreenMainMenu(TRUE); 사용시

 

참고 :

https://learn.microsoft.com/ko-kr/archive/blogs/pusu/how-to-add-full-screen-mode-in-your-mfc-app-visual-studio-2008-or-later

http://www.tipssoft.com/bulletin/board.php?bo_table=QnA&wr_id=20748

 

'공부 > MFC' 카테고리의 다른 글

[MFC] png Image Load From Resource  (0) 2022.11.29
[MFC] CImage CBitmap HBITMAP 변환  (0) 2022.11.29
[MFC] 전체화면 사용  (0) 2022.11.24
[MFC] 다이얼로그 DLL 만들기  (0) 2022.11.16
[MFC] unordered_map  (0) 2021.10.19

도구 - 옵션 - 디버깅 - 일반 -

응용 프로그램에서 런타임 도구 표시   체크해제

 

사라짐

프로그램을 왔다갔다 하다보면 화면 상단에 해당 창이 생김

 

 

끄는법

시스템 - 멀티태스킹 

창 끌기 끔으로 변경

최상단에 추가 

//시간체크
#include < windows.h >
LARGE_INTEGER Frequency;
LARGE_INTEGER BeginTime;
LARGE_INTEGER Endtime;
#define CHECK_TIME_START QueryPerformanceCounter( &BeginTime );
#define CHECK_TIME_END QueryPerformanceCounter( &Endtime );
#define GET_TIME_SEC(a) QueryPerformanceFrequency(&Frequency); int64 elapsed = Endtime.QuadPart- BeginTime.QuadPart; a = float((double)elapsed / (double)Frequency.QuadPart );
#define GET_TIME_MSEC(a) QueryPerformanceFrequency(&Frequency); int64 elapsed = Endtime.QuadPart- BeginTime.QuadPart; a = float((double)elapsed / (double)Frequency.QuadPart * 1000.0);
//

사용

CHECK_TIME_START;
//동작
Sleep(500);
//
CHECK_TIME_END;
float fTime = 0.0;
GET_TIME_MSEC(fTime);

출처 : https://jangjy.tistory.com/95

 증상 : 주행 도중 엑셀을 밟아도 동작하지 않음

         주변 정차 후 시동을 껏다 켜면 다시 정상 동작

 

 원인 : 스토퍼가 깨져서 센서 오동작으로 인한 현상

 

 해결 : 엑셀레이터 교체 

          SM오토몰에서 악셀 구매

 다른 해결 방법 : 

          엑셀레이터 스토퍼는 따로 팔지 않으나 브레이크패달 스토퍼는 따로판매함

          브레이크 스토퍼 구매하여 스토퍼만 교체하여도 해결 가능    

1. 엑셀레이터 고장 부분 확인

2. 새 엑셀레이터 구매

 3. 교체

 케이블 해체

 

나사 조인 후 케이블 연결

   4. 완료

 

 교체 후 현재까지 (2022년 ,약5년동안) 이상 없음

 

 

 

'산거 > 설치형' 카테고리의 다른 글

[일상] SM3 뉴제너레이션 시트 커버 장착  (0) 2022.09.12

지x켓에서 시트 커버 구매 

 

1 . 헤드에 커버 씌우기

2. 앞좌석 커버 씌우기

 * 등받이는 위에서 엄지손가락에 골무씌우듯이 씌움

 * 의자는 의자위에 커버 올려두고 밑에 끈으로 고정

 

 * 운전석에 의자 조절부분 가위로 잘라내야 함

3. 뒷좌석 커버 씌우기

  1) 뒷좌석 의자 탈거 

   * 의자밑에 보면 당기는 끈이 있는데 당기면 탈거가 됨 

  2) 뒷좌석 등받이 탈거

   * 안전벨트 부근 / 중간 팔걸이 부근  나사 풀기

 

 * 팔걸이 커버를 먼저 씌움

 * 등받이 커버 씌움

* 홈에 맞춰서 뒷좌석 조립

 

 

 

조립끝나면 완성 

 

 

 

 

 

 

'산거 > 설치형' 카테고리의 다른 글

[일상] SM3 뉴제너레이션 엑셀레이터 교체  (0) 2022.09.13

이전에 완성한 상태

 

이렇게 두니 먼지가 소복히 쌓이고 책상에 자리를 자꾸 차지함.

 

보관에 용이하도록 변경하고 싶은 욕구 생김.

 

다른 사람들은 나무상자 모양으로 제작하나 나무상자 모양으로 하기에는 조이스틱레버가 분해가 되어야함

 

내 조이스틱은 저렴해서 분해되지 않음...

 

 

그래도 일단 접히도록 하기위해 주문...

 

 

1. 주문

2. 택배 수령 

 

3. 기존 판 분해

 

  * 라즈베리 GPIO확장 핀 납땜

 4. 조이스틱 재조립

  1) 하판부분 재조립

    * 높이가 낮아짐

    * 다x소에서 구매한 회색 벽지 부착

  2) 상판부분 재조립

  *  가운데 구멍 뚫기

 

* 조이스틱 부분 상하판 조립

 5. 본체 조립

 

    * 볼륨조절과 코인삽입 버튼 추가

  * 임시 배치

 

*  경첩 연결

 6. 모니터 조립

  *  모니터 글루건으로 고정

  7. 덮개 조립 및 고정 핀 조립

  * 덮개 조립

  * 밑판에 미끄럼방지 고무 패드 부착

* 상단 남는 부분 덮개 부착

*  조이스틱과 본체부분 연결 걸쇠 부착

* 옆면 손잡이 부착

 

* 정면 커버 부착

 박스 오려서 벽지 붙이고 양면테이프 고정..

   

* 후면 콘센트 덮개

   물티슈 덮개 사용

 

 8. 전체 모양

   * 앞 뒤

  *  옆면 

 

  * 정면

   가운데 전선은 수축튜프로 감싸서 처리 

 

 

 

뭔가 만들고 나니 삐죽삐쭉 나사들이 올라와잇고 유격도 있어서 이쁘지가 않다.

 

MDF판도 무겁고 모니터도 무거워 무게가 좀 있으나

 

접어서 보관하기는 편리하다.

 

이쁘지가 않아....ㅠㅠ

1. 조이스틱 부품 구매

   MDF 판으로 조립

   MDF 판 주문

 

 2. 택배 수령

 

 

삼덕사 조이스틱 가장 저렴한거...

 

3. 윗판 스케지 후 뚫기 

 

다x소에서 구매

 

하나하나씩 뚫기

 

4. 밑판 전선구멍 뚫고 글루건으로 조립하기

 

 

 

5. 다x소에 파는 벽지 붙이고 버튼 조이스틱 조립

 

 

 

 

6. 버튼에 전선 연결

 

 

 * 핀맵

7. 핀맵대로 라즈베리파이 연결

 

밑판 구멍으로 선 빼기

 

 8. 경첩 달기

  다x소에서 경첩 구매 

    닫히는 부분 자석 부착

  9. tv연결 후 테스트

 

  명절 친척집에 가져가서 조카들 시켜주기 

 

 

 

 

 10. 선정리..

   선정리 미루다 미루다 이사하고나서 작업

   라즈베리파이 케이블과 미니 빵판으로 선 연결  

   스피커 분해하여 내부에 글루건으로 부착

   HDMI to RGB 컨버터 구매하여 부착 

 

  

책상위에 모니터 암 부작 후 모니터 상시 연결 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

한방롬 다운 홈페이지

https://www.arcadepunks.com/pi-images-downloads-page/

 

 

 

토렌트로 다운 받아야 함

 

받은 항목 : [32gb]-King.of.RPI3-Damaso

 

 

파이 종류에 따라 이미지 파일이 다름

 

 

 

 

기존 레트로파이 쓰듯이 사용

 

 

화면

 

왼쪽에 있는 항목들이 에뮬별 게임 선택

 

 

에뮬별 게임 

할줄아는 게임 킹오파 버블버블  메탈슬러그 정도만 있는거 확인하였습니다.

슈퍼마리오도 있습니다.

 

 

준비물

라즈베리파이3

sd카드 16gb

 

버전

레트로파이 : retropie-4.1-rpi2_rpi3

 

 

 

1. 레트로파이 다운로드

 

https://retropie.org.uk/download/

 

2. Win32 Disk Imager 다운로드 및 설치

https://sourceforge.net/projects/win32diskimager/

 

 

에러창 발생시 관리자 권한으로 실행

 

3. SD카드에 레트로파이 설치

    다운받은 레트로파이 img파일 선택 후 write 클릭

완료

 

 4. SD카드 장착

 5. 라즈베리 파이 랜선 연결

     무선랜 설정이 되어있으면 무선랜 사용하여도 무방

 6. 라즈베리파이 부팅시 해당화면 출력

     No Gamepads detected : 입력 장치 없음

                                       키보드 연결되어 있을 경우 1로 나타남

                                       아무버튼이나 꾹 누르면 해당 입력장치의 버튼 설정 가능함

   F4눌러서 터미널 모드 진입

 7. 라즈베리파이 설정 변경

    Sudo raspi-config  입력

  (1) Expand Filesystem 

 

  (5) Interfacing Options  - SSH - Enabled

                                  - VNC - Enabled

  (7) Advanced  Options - Memory Split -  256 적용

 

 8. 재부팅

  sudo reboot

 

 9. 재부팅 후 터미널 모드 다시 진입

  조이스틱 설정 부분  레트로파이 버전과 설치하는 Joystick 버전이 맞지 않으면 조이스틱 인식 안됨

  해당 명령어로는 레트로파이 retropie-4.1-rpi2_rpi3.img 버전 사용가능

  순서대로 명령어 입력

* sudo apt-get update
* sudo apt-get upgrade
* sudo reboot
* sudo apt-get install -y --force-yes dkms cpp-4.7 gcc-4.7 git joystick
* sudo apt-get install raspberrypi-kernel-headers
* wget https://github.com/digitalLumberjack/mk_arcade_joystick_rpi/releases/download/v0.1.4/mk-arcade-joystick-rpi-0.1.4.deb 
* sudo dpkg -i mk-arcade-joystick-rpi-0.1.4.deb
* sudo nano /etc/modules
      mk_arcade_joystick_rpi 
* sudo nano /etc/modprobe.d/mk_arcade_joystick.conf
      options mk_arcade_joystick_rpi map=1,2
* sudo reboot

명령어 동작 예시

10. 재부팅

11. 부팅 완료후 키패드 등록

     6번항목의 No Gamepads detected 부분이 2 Gamepads detected 로 변경됨

     조이스틱 버튼 꾹 누르면 조이스틱 키 설정창이 나타남 (조이스틱이 연결된 상태일때)

    * 2P 키패드 설정 장면

  12. 롬파일 저장

    윈도우+R  -> 라즈베리파이 공유폴더 접속 

    roms에  롬 파일 복사

네오지오에 롬파일 복사한 화면

 13. 실행되지 않는 경우

    바이오스 파일 저장

    압축 풀어서 BIOS에 복사 

 

BIOS.zip
2.80MB

 

14. 한글폰트 적용

 

아래 명령어 순서대로 실행 후 UnDotumBold.ttf  폰트가 존재 하는지 확인  

sudo apt-get install ttf-unfonts-extra
cd  /usr/share/fonts/truetype/unfonts-core
ls -l

(1) 폰트가 존재할 경우 

UnDotumBold.ttf 폰트를 /etc/emulationstation/themes/carbon/art/ 으로 이동

sudo cp /usr/share/fonts/truetype/unfonts-core/UnDotumBold.ttf /etc/emulationstation/themes/carbon/art/UnDotumBold.ttf

/etc/emulationstation/themes/carbon 에서  carbox.xml 의 폰트 변경

sudo nano carbon.xml

변경 전
변경 후

(2) 폰트가 없을 경우 

 

UnDotumBold.ttf
12.65MB

해당 폰트를 Configs로 복사

넣어둔 폰트를 에뮬로 이동
sudo cp /opt/retropie/configs/UnDotumBold.ttf /etc/emulationstation/themes/carbon/art/UnDotumBold.ttf

기존 사용중인 Cabin-Bold.ttf  폰트의 이름 변경 
sudo mv /etc/emulationstation/themes/carbon/art/Cabin-Bold.ttf  /etc/emulationstation/themes/carbon/art/Cabin-Bold2.ttf

복사한 폰트(UnDotumBold.ttf)를 Cabin-Bold.ttf 로 이름변경 
sudo mv /etc/emulationstation/themes/carbon/art/UnDotumBold.ttf /etc/emulationstation/themes/carbon/art/Cabin-Bold.ttf


에뮬 설정에는 Cabin-Bold.ttf 로 저장되어있으므 새로운 폰트를 기존 이름으로 변경하여 사용

 

15. 이미지 미리보기 사용 

    한글 폰트가 적용되어 있어야 이미지 미리보기 적용 후 글자가 깨지지 않음

    각 에뮬에  이미지와 gamelist.xml 파일 복사

gamelist.xml
1.61MB
downloaded_images.z01
18.00MB
downloaded_images.z02
18.00MB
downloaded_images.zip
13.00MB

 

 

적용된 이미지

 

원인 

사용자 이름과 전체이름이 달라서 발생

원도우 설치시 설정한 이름에서 윈도우 설치 후 이름 변경시 발생

 

해결방법  

윈도우 + r    -  netplwiz -  사용자 계정 - 사용자 - 사용자 이름 클릭  - 속성 - 사용자이름 / 전체이름 일치화 

 

비밀번호 변경 설정, 원격 저장 정보삭제 후 재로그인 등 검색해본 것들 해보았으나 잘 안되서 이것저것 해보다 찾게됨

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

기존 엑셀 함수

DEC2BIN(값, 자리수)  //자리수 : 빈자리를 0으로채워서 글자수 맞춰줌

=DEC2BIN(100)
결과 
1100100

=DEC2BIN(100,10)
결과 
0001100100

 

* 512부터는 #NUM! 값이 나타남

 

모듈 사용

Alt + F11

메뉴 - 삽입 - 모듈 - 아래 코드 붙여넣기 - 저장

Function decToBin(Dec As Long) As String

  Do
    decToBin = CStr(Dec Mod 2) & decToBin
    Dec = Dec \ 2
  Loop Until Dec = 0

End Function


Function binToDec(Bin As String) As Long

  For i = 1 To Len(Bin)
    binToDec = binToDec * 2 + CInt(Mid(Bin, i, 1))
  Next

End Function

=decToBin(512)
결과
1000000000

=decToBin(1000)
결과
1111101000

 

 

 

 

 

//출처 : https://mwultong.blogspot.com/2007/01/excel-vba-2-10-dec-to-bin-bin-to-dec.html

 

 CTime time = CTime::GetCurrentTime();
 CString str = time.Format("%Y년 %m월 %d일"); // %들은 포맷 종류 (아래 참고)
 AfxMessageBox(str);

//
CTime::GetCurrentTime().Format("%Y%m%d%H%M%S");

 

 

%y - 뒤 2자리 (09)

%Y - 전체 (2009)

 

%m - 01~12 (03)

%b - 영어 3글자 (Mar)

%B - 영어 전체 (March)

 

%d - 01~31 월 기준 (10)

%j - 001~365 년 기준 (069)

 

%H - 00~23 24시 기준 (14)

%I (대문자 아이) - 01~12 12시 기준 (02)

 

%M - 00~59 (12)

 

%S - 00~59 (15)

 

요일

%a - 요약 (Tue)

%A - 요일 (Tuesday)

%w - 일요일 0 기준 (2)

%U - 00~53 년기준으로 시작주 일요일 (10)

%W - 00~53 년기준으로 시작주 월요일 (10)

 

기타

%p - AM/PM (PM)

%x - 월/일/년 (03/10/09)

%X - 시:분:초 (14:12:15)

%c - 월/일/년 시:분:초 (03/10/09 14:12:15)
%% - % 기호 (%)

%z, %Z - 시간대 이름 (대한민국 표준시)

 

 

참고 : http://www.devlab.pe.kr/10

 


// Type
// 0: 파일 경로만 복사
// 1: 파일 이름만 복사
// 2: 파일 확장자 복사
// 3: 확장자를 뺀 파일명 복사
// 4: 2번케이스의 파일 확장자에서 .을 뺌.
CString strClip(CString str, int nType)
{
 //파일 Full Path를 복사
 TCHAR szTmp[4096];
 StrCpy(szTmp, str);
 CString strTmp;

 CString strResult = _T("");

 switch(nType)
 {
 case 0:
  //파일의 경로만 복사.
  PathRemoveFileSpec(szTmp);
  strResult = szTmp;
  break;

 case 1:
  // 1: 파일 이름만 복사
  strResult = PathFindFileName(szTmp);
  //strResult = szTmp;
  break;

 case 2:
  // 2: 파일 확장자 복사
  strResult = PathFindExtension(szTmp);
  break;

 case 3:
  // 3: 확장자를 뺀 파일명 복사
  strTmp = PathFindFileName(szTmp);
  ZeroMemory(szTmp, 4096);
  StrCpy(szTmp, strTmp);
  PathRemoveExtension(szTmp);
  strResult = szTmp;
  break;

 case 4:
  // 4: 2번케이스의 파일 확장자에서 .을 뺌.
  strResult = PathFindExtension(szTmp);
  strResult = strResult.Right(strResult.GetLength()-1);
  break;
 }


 return strResult;
}


출처: https://blog.naver.com/just720/40206748318

폴더선택 다이얼로그

 BROWSEINFO BrInfo;
TCHAR szBuffer[512];                                      // 경로저장 버퍼 

::ZeroMemory(&BrInfo, sizeof(BROWSEINFO));
::ZeroMemory(szBuffer, 512);

BrInfo.hwndOwner = GetSafeHwnd();
BrInfo.lpszTitle = _T("파일이 저장될 폴더를 선택하세요");
BrInfo.ulFlags = BIF_NEWDIALOGSTYLE | BIF_EDITBOX | BIF_RETURNONLYFSDIRS;
LPITEMIDLIST pItemIdList = ::SHBrowseForFolder(&BrInfo);
::SHGetPathFromIDList(pItemIdList, szBuffer);               // 파일경로 읽어오기

        // 경로를 가져와 사용할 경우, Edit Control 에 값 저장
CString str;
str.Format(_T("%s"), szBuffer);
SetDlgItemText(IDC_EDIT2, str);  

 

파일선택 다이얼로그

CString str = _T("All files(*.*)|*.*|"); // 모든 파일 표시
//CString strFilter = _T("Image File(*.BMP;*.JPG) | *.BMP;*.JPG; | All Files(*.*) | *.* || ");
// _T("Excel 파일 (*.xls, *.xlsx) |*.xls; *.xlsx|"); 와 같이 확장자를 제한하여 표시할 수 있음
CFileDialog dlg(TRUE, _T("*.dat"), NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, str, this);
//CFileDialog dlg(TRUE, NULL, NULL, OFN_FILEMUSTEXIST | OFN_ALLOWMULTISELECT, strFilter, NULL);

if (dlg.DoModal() == IDOK)
{
CString strPathName = dlg.GetPathName();
                // 파일 경로를 가져와 사용할 경우, Edit Control에 값 저장
SetDlgItemText(IDC_EDIT1, strPathName);  
}

 

출처 : https://psmkr0225.tistory.com/192

티스토리 첫 화면 특정 게시글 저장

 

1. 티스토리 관리 페이지 

2. 꾸미기 - 스킨편집 - html 편집 

3. </head> 검색 

4. </head> 아래 해당 코드 저장 - 적용

<script type="text/javascript">
if ( window.location.pathname == '/' ) 
{    
 location.href = '게시글 주소';
}
</script>
 

 

 

만들기 - 프로그램

[프로그램]HEIC to JPG 변환 코드 프로그램

[프로그램] 퍼스널컬러 체크 프로그램


만들기 - 장치

[장치]전동 드라이버 만들기

[장치] 레트로파이_라즈조이스틱_설치

[장치] 레트로파이_라즈조이스틱_설치2_한방롬

[장치] 레트로파이_라즈조이스틱_설치3_조이스틱

[장치] 레트로파이_라즈조이스틱_설치4_조이스틱 개조

[장치] 레트로파이_라즈조이스틱_설치5_조이스틱 이동식

 

 

 

만들기 - 초기설정

[설정]텔레그램 봇 설정

 

 

만들기 - 이것저것

*****************************************************************************

산거 - 조립형

 

산거 - 완제품

[완제품] 갤럭시 XANOVA MAGNETAR 기계식 키보드 (영문)(청축)

[완제품] 갤럭시 XANOVA MAGNETAR RGB 기계식 키보드 체리갈축

 

산거 - 설치형

[일상] SM3 뉴제너레이션 시트 커버 장착

[일상] SM3 뉴제너레이션 엑셀레이터 교체

 

 

 

*****************************************************************************

공부 - MFC

[MFC] unordered_map

[MFC] SDI 전체 화면

[MFC] 다이얼로그 DLL 만들기

[MFC] CImage CBitmap HBITMAP 변환

[MFC] png Image Load From Resource

[MFC] std::list 를 std::vector로 복사

[MFC] FormView에 생성된 editbox 에 CTRL+C,CTRL+V 안 될 때 해결 방법

 

 

 

공부 - MFC 자주쓸거

[MFC] 파일 폴더 선택 다이얼로그 띄우기

[MFC] 현재시간 가져오기, 시간체크

[MFC]메인프레임 포인터 얻기

[MFC] 폴더내 파일 탐색

[MFC]레지스트리에 데이터 저장

[MFC] 작업표시줄 숨기기

[MFC]리스트박스 데이터 추가

[MFC] 중복실행 방지

[MFC] 다이얼로그 엔터키 막기 _키보드메세지_PreTranslateMessage

[MFC] 실행파일 경로

[MFC] 문자열 변환 CString , BYTE*

[MFC] 문자열 변환 CString, const *char (CT2A , T2A)

[MFC] 문자열 변환 CString , Char* 유니코드 환경

[MFC] 문자열변환 string , 

[MFC] 모든 파일 경로 가져오기 C++라이브러리 <filesystem>

[MFC] CString 경로, 파일명, 확장자 자르기

[MFC] 현재 시간 얻기 CTime GetCurrentTime()

[MFC] 처리시간 체크

[MFC] 파일 존재 여부 체크

[MFC] 실행파일 경로

[MFC] 리스트 박스 값 가져오기 ListBox

[MFC] CStdioFile txt 파일 읽기 쓰기

[MFC] Queue 초기화

[MFC] 파일열기 대화상자 CFileDialog

[MFC] ::FindWindow 윈도우 클래스 설정

[MFC] DateTimePicker 값 설정하기

[MFC]Map value 값에 데이터 여러개 사용 pair tuple

 

 

 

 

 

 

 

공부 - MFC 설정_에러

[MFC설정] C++ 코드 경고 밑줄 녹색 초록색

[MFC설정]새 프로젝트 생성 위치 지정

[MFC설정] BuildLogs 빌드로그 , 출력디렉토리 , IPCH

[MFC에러]MFC SDI에서 Copy, Paste 안될때

[MFC에러] Thread 사용중 쓰레드 종료시 Memory Leak 발생

[MFC에러] Assert debug_heap.cpp Line: 980 Expression: __arct_first_block == header

[MFC설정] Visual Studio 2019 설치 후 우클릭 메뉴에 한자

[MFC설정] Visual Studio 솔루션 탐색기 한 번 클릭으로 창 열리는 현상 더블 클릭으로 변경

[MFC설정] Visual Studio 버전 별로 열기

[MFC에러] C2338 The C++ Standard doesn't provide a hash for this type.

[MFC기능] Visual Studio DB 비교 Sql Server Data tools

[MFC기능] Visual Studio 이미지 미리보기 opencv Mat

[MFC에러] visual studio 2015 프로젝트 실행 후 잠시 응답없음 표시

[MFC에러] visual studio 2015 디버거시 유효한 작업 디렉터리가 아닙니다

 

 

 

 

공부 - C#

[C#] HEIC to JPG 변환 코드 Magick.NET-Q16

[C#] 스레드 내에서 타이머 실행이 안될때

 

 

공부 - C#_자주쓸거

[C#][Winform] ListBox, ListView, TextBox 가장 아래 포커스

[C#][Winform] 쓰레드 내부에서 컨트롤 수정

 

공부 - C#_설정_에러

[C#설정]Nuget위치 설정

[C#] 디버깅 중 DataTable 내용 보기 (시각화도우미)

[C#] 실행 제한 시간을 초과했습니다

[C#] 60초 이상 실행시 프로그램 중단되는 에러 예외처리

[C#설정] 디버깅 시 라이브 시각적 트리 제거

 

 

공부 - SQL

[MSSQL설정] DB복원시 MDF기본 위치 설정

[MSSQL] 특정 문자열 변경 Replace

[MSSQL] 중복 데이터 삭제

[MSSQL] 특정 문자 변경 쿼리

[Oracle] 테이블 컬럼 변경

[MSSQL] 테이블 수정 시 오류_테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함

[Oracle] 세션강제종료

[Oracle] 일정 시간 경과 후 연결 끊김

[MSSQL] NVL 사용법

[MSSQL] 테이블 수정시 에러

[MSSQL] 주의 대상

[MSSQL기능] 상위 N개 행 편집

[SQL] 데이터베이스 DB 마이그레이션 MSSQL to PostgreSQL 복사

[postgresql] 이름의 릴레이션(relation)이 없습니다 에러

[MSSQL] 윈도우11 MSSQL 사용시 전자 변경 현상

[MSSQL] 트랜잭션 로그가 ACTIVE_TRANSACTION 로 인해 꽉 찼습니다

[postgresql][pgAdmin4] DB백업실패 Failed (exit code: 3221225781). 에러

 

 

 

 

공부 - 엑셀

2022.08.19 - [공부/엑셀] - [엑셀] 10진수를 2진수로 변환

 

공부 -  기타정보

[기타정보] TortoiseSVN 에서 Compare 외부 프로그램 설정

[기타정보] VisualStudio 검색 느릴때

[기타정보]윈도우 버전 별 .NET Framework 버전

 

 

공부 - 개발보드

[개발보드] 아두이노 Mini D1 nRF24L01

[개발보드] M5Stack ESP32 초기셋팅

 

 

 

 

*****************************************************************************

유용한 - 팁

[팁] 티스토리 첫페이지

[팁]티스토리에 유투브 동영상 올리기

[공유기][ASUS] Asus 공유기 비밀번호 특수문자 우회

[공유기][ASUS] Asus 공유기 DDNS 비활성화 해제

 

 

 

유용한 - 프로그램

 

유용한 - 사이트

[알리] 알리 등록된 카드 삭제

[사이트] 텍스트 이미지

 

 

유용한 - 기타정보

[기타정보] 신한 포인트 전환

 

유용한 - 윈도우

[윈도우] 우클릭 메뉴 추가

[윈도우] 윈도우에서 HEIC 보기

[윈도우] 자동로그인 옵션 설정

[윈도우] 원격접속 사용시 기타 사용자

[윈도우] 윈도우 업데이트 (KB5034441) 오류 (0x80070643)

[윈도우] User Profile Service 서비스에서 실패했습니다 . 윈도우10 로그온 에러 관련

[윈도우] 우클릭 - 새로만들기에 항목 제거

 

 

 

 

유용한 - 윈도우11

[윈도우11] 설정에 이메일 거슬릴때

[윈도우11] 자동으로 다시 시작 해제

[윈도우11] 날짜에 요일표시

[윈도우11] 광고 설정

[윈도우11] 필기 입력 및 키 입력 개인 설정 끄기

[윈도우11] 피드백 진단 기록 끄기

[윈도우11] 활동기록 제거

[윈도우11]검색기록 제거

[윈도우11] 팁 제안 비활성화

[윈도우11] 시작에서 검색시 웹검색 비활성화

[윈도우11] 노트북 시작시 NumLock 활성화

[윈도우11] 우클릭 윈도우10처럼 더 많은 옵션 표시 제거

[윈도우11] 최근파일제거 / 파일탐색기열기 내PC

[윈도우11] 알림 끄기

[윈도우11] 최근 추가된 앱 표시 / 가장 많이 사용하는 앱 표시 제거

[윈도우11] 바탕화면 아이콘 표시

[윈도우11] 작업표시줄 왼쪽으로 밀기

[윈도우11] 화면 나누기 설정 끄기

 

 

 

 

'Main' 카테고리의 다른 글

테스트  (0) 2024.02.16

+ Recent posts