반응형

액추에이터(Actuator)는 시스템을 움직이거나 제어하는 데 쓰이는 기계 장치이다. 그 중 리니어 액추에이터(Linear Actuator)는 모터의 선형 운동을 직선 운동으로 바꿔 주는 장치이다.


알리 익스프레스에서 주문한지 12일 만에 대한통운으로 배송 되었다.


Linear Actuator: $62.05

Stroke: 20~80mm

Max RPM: 120

Torque: 12V 15kgf·cm

           24V 20kgf·cm

https://www.aliexpress.com/item/10000209705566.html?spm=a2g0s.9042311.0.0.27424c4dpiWCEi


스피드 컨트롤러의 어댑터 입출력 표기가 잘 못 되어 있다.



전압을 1~24V로 조절하여 속도를 조절 한다.


555 DC모터.


테스트는 영상으로 확인 하자.


반응형
Posted by J-sean
:
반응형

Bartop 게임기 제작에 필요한 부품을 알아 보니 작은 스피커와 앰프도 필요하다는걸 알게 되었다. 가장 비싼 취미 중 하나라는 오디오. 그 취미의 중심에 있는 부품 중 하나인 앰프는 몇 천원부터 수 천만원에 이르기 까지 정말 다양한 가격대가 형성되어 있다. 물론 내가 구입한 제품은 low-end... 그래도 나름배송비 포함 $5.84다. ㅠㅠ


PAM8406 2 Channel Audio Amplifier


PAM8406은 이 제품의 이름이 아니라 사용된 앰프칩의 이름이다.

이 제품은 LQ-AMP10W지만 아무도 그렇게 부르지 않는다.


PAM8406 2 Channel Audio Amplifier

Voltage: 5VDC

Output Power: 5W 2Ω / 3W 4Ω / 1.8W 8Ω

https://www.aliexpress.com/item/32957841305.html?spm=2114.13010708.0.0.3a994c4ddUnkBN



스피커, 전원, 오디오 소스를 연결 한다.


3W 4Ω 스피커로 테스트 했다.


테스트는 영상으로 확인 하자.


반응형
Posted by J-sean
:
반응형

인터넷에서 진동 모터를 찾으면 수많은 제품들이 검색된다. 그 중 가장 흔하게 볼 수 있는 미니 진동 모터 세 종류를 알리 익스프레스에서 구매해 비교해 보았다.


미니 진동 모터



왼쪽부터...

■ Encapsulated Vibration Motor $0.58/ea

1.5~3VDC

RPM: 8000~24000

Torque: 0.3~3gf·cm

https://www.aliexpress.com/item/4000370300735.html?spm=2114.13010708.0.0.65c14c4dU5Eald


■ ERM(Eccentric Rotating Mass) Vibration Motor $0.32/ea

1.5~5VDC

1.5V - 80mA

2V - 110mA

3V - 180mA(suggested)

5V - 320mA

https://www.aliexpress.com/item/33026259454.html?spm=2114.13010708.0.0.65c14c4dU5Eald


■ Coin Vibration Motor $0.27/ea

2.5~4VDC

RPM: 12000±2500

https://www.aliexpress.com/item/32839179602.html?spm=2114.13010708.0.0.65c14c4dU5Eald



비교 테스트는 영상으로 확인하자.


반응형
Posted by J-sean
:
반응형

Bartop Arcade Machine을 만들기 위해서는 Joystick이 필요하다. 완제품으로 만들어져 컴퓨터에 연결만 하면 되는 조이스틱도 많지만 원하는 디자인으로 만들기 위해서는 조이스틱, 버튼, 케이블 등을 따로 구매해야 한다.


2020/03/17 - [Review] - DHU-4500 Joystick : 조이스틱

2020/11/12 - [Vita] - 오래된 노트북을 오락실 게임기로 만들어 보자.


Bartop Arcade Machine


2주 전 AliExpress에서 구매한 조이스틱이 도착 했다.


박스를 개봉하니 Push Button이 보인다.


버튼과 함께 다른 상자가 하나 더 들어 있다.



다른 상자에는 조이스틱과 Encoder(Zero Delay) 그리고 각종 케이블이 들어 있다.


각종 케이블들과 Encoder.




Zero Delay Encoder.



뒷면.


조이스틱.


Push Button. 왼쪽이 24mm, 오른쪽이 30mm 이다.


Encoder에 USB 케이블, 조이스틱, 버튼을 위와 같이 연결해 준다. 버튼은 필요한 만큼 추가로 연결 한다.


※ 오른쪽 컨넥터 4개 설명

Mode: Analog - Digital 변환

Turbo: 버튼을 누르면 연사

Auto: 버튼을 누르지 않아도 연사

Clear: Turbo/Auto 취소



10개의 버튼을 테스트 하기 위해 연결한 모습.


케이스 없이 이 조이스틱을 그대로 사용하긴 어렵다. 우선 테스트를 위해 버튼과 조이스틱 케이블을 모두 연결 하고 컴퓨터에 USB를 연결하면 특별한 드라이버나 설정 없이 바로 인식 된다. RetroPie등을 사용한다면 키설정을 다시 진행 해 준다.


반응형
Posted by J-sean
:
반응형

조이패드 스타일의 컨트롤러를 싫어하기도 하지만 대부분의 컴퓨터 게임은 키보드와 마우스로 컨트롤 하는게 편했고 굳이 조이스틱을 살 필요는 없었다. 하지만 최근 레트로 게임기 제작에 관심이 생기면서 조이스틱이 아니면 컨트롤이 힘든 게임들을 설치하게 되었고 어떤 제품이 있는지 알아 보기 시작했다.


꽤나 많은 제품들이 있었지만 모두 직접 사용해 볼 수는 없으므로 우선 가장 저렴한 제품을 사서 간단히 테스트 해 보기로 했다. 예상 외로 많이 검색 되었던 것은 완제품 조이스틱이 아닌 DIY가 가능한 조이스틱 부품들이었다.


2020/04/09 - [Review] - DIY Sanwa Arcade Joystick Kit - DIY 산와 아케이드 조이스틱 키트


케이스를 직접 만들고 조립해야 하는 조이스틱 부품들


언제가 될지는 모르지만 DIY 조이스틱도 만들어 보기 위해 우선 알리익스프레스에 주문해 두었다. 부품 자체는 저렴하지만 케이스 제작과 인건비를 모두 계산하면 왠만한 완제품을 사는게 쌀지도 모르겠다. 어쨌든 그래서 구입한 완제품 조이스틱, 다훈전자 DHU-4500.


전체 모습


스틱 1개, 버튼 8개, LED 3개 그리고 선택(연사)스위치가 있다.


뒷면



설명서


윈도우10을 사용한다면 드라이버 업데이트가 필요하므로 설명서를 잘 읽고 진행 해야 한다.














설명서를 다 읽었으면 드라이버 업데이트를 진행해 보자. 조이스틱을 컴퓨터에 연결 한다.


시스템 - 장치 관리자를 클릭 한다.


설명서에는 libusb-win32 devices → BETTER_USB_HS가 나온다고 되어 있으나 내 컴퓨터에는 Atmel USB Devices가 표시 되었다. 예전에 Atmel관련 드라이버를 설치했기 때문인거 같다. DHU-4500도 Atmel 칩을 사용하는 걸까? 어쨌든 마우스 오른쪽 클릭 후 드라이버 업데이트를 선택 한다.


컴퓨터에서 드라이버 소트프웨어 검색을 클릭 한다.


컴퓨터의 사용 가능한 드라이버 목록에서 직접 선택을 클릭하고 다음을 클릭한다.



USB 입력 장치를 선택하고 다음을 클릭 한다.


드라이버 업데이트가 완료 된다.


Windows 설정에서 컨트롤러를 검색한다. USB 게임 컨트롤러 설정이 표시 되면 선택 한다.


DAHOON USB Joystick을 선택하고 속성을 클릭한다.



스틱과 버튼을 테스트 하고 설정 할 수 있다


조이스틱이 연결되면 POWER LED가 켜진다.


스틱이 움직이거나 버튼이 눌리면 USE LED가 켜진다.


선택 스위치를 I에 놓고 버튼을 누르면 단발로 작동 하지만 II로 바꾸면 연사로 작동 되고 LOCK LED가 켜진다.



크기가 작아 손을 올려 놓기가 좀 불편하고 너무 가벼워 스트리트 파이터 같은 격투 게임을 플레이 하다 보면 빠른 움직임에 스틱과 함께 기기 자체가 움직여 버리는 등 단점도 있지만 다른 조이스틱에 비해 저렴한 가격으로 간단한 레트로 게임을 즐기기에는 크게 문제 되지 않는다. 


간단한 레트로 게임 플레이에 적당한 조이스틱.


반응형
Posted by J-sean
:
반응형

라즈베리 파이를 이용한 여러가지 프로젝트를 진행하기 전에 쓸만한 디스플레이를 고르기 위해 AliExpress에서 7인치 디스플레이를 주문 했다. 다른 제품보다 충격에 민감할 수 밖에 없는 제품이기에 배송이 걱정 되었지만 사이즈가 작으니 포장만 잘 하면 문제 없이 도착할거라 생각했다.


우체국택배를 통해 배송 되었다.


박스를 열어 보니 다행히 나름 깔끔하게 잘 포장되어 있었다.


7 inch HD Display Screen. 해상도는 1024X600이다.


LCD Driver. 여기에 다른 부품들을 연결 한다.



디스플레이의 소스, 화면 상태등을 조정할 수 있는 보드. 상품 설명에는 Key Board라는 이름으로 소개 되어 있고 SOURCE, MENU, POWER등 5개의 버튼이 달려 있다.


디스플레이 리모컨, 5V USB 전원 케이블, Key Board 케이블


Key Board 케이블을 Key Board와 LCD Driver에 연결 한다. 굉장히 뻑뻑해서 한 번 연결되면 분리하기 어렵다.


디스플레이의 Flat Flexible Cable을 LCD Driver에 연결 한다. 더 들어갈거 같은데.. 라는 생각이 들 정도만 들어 간다.



5V 전원과 컴퓨터등의 소스를 연결한다. HDMI, D-Sub, Composite Video 케이블 연결이 가능 하다.


상품 소개에 나오는 각 포트 설명


케이블 연결이 잘 되었다면 특별히 설정할 건 없다. 소스로 연결한 기기를 켜면 일반 모니터와 동일하게 작동 한다. 레트로파이를 설치한 라즈베리 파이에 연결하고 Bubble Bobble을 실행했다.


Metal Slug 실행 화면. 7인치 디스플레이기 때문에 14인치 노트북의 절반 크기도 안된다.



노트북에 연결한 화면. 노트북 디스플레이의 내용도 잘 표시 된다. Key Board의 녹색 불빛은 생각보다 밝다.


구매 비용은 $24로 3만원이 좀 안되는 가격에 무료 배송이다. 저렴한 가격이지만 생각보다 괜찮은 성능을 보여 주는 제품으로 여러가지 프로젝트에 응용 가능할 것으로 생각되며 이 제품보다 약간 큰 9인치나 10.1인치도 구매해 보고 싶은 생각이 들 정도로 만족스러웠다.


반응형
Posted by J-sean
:
반응형

한 대의 모니터로 2~3대의 컴퓨터를 확인하기 위해 HDMI 선택기를 구입 했다. 선택기를 사려는데 분배기도 눈에 띄여서 함께 구입 했는데 간단히 살펴 보자.


선택기는 Selector또는 (Selector) Switch라는 이름으로 불리기도 한다. 내가 산 제품은 3대의 소스를 연결하고 선택 할 수 있는 제품이다.


3:1 HDMI SWITCH라고 표기 되어 있다. 한 대의 디스플레이와 세 대의 소스 연결이 가능 하다.


케이스 뒷면


선택기 뿐만 아니라 리모컨과 리모컨 수신기가 들어 있다.


영문 메뉴얼


역시 읽을 만한 내용은 없다.





INPUT 포트에 연결된 3대의 소스 중 작동 중인 소스에 따라 INPUT 1~3에 불이 들어온다. SELECTED 문구 옆 동그란 버튼을 누르면 디스플레이에 표시되는 소스가 변경 된다.


뒷면


리모컨 수신기 포트. 리모컨을 사용하지 않으면 연결하지 않아도 된다.



OUTPUT에는 디스플레이를 연결 한다. 기본적으로 추가 전원은 필요 없지만 혹시 필요하다면 DC 5V 전원을 연결 한다.


INPUT 1~3에는 컴퓨터, 콘솔 게임기등의 소스를 연결 한다.


이런식으로 연결한다.


이번엔 분배기를 살펴 보자. 분배기도 Distributor, Distribution Amplifier, Splitter등의 다양한 이름으로 불리기도 한다.


제품은 투명 케이스에 들어 있다.


메뉴얼은 없고 케이스에 간단한 설명이 적혀 있다. 1X2로 표기 되어 있는데 한 대의 소스와 두 대의 디스플레이에 연결이 가능 하다. 두 대의 디스플레이에는 동일한 내용이 표시된다.



전원으로 사용할 USB 케이블이 같이 들어 있다.


디스플레이 연결용 포트들


컴퓨터등의 소스 연결 포트와 전원 USB 포트


이런식으로 연결 한다.


반응형
Posted by J-sean
:
반응형

가끔 조카들이 놀러 오면 같이 놀기 위해 오래된 컴퓨터에 레트로파이를 설치하고 예전 오락실 게임이나 콘솔 게임을 플레이 할 수 있도록 만들었다. 


2020/02/13 - [Raspberry Pi] - Raspberry Pi Desktop(Debian), Ubuntu에서 RetroPie 설치하기


이 컴퓨터는 거실에 두고 모니터보다 훨씬 큰 TV에 연결 했으니 이렇게만 만들어도 충분히 게임을 즐길 수 있지만 왠지 예전 게임기 느낌이 살지는 않는거 같아 살짝 아쉬운 마음이 들었다. 그래서 구입한 RETROFLAG의 SUPERPi Case-J.


제조: RETROFLAG

판매: Amazon


공식 판매처인 미국 아마존에서 구입이 가능하지만 게임패드가 포함되지 않은 모델의 경우에도 제품과 배송비를 합쳐 약 $26의 비용이 든다. 국내에서 사는게 더 비싸다면 배송 기간도 고려해서 아마존 구매를 생각해 보겠지만 디바이스마트에서 \16,500에 파는걸 보고 바로 주문했다.


그리고 이틀 후 도착한 내 소중한 케이스...


상자 앞 면


상자 뒷 면


상자 옆 면


겉 상자를 열면 안에 다시 속 상자가 들어 있다.



속 상자에 들어 있는 케이스. 모든 부품이 케이스 안에 다 들어 있다.


케이스 뒷 면


조립 메뉴얼


조립 메뉴얼



상자 안에 들어 있는 부품들


라즈베리 파이를 조립하기 전에 SD 카드를 분리해야 한다. 굳이 분리할 필요가 있을까 생각 했지만 분리하지 않으면 라즈베리 파이가 케이스에 제대로 들어가지 않는다.


조립에 필요한 부품들


케이스 위에 설치 할 롬 카트리지. 진짜 롬 카트리지는 아니고 SD 카드를 보관 할 수 있는 케이스다.



드라이버가 포함되어 있다.


Power/Reset/SAFE SHUTDOWN 스위치, 전면 USB포트 연결 케이블, GPIO연결 커넥터등이 보인다.





설치 과정 영상 추가 예정..................

SAFE SHUTDOWN 설치 영상 추가 예정............






영상에서 볼 수 있듯이 SAFE SHUTDOWN기능은 터미널에서 아래 명령어만 입력해 주면 간단히 설치 가능 하다.


wget -O - "https://raw.githubusercontent.com/RetroFlag/retroflag-picase/master/install.sh" | sudo bash


참고로 레트로파이에서 키보드 설정을 바꾸지 않았다면 영국 키보드로 지정되어 있다. 우리가 일반적으로 사용하는 키보드와는 키배열이 약간 다르므로 아래 그림을 참고 하자.


영국 키보드


그럼 install.sh에는 어떤 내용이 있어 SAFE SHUTOWN 기능이 설치 되는지 살펴 보자.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/bin/bash
 
 
#Step 1) Check if root--------------------------------------
if [[ $EUID -ne 0 ]]; then
   echo "Please execute script as root." 
   exit 1
fi
#-----------------------------------------------------------
 
#Step 2) enable UART----------------------------------------
cd /boot/
File=config.txt
if grep -"enable_uart=1" "$File";
    then
        echo "UART already enabled. Doing nothing."
    else
        echo "enable_uart=1" >> $File
        echo "UART enabled."
fi
#-----------------------------------------------------------
 
#Step 3) Update repository----------------------------------
sudo apt-get update -y
#-----------------------------------------------------------
 
#Step 4) Install gpiozero module----------------------------
sudo apt-get install -y python3-gpiozero
#-----------------------------------------------------------
 
#Step 5) Download Python script-----------------------------
cd /opt/
sudo mkdir RetroFlag
cd /opt/RetroFlag
script=SafeShutdown.py
 
if [ -e $script ];
    then
        echo "Script SafeShutdown.py already exists. Doing nothing."
    else
        wget "https://raw.githubusercontent.com/RetroFlag/retroflag-picase/master/SafeShutdown.py"
fi
#-----------------------------------------------------------
 
#Step 6) Enable Python script to run on start up------------
cd /etc/
RC=rc.local
 
if grep -"sudo python3 \/opt\/RetroFlag\/SafeShutdown.py \&" "$RC";
    then
        echo "File /etc/rc.local already configured. Doing nothing."
    else
        sed --"s/^exit 0/sudo python3 \/opt\/RetroFlag\/SafeShutdown.py \&\n&/g" "$RC"
        echo "File /etc/rc.local configured."
fi
#-----------------------------------------------------------
 
#Step 7) Reboot to apply changes----------------------------
echo "RetroFlag Pi Case installation done. Will now reboot after 3 seconds."
sleep 3
sudo reboot
#-----------------------------------------------------------




스크립트 분석 추가 예정..................






그럼 Safeshutdown.py의 내용을 확인해 보자.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/env python3
from gpiozero import Button, LED
import os 
from signal import pause
 
powerPin = 3 
resetPin = 2 
ledPin = 14 
powerenPin = 4 
hold = 1
led = LED(ledPin)
led.on()
power = LED(powerenPin)
power.on()
 
#functions that handle button events
def when_pressed():
  led.blink(.2,.2)
  os.system("sudo killall emulationstation && sleep 5s && sudo shutdown -h now")
def when_released():
  led.on()
def reboot(): 
  os.system("sudo killall emulationstation && sleep 5s && sudo reboot")
  
btn = Button(powerPin, hold_time=hold)
rebootBtn = Button(resetPin)
rebootBtn.when_pressed = reboot 
btn.when_pressed = when_pressed
btn.when_released = when_released
pause()




스크립트 분석 추가 예정......







반응형
Posted by J-sean
: