자작 키패드 3호기는 사실 스위치 스왑이 가능하다

대충 뒷판에서 꾹꾹 눌러주면 스위치가 쇽쇽 빠지는 구조.

 

누르는 맛이 더 좋은 카일 박스 백축(클릭)으로 올스왑

 

 

키패드를 만들다보니 주화입마에 빠져서 오쏘리니어 키보드를 설계해보고있다.

 

아두이노 프로 마이크로에서 쓸 수 있는 핀이 16개라 12*4 플랭크로 설계했다.

이름은 오쏘리니어 키보드라 오쏘리. 푸하하하하ㅏ

 

이쪽은 아마도 만들어도 거의 장식용으로 쓰지않을까

'Diary' 카테고리의 다른 글

근황  (0) 2021.09.12
아두이노 키보드 관련 이것저것  (0) 2021.08.17
아두이노 커스텀 키패드  (0) 2021.08.07
Yee루다  (0) 2021.01.14
그랑하 라 에스페란자 만델라 내추럴 서비스팩 리뷰  (0) 2020.10.25
물샌다  (0) 2020.08.02

 

만들어보면서 느낀점을 정리해보는 글

 

더보기

1. 아두이노라고 모두 같은게 아님

아예 베이스가 없는 상태에서 만져본거라 나만 실수한 걸 수도 있는데 아두이노 나노랑 프로랑 용도가 다름.

C타입 usb 달린게 나노 밖에 없어서 나노로 샀는데 이건 독립적으로 구동되는 장치에 쓰이는 아두이노였음

키보드같이 컴터에 꽂아서 USB 장치로 쓸거면 레오나르도 보드에서 갈라져 나온 프로, 비틀 이런애들을 써야함.

그리고 아두이노 프로 마이크로랑 아두이노 비틀 중에 어느걸 골라 쓸건지는 크기랑 핀 수를 보고 고르면 됨.

필요한 핀 수는 키보드 매트릭스(전자 회로 부분)를 어떻게 짤지 먼저 생각하고 선택할 것.

 

 

2. CAD같은 유료 프로그램 필요없음

Sketch Up 체험판 (30일)으로 설계했고 2D 그래픽 내보내기 기능으로 DWG 파일 뽑아서 아크릴 재단 맡겼음.

온라인 무료 캐드도 써봤는데 사용감이 끔찍해서 출력한 도면 확인용으로만 썼고

설계 요소가 좀 많아지면 온라인 뷰어는 로딩이 엄청 길어지는데 이땐 무료 도면 프로그램 받아서 보면 됨.

내가 쓴 곳은 여기 : https://en.dwgfastview.com/flash/touploadfile

 

스케치업에서 캐드용 도면 파일 뽑는 법은 네이버 검색해보면 많이 나옴

주의할건 아크릴 재단 맡길 곳에서 특정 버전의 캐드 파일을 요구하는 경우가 있으므로

내보내기 할때 옵션에서 잘 선택해서 뽑아줄 것.

난 오토 캐드 2010 버전으로 출력했음.

 

 

3. 설계시 치수는 가급적 직접 재봐야함

13.9 * 13.9mm로 스위치 홀을 설계할경우 유격이 생각보다 크다고 함

나 같은 경우 가로 13.9 세로 13.85 사이즈로 설계했고, 스위치 걸쇠 부분이 눌려 들어가면서 딱 맞는 크기였음.

(물론 그래도 비키 스타일은 스위치가 빠지면 망가질 수 있으므로 글루건으로 붙여주는게 좋음)

스위치 쪽은 유격이 있으면 만들때나 실제 사용할때나 짜증날 수 밖에 없는 부분이므로 직접 재서 만드는게 좋음.

아두이노 공간이나 usb 포트 길이, 이런 부분들도 가급적이면 상상으로 만들지 말고 실물 측정으로 만들 것.

 

 

4. 아크릴 재단 맡길때 오프셋은 업체에 미리 확인하고 맡길 것

3D 프린터로 뽑아 쓰는게 아니고 업체에 아크릴 하우징을 맡기는 경우 레이저 가공 혹은 CNC 가공을 선택하는데

레이저가공은 0.5mm정도, CNC는 0.2mm정도의 추가 절삭면이 발생할 수 있음.

오차만 놓고 보면 당연히 CNC로 맡겨야 하는거 아니야? 라고 생각할 수 있지만

CNC 특성상 절삭면이 매끄럽지 않고 모서리가 날카로워서 보통은 레이저 가공으로 하우징을 만들게 됨.

문제는 설계할 때 이 절삭 단차를 포함해서 설계해야 하는 업체가 있고, 포함하면 안되는 업체가 있음

자작 키보드 하우징쪽에서 입소문으로 유명한 하나 아크릴의 경우 이런 단차를 고려해서 설계해야하고,

아코박스같은경우 단차는 포함하지않고 설계해서 보내주면 업체에서 단차를 고려해 도면을 수정해줌.

또 업체마다 견적 가격이 다르므로 가능하면 여러 업체에 견적을 받아보는게 좋음.

 

 

5. 키보드 매트릭스 설계

거의 유일한 전자회로 부분인데 크게 저항 매트릭스 / 다이오드 매트릭스로 나늬고, 보통은 두가지를 섞어 씀.

저항식은 전압 강하를 이용해 키를 스캔해오는 방식인데 필요한 핀 수가 적은대신 동시 입력이 안되고

다이오드는 회로가 도통됏는지 안됏는지로 키를 스캔하는 방식으로 필요한 핀 수는 많지만 동시 입력이 가능함.

예를 들어 6키 키패드를 만든다면 저항식 매트릭스로 아날로그핀 + 디지털 핀 총 2개 핀으로 만들 수도 있고,

다이오드 매트릭스로 아날로그나 디지털핀 구분 없이 2핀 + 3핀 총 5개 핀으로 만들 수도 있음.

일반적인 키보드의 경우 키가 120개 정도 필요하고 동시입력도 필요하므로 위의 두가지 방법을 섞어 설계함.

 

※ 이번에 만든 키패드의 경우 동시입력이 중요해서 다이오드 매트릭스로 제작했음.

※ USB 키보드는 동시 입력 수가 6개임. 무한 동시입력은 애초부터 불가능 하니 생각없이 병렬회로 수를 늘리지 말 것.

 

 

생각나는대로 추가해야지

'Diary' 카테고리의 다른 글

근황  (0) 2021.09.12
아두이노 키보드 관련 이것저것  (0) 2021.08.17
아두이노 커스텀 키패드  (0) 2021.08.07
Yee루다  (0) 2021.01.14
그랑하 라 에스페란자 만델라 내추럴 서비스팩 리뷰  (0) 2020.10.25
물샌다  (0) 2020.08.02

여름 휴가동안 뭘할까 하다가 아두이노를 만져보기로 했다.

첫번째 프로젝트는 제일 만만해보이는 커스텀 키패드.

커스텀 가능한 4x4 매트릭스에 ESC키, 키 팔레트를 스왑할 수 있는 Fn 키를 추가해서 디자인했다.

 

아래는 코드.

키 팔레트는 배열로 구성돼있고 팔레트 스왑용 Fn키는 토글로 작동한다.

A0~A3 핀에 순차적으로 인풋을 넣고 A4~A7을 스캔해서 키 입력을 출력한다.

아직은 테스트 전이므로 실제 작동하는지는 해봐야알듯

인풋쪽 전압이 올라가면 키가 입력되도록 코드를 짰는데,

인풋 중 하나에 전압이 가해지면 GND로 빠져나갈때까지 계속 키입력 신호가 들어가는걸로 보인다

일단 실패한 코드같아서 수정 필요.. 

 

더보기

#include <Keyboard.h>
//Key Set
const byte Pin_X[4] = {A0, A1, A2, A3};
const byte Pin_Y[4] = {A4, A5, A6, A7};
const int DT = 50;
int FN = 0;
uint8_t KeySet[2][4][4] =
{
  {
    {'1', '2', '3', '4'},
    {'q', 'w', 'e', 'r'},
    {'a', 's', 'd', 'f'},
    {'z', 'x', 'c', 'v'}
  },
  {
    {'a', 'b', 'c', 'd'},
    {'e', 'f', 'g', 'h'},
    {'i', 'j', 'k', 'l'},
    {'m', 'n', 'o', 'p'}
  }
};

void setup()
{
  Serial.begin(9600);
  Keyboard.begin();
  for (int Ix = 0 ; Ix < 4 ; Ix++ )
  {
    pinMode(Pin_X[Ix], OUTPUT);
  }
  for (int Iy = 0 ; Iy < 4 ; Iy++ )
  {
    pinMode(Pin_Y[Iy], INPUT);
  }
  pinMode(0, OUTPUT);
  pinMode(1, INPUT);
  pinMode(2, INPUT);
}

void loop()
{
  digitalWrite(0, HIGH);
  if (digitalRead(1, HIGH))  //ESC
  {
    Keyboard.press(KEY_ESC);
    delay(DT);
    Keyboard.releaseAll();
    delay(DT);
  }

  if (digitalRead(2, HIGH))  //FN
  {
    if (FN == 0) FN = 1;
    else FN = 0;
    delay(DT);
  }
  digitalWrite(0, LOW);

  for (int Kx = 0; Kx < 4; x++)  //Key Matrix
  {
    digitalWrite(Pin_X[Kx], HIGH);
    for (int Ky = 0; Ky < 4; y++)
    {
      if (digitalRead(Pin_Y[Ky]), HIGH)
      {
        Keyboard.press(KeySet[FN][Kx][Ky]);
        delay(DT);
        Keyboard.release(KeySet[FN][Kx][Ky]);
        delay(DT);
      }
      else
      {
        Keyboard.release(KeySet[FN][Kx][Ky]);
      }
    }
    digitalWrite(Pin_X[x], LOW);
  }
}

 

 

결국 새로 수정한 코드.

요건 잘된다!

 

더보기

#include <Keyboard.h>
//Key Set
const byte Pin_X[4] = {A0, A1, A2, A3};
const byte Pin_Y[4] = {4, 5, 6, 7};
const int DT = 100;
int FN = 0;
uint8_t KeySet[2][4][4] =
{
  {
    {'1', '1', '1', '1'},
    {'2', '2', '2', '2'},
    {'3', '3', '3', '3'},
    {'4', '4', '4', '4'}
  },
  {
    {'a', 'b', 'c', 'd'},
    {'e', 'f', 'g', 'h'},
    {'i', 'j', 'k', 'l'},
    {'m', 'n', 'o', 'p'}
  }
};

void setup()
{
  Serial.begin(9600);
  Keyboard.begin();
  for (int Ix = 0 ; Ix < 4 ; Ix++ )
  {
    pinMode(Pin_X[Ix], INPUT_PULLUP);
  }
  for (int Iy = 0 ; Iy < 4 ; Iy++ )
  {
    pinMode(Pin_Y[Iy], OUTPUT);
  }
  pinMode(10, OUTPUT);
  pinMode(8, INPUT_PULLUP);  //ESC
  pinMode(9, INPUT_PULLUP);  //FN
}

void loop()
{
  digitalWrite(10, LOW);
  if (digitalRead(8))  Keyboard.release(KEY_ESC);
  else
  {
    Keyboard.press(KEY_ESC);
    delay(DT);
  }
  if (digitalRead(9) == LOW)
  {
    if (FN == 1)  FN = 0;
    else  FN = 1;
    delay(DT);
  }
  digitalWrite(10, HIGH);
  
  for (int Kx = 0; Kx < 4; Kx++)  //Key Matrix
  {
    for (int Ky = 0; Ky < 4; Ky++)
    {
      digitalWrite(Pin_Y[Ky], LOW);
      if (digitalRead(Pin_X[Kx]))  Keyboard.release(KeySet[FN][Kx][Ky]);
      else
      {
        Keyboard.press(KeySet[FN][Kx][Ky]);
        delay(DT);
      }
      digitalWrite(Pin_Y[Ky], HIGH);
    }
  }
}

 

완성~🤗

'Diary' 카테고리의 다른 글

근황  (0) 2021.09.12
아두이노 키보드 관련 이것저것  (0) 2021.08.17
아두이노 커스텀 키패드  (0) 2021.08.07
Yee루다  (0) 2021.01.14
그랑하 라 에스페란자 만델라 내추럴 서비스팩 리뷰  (0) 2020.10.25
물샌다  (0) 2020.08.02

Yeeruda.psd
2.95MB

 

힙한 감성의 트로피컬 Yee루다

'Diary' 카테고리의 다른 글

아두이노 키보드 관련 이것저것  (0) 2021.08.17
아두이노 커스텀 키패드  (0) 2021.08.07
Yee루다  (0) 2021.01.14
그랑하 라 에스페란자 만델라 내추럴 서비스팩 리뷰  (0) 2020.10.25
물샌다  (0) 2020.08.02
요즘 취미  (0) 2020.06.13

 

최근에 디씨 차갤러리에서 게이샤게이샤 게샤따리 게샤따 신나는 노래

다들 아주 게이샤에 환장해서 노래를 불러제끼길래 게이샤를 한번 사봤다.

 

그렇다고 오늘 마셔본게 게이샤는 아니고;;

루우가 추천해준 로스터리 써클 이라는 곳에서 게이샤를 5만운 어치나 샀더니

만델라를 서비스로 한팩 넣어주셨길래 오늘 마셔본 리뷰를 적어 본다.

 

 

 

만델라면 그래두 가격이 꽤 나가는 원두인거 같아서 어쩐일로 이 귀한걸 주셨을까 찾아봣더니

 

 

아니나 다를까 로스터리 대표님의 원픽이라는 리뷰가.. 대표님 감사합니당 😘

 

노트에 라즈베리 골드키위 라임 와인 요거트 이런 신맛나는건 다 적어놓은 녀석인데

사실 개인적으로 커피에서 산미 나는걸 오지게 싫어해서..

대표님에게는 좀 죄송한 리뷰가 되겠다.

 

 

 

 

아무튼 배송받은지도 한 일주일 됐으니 가스도 왠만큼 빠졋을거 같고

더 이상 무슨맛인지 궁금해 하는 것도 지쳐서 바로 개봉

 

 

 

 

(대충 분쇄해서 바스켓에 대충 담고 탬핑 해줫따는 내용)

 

그라인더가 모카포트 쓰던 시절에 산거라 칼날형 싸구려를 사놔서 분쇄 균일도가 좀 꾸진데

어찌어찌 손으로 흔들어가며 잘 갈아주면 에스프레소 머신에도 쓸만하게 나와서 다행..

 

포장 뜯을 때도 그랬지만 원두는 달콤한 프루티 + 요거트 향이 엄청 짙어서 좋았다.

 

 

 

 

어제 껌정물문제에서 [이런 글]을 봐버려서 뭣도 모르고 첫빵은 좀 오래 뽑아봣다.

 

첫잔 리뷰 :

뭔가 잘못 뽑은 건지 한약 냄새남
계속 맡으니까 뭔가 요거트향 올라오기 시작했는데 그래도 한약 냄새남

맛은 약한 산미 + 끝에 뭔가 찝찔한 맛이... 잘못 만든게 분명한거 같음..;;;
묵직한듯 하면서 부드러운 질감이 잇음

맛 솔직히 내 취향이랑 정 반대라 개끔찍했음..
두 모금 마시고 남은거 물타서 마셔보고 다 버림;;

 

그리고 바스켓 하부 스크류캡? 에스프레소 나오는 부분이

나중에 말랏을때 만져보니까 약간 끈적했는데 뭔지 모르겟음;

분명 세척할땐 그런거 없엇는데 과육 좀 남겨서 만드는 원두라서 그런건가?

 

 

 

 

솔직히 첫잔은 내 취향에서 벗어난걸 넘어서

맛대가리가 너무 끔찍하게 없어가지구

이건 100% 분명 내가 잘못 뽑앗다는 결론에 도달했다.

 

아무래도 약배전 산미 조진다고 오래 뽑은게 제대로 망쳐먹은거 같아서 이번엔 짧게 추출.

 

두번째 잔 리뷰 :

코가 맛이 간건지는 모르겠지만 이번엔 향이 좀 맡을만하게 올라와서 킁카킁카 해봣는데
솔직히 라즈베리? 라임? 다 잘 모르겟고 요거트향이랑 뭔가 맡아본적 없는 향이 섞여있었음

그냥 요거트 느낌이랑 라즈베리가 지배적인거 같은데;;;
골드키위 라임 와인 화이트 초콜렛.. 응애 나 애기 그런거 잘 몰라 응애..

맛은 여전히 산미랑 뭔지모를 떫은..? 뭔가 잘 모르겠는데 아무튼 내취향은 아니었다 🤔
1샷 1샷 하지말고 2샷 한번에 내리고 얼음 와방넣어서 아이스로 먹는게 나앗으려나

두번째 잔은 확실히 추출시간 줄여서 그런가 찝찔한 맛은 없어졋고
부드러운 질감이 있어서 산미만 아니면 마실만 했음.

 

 

 

응애 나 애기 마무리 할줄 몰라 맘마조

담엔 게이샤 리뷰로 돌아올거야 응애

 

'Diary' 카테고리의 다른 글

아두이노 커스텀 키패드  (0) 2021.08.07
Yee루다  (0) 2021.01.14
그랑하 라 에스페란자 만델라 내추럴 서비스팩 리뷰  (0) 2020.10.25
물샌다  (0) 2020.08.02
요즘 취미  (0) 2020.06.13
롤토체스 UI 개선안  (0) 2020.04.02

비가 쏟아지니 원룸(사실상 고시원) 창틀과 에어컨에서 물이 샌다

장마라도 지나야 이사를 가던가 할텐데 그 전에 살림살이 다 썩어서 가게 생겼넹

 

이 와중에 내가 패트론과 광고없는 떼껄룩으로 월 200을 번다는 루머가 돌던데 정말 그랬으면 좋겠다..ㅋㅋ

 

 

'Diary' 카테고리의 다른 글

Yee루다  (0) 2021.01.14
그랑하 라 에스페란자 만델라 내추럴 서비스팩 리뷰  (0) 2020.10.25
물샌다  (0) 2020.08.02
요즘 취미  (0) 2020.06.13
롤토체스 UI 개선안  (0) 2020.04.02
끼적끼적  (3) 2019.07.15

레고 미피 시즌20 한박스 사서 하루에 한개씩 까고있음;;

 

 

'Diary' 카테고리의 다른 글

그랑하 라 에스페란자 만델라 내추럴 서비스팩 리뷰  (0) 2020.10.25
물샌다  (0) 2020.08.02
요즘 취미  (0) 2020.06.13
롤토체스 UI 개선안  (0) 2020.04.02
끼적끼적  (3) 2019.07.15
2018년 마지막 저녁  (2) 2019.01.01

하다하다 너무 답답해서 만든 짤 ㅡㅡ

라이엇은 반성하라

 

'Diary' 카테고리의 다른 글

물샌다  (0) 2020.08.02
요즘 취미  (0) 2020.06.13
롤토체스 UI 개선안  (0) 2020.04.02
끼적끼적  (3) 2019.07.15
2018년 마지막 저녁  (2) 2019.01.01
개인적으로 연구해서 적는 로아 기공사 스킬트리  (0) 2018.12.17

블로그에 포스팅할게 없어서 올리는 그동안 그린 것들

 

 

빅ㄷㄷ님 전용 디코 아이콘

 

땡ㅊㅂ님 전용 디코 아이콘

 

보ㄴㄴ님 전용 디코 아이콘

 

빅ㄷㄷ님 전용 디코 아이콘2 (위에껀 너무 오래돼서 새로 그림)

 

제ㄹ님 전용 디코 아이콘

 

바부 양아지 팬아트 크레파스버전

 

바부 양아지 배경화면

 

이거 외에도 몇개 더 잇엇던거같은데 생각나는대로 추가해야지 ~_~

'Diary' 카테고리의 다른 글

요즘 취미  (0) 2020.06.13
롤토체스 UI 개선안  (0) 2020.04.02
끼적끼적  (3) 2019.07.15
2018년 마지막 저녁  (2) 2019.01.01
개인적으로 연구해서 적는 로아 기공사 스킬트리  (0) 2018.12.17
로아 오픈베타 후기  (4) 2018.11.10
  1. sgm 2019.08.22 23:47

    ㅋㅋㅋ

  2. 엘다아르카디아 2019.09.01 00:35

    오홍 귀엽네요,,고양이요 ^^


    양아지는 유튜브 스트리머아닌가요?

길고 길었던 2018년이 드디어 마무리됐다.


마지막으로 먹은 저녁식사를 정리하며 시원섭섭하게 한해를 떠나보낸다.




허브솔트와 참기름을 넣고 쪄준 양송이와


시즐링을 진하게 뿌린 웰던 큐브 스테이크


접시 테두리 닦고 찍을껄 뭔 개밥같이 찍혓네





2018년에 마신 맥주중 최고를 꼽으라면 망설임없이 에델바이스를 꼽겠지만


사오는 족족 호다닥 마셔버리다보니 남아있을리 만무하고


결국 냉장고에 남아있던 마지막 쉐퍼호퍼가 마무리해줬다.


으으 막타충 극혐






모두 새해 복 많이 받으세요.

'Diary' 카테고리의 다른 글

롤토체스 UI 개선안  (0) 2020.04.02
끼적끼적  (3) 2019.07.15
2018년 마지막 저녁  (2) 2019.01.01
개인적으로 연구해서 적는 로아 기공사 스킬트리  (0) 2018.12.17
로아 오픈베타 후기  (4) 2018.11.10
오랜만의 포스팅. 로아 사전생성 후기.  (0) 2018.10.30
  1. 감두루리 2019.01.09 15:02

    젠봇님 감기조심하시고 새해복많이바다부럿!

+ Recent posts