레이블이 3D printer인 게시물을 표시합니다. 모든 게시물 표시
레이블이 3D printer인 게시물을 표시합니다. 모든 게시물 표시

2015년 5월 23일 토요일

대문열기 라즈베리파이 + Mini PN532 NFC 리더

라즈베리파이 + NFC 리더 를 이용한 대문열기.

개요 : NFC리더를 통해 스마트폰 또는 RFID 태그 의 UID 를 읽어들여 등록된 UID 인지 검증 후 문을 여는 동작을 한다.

장점 : 열쇠 없이 대문 열기

단점 : 정전시 집에 못들어감, 라즈베리파이에 문제 발생시 집에 못들어감.

하드웨어 준비

준비물 : 라즈베리파이 1개
PN532 NFC 리더 1개
NFC housing : 3D printing    http://www.thingiverse.com/thing:845134
NFC housing 3D 프린트를 원하면 클릭!! 3D Print
인터폰선(4선식) 인터폰 -> 대문 까지.
릴레이 : 1개
다이오드 : 1개
트랜지스터 BC337 : 1개 
저항 1K옴 : 1개

그림1. 전체 회로도


릴레이 부분 확대 사진.


인터폰 에서 대문까지 인터폰선을 연결(본인 집은 약 35미터), 프린팅한 하우징에 PN532 Reader를 장착하고 대문 인터폰 주변에 부착함.
좀 멀어서 통신에 문제가 있지 않을까 걱정 했지만 잘 작동함.




코딩 

NFC Library 설치 : http://gaeranking.blogspot.kr/2015/05/nfc.html 를 참조.

디렉터리 구조 : 

실행파일 
/usr/local/bin
/usr/local/bin/doornfc  >  NFC reader로 부터 수신대기.
/usr/local/bin/dooropen.py  > GPIO 제어하고 문을 연다.
/usr/local/bin/dooropen  > dooropen.py를 호출
/usr/local/bin/addnfc-uid.sh  > NFC UID 정보 수집을 위한 script, 읽은 데이터는
/var/nfc/uid.data에 저장한다.

데이터파일 
/var/nfc/uid.data  > UID 정보를 보관하는 파일.


1. uid.data 파일 만들기

$ sudo mkdir /var/nfc
$ sudo touch /var/nfc/uid.data
$ sudo chown pi /var/nfc/uid.data


2. 실행 스크립트 작성.

$ cat dooropen.py
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.OUT)
GPIO.output(23, True)
time.sleep(0.2)
GPIO.output(23, False)
GPIO.cleanup()
time.sleep(1)
print ("OK")


$ cat dooropen
sudo python /usr/local/bin/dooropen.py 


$ cat addnfc-uid.sh 
#!/bin/bash
echo "Touch your NFC Device to reader"
NFCUID=`nfc-poll | grep UID`
CHECK_DOUBLE=`grep "$NFCUID" /var/nfc/uid.data`
if [ ${#CHECK_DOUBLE} -gt 0 ] ; then
   echo "Your UID is already registered"
else
   echo "$NFCUID" >> /var/nfc/uid.data
   echo "UID registered."
   exit 0
fi


$ cat doornfc
#!/bin/bash

echo $$ > /var/run/doornfc.pid

while [ true ]
do

#  Reading UID from NFC tag
RESULT=`nfc-poll|grep UID`
#echo NFC-READ:$RESULT

if [ ${#RESULT} -eq 0 ]; then
   echo "no data from NFC Reader try again..."
else
   CHECK=`grep "$RESULT" /var/nfc/uid.data`
   echo CHECK-DB:$CHECK

   echo LENGTH_OF_CHECK=${#CHECK}

   if [ ${#CHECK} -gt 0 ]; then
      dooropen
   fi

fi
done


NFC등록

addnfc-uid.sh 를 실행 후 NFC Reader 에 스마트폰 또는 RFID 태그 접촉.

$ addnfc-uid.sh 
Touch your NFC Device to reader
nfc_initiator_target_is_present: Target Released
UID registered.

cat /var/nfc/uid.data 에 방금 접촉한 태그의 UID가 등록 되었다.


릴레이 작동해 보기

등록된 UID 로 릴레이가 작동 하는지 확인해 보자. doornfc 를 실행.

$ /usr/local/bin/doornfc 


NFC Reader에 스마트폰이나 RFID 태그 를 접촉 시키면 릴레이 에서 "딸깍" 하는 소리가 나면 정상 작동 하는것.


2015년 4월 27일 월요일

Raspberry pi A+ 를 이용한 BMO 만들기.

3D objects : http://www.thingiverse.com/thing:697480

3Derp 가 제작 하고 공개한 라즈베리파이 A+ 를 이용한 BMO 만들기에 도전한다.


사용 부품 : 
1. 3D print parts
BMO 3D 프린팅을 원하면 이곳을 클릭!! 3D Print
2. 기판 - 양면인쇄 된 것. = \3,200
3. Tactile switch 7.8x7.8x5.0mm SKPDAMD010 x 12개 = 약\6,000
4. Raspberry Pi Model A+ 256MB RAM x 1개 = \34,100
5. Mini Metal Speaker w/ Wires - 8 ohm 0.5W x 1개 = 약\4,000
6. SparkFun Mono Audio Amp Breakout - TPA2005D1 x 1개 = 약 \17,000
7. Teensy (ATmega32u4 USB dev board) 2.0 - ATmega32u4 x 1개  = \18,000 
8. 3.5 Inch TFT LCD Monitor for Car / Automobile x 1개 = 약\20,000
9. Li-Ion 18650 7.4V 2600mAh Rechargeable Battery x1개 = \25,000
10. Charger for Li-Ion battery = \10,000
11. DC/DC Step-Down 5V @ 1.5A = \6,500
12. Size M Panel-mount Coaxial Power Jack  = \500
13. DPDT Submini Slide Switch = \500

제작기간 : 부품 주문하고 기다리고 제작 하는데 1개월 조금 넘음.

총 구매비용 : 대충 \144,800
3D 프린팅 비용은 제외 했는데, 포함 시키면 총 18만원 정도 할라나?? 그냥 닌텐도 게임기 하나 사는 금액 이다.

원작자는 $159.74 에 만들었다고 공개 했다. 뭐가 다른가 봤더니 원작자는 대부분 adafruit 에서 구매 했다. 좀 비싼곳 이긴 하다. 나 는 aliexpress 에서 구매...

Tactile switch SKPDAMD010: 이거 구하기 정말 어려웠다. 이 부품은 누름 스위치 인데, 고무(실리콘) 재질로 되어 있어 흡사 TV리모콘 누르듯 물렁물렁하게 작동하는 스위치 이다.
Tactile switch를 구하고자 하는분 용산으로 가자! 온라인에서는 구하기 힘들다.

TEENSY2.0 : TEENSY 는 USB Joystick 을 만들기 위해 필요함. aliexpress 에서 구매. 약 16달러 정도.

SparkFun Mono Audio Amp Breakout - TPA2005D1  : mono amp 2개로 stereo 구현을 위한 것. raspberry pi 에서 오디오 출력이 약해 amp를 써야 스피커로 들을 수 있음. aliexpress 에서 구매.

배터리 : 용산에 친절하게 배터리 제작해 주시는 분들 있음. 보호회로 있는 18650 배터리 2개 + 충전 port 달아 달라고 하면 잘 만들어 주심.

해외구매를 제외하고 대부분 부품은 용산 전자랜드 지하 에 있는 동신전자 와 주변 가게 에서 구했다.

제작자는 너무도 친절하게 사이트에 모든 구성에 대한 설계를 올렸다. 회로에 대한 지식이 없는 본인도 만들 수 있도록 잘 만들어져 있다. 아래 3개 파일을 보면 대충 아~ 이렇게 만드는군... 할 수 있다.
Routing_Board_Schematic.pdf
RPi_Wiring_Guide.pdf
Controller_Assembly_.PDF

http://www.thingiverse.com/thing:697480 에서 다운로드 하여 보길 바란다.

Controller_Assembly_.PDF 를 보고 3.1mm 드릴로 구멍 만들고,


 tactike switch를 구성.

 BMO 몸체와 대조 하여 정확하게 일치 하는지 확인.



가조립 상태.




 뒷면에 Raspberry pi가 장착 된다.

joypad 부분은 아래와 같이 wiring 하고.

audio amp 부분은 아래와 같이 wiring.

막 조립.

 까만것은 배터리 이다. 배터리와 연결된 빨간 커넥터는 충전용 배선.


조립! 완성!



Retropie 2.6 이미지 를 설치 http://blog.petrockblock.com/retropie/

mame를 실행해 추억의 겔러그를 실행한 모습. 처음 mame 구동시 joypad가 작동하지 않는데, 조립전 USB hub를 이용해 keyboard와 joypad를 연결한 후 설정을 해야 한다.(Raspberry pi A+ 는 USB port가 1개 제공되므로, USB hub로 연결.)

mame 구동 -> TAB 키 누름 -> joypad 설정.


제비우스도 됨.ㅋ

2014년 10월 29일 수요일

못쓰는 노트북 모니터를 Raspberry pi monitor 로 만들기.

오래된 노트북 모니터 재생하기 - 라즈베리파이 모니터로 만들기.


* 준비물 :

1. AD보드  + 인버터 + OSD버튼. 

-> 온라인 쇼핑몰에서 "AD보드" 로 검색됨.  대충 \19,000~\25,000 정도.

AD보드와 인버터


이렇게 생겼음.
AD보드 구매 전 LCD패널의 제품번호를 확인하고, 구매하는 AD보드가 지원하는지 확인 한 후 구매 해야한다.
HDMI to D-sub 컨버터 약 \7,000, d-sub 커플러 \3,000

2. 못쓰는 노트북에서 꺼넨 LCD 패널

패널 뒷면에 보면 모델명이 있음. 이 모델명 으로 AD보드 구매시 호환되는지 확인.

3. 프린트 파트

  - AD보드 하우징 : http://www.thingiverse.com/thing:573252

이 파트를 3D 프린팅 하고싶으면 클릭!! 3D Print


  - 모니터 마운트 : http://www.thingiverse.com/thing:573252

*조립방법:

1. AD보드 하우징.

AD보드를 마운트 하고,
인버터를 마운트.
LCD 쪽 연결되는 검은선 도 넣어주고, 
대충 위치를 잡아보고
덮개를 닫아준다.

2. 모니터 마운트.

모니터 마운트를 출력해서 다음과 같이 조립을 하고.
앞 모습. 라즈베리 파이도 달아주고.
뒵모습.

양면테이프로 AD보드 케이스를 달아준다.
앞에는 이렇게 생김. OSD버튼은 없어도 될것 같아 뺐음.

3. 라즈베리파이

 모니터 앞에는 라즈베리 파이가 있고, 
모니터 다리 사이에 HDMI-D-SUB 변환기를 연결하면 끝~
 배선정리 하고 
 
게임을 한다.

2014년 9월 29일 월요일

gCreate Official Rocket Ship


gCreate Official Rocket Ship http://www.thingiverse.com/thing:427789

이 작품 개인적으로 맘에 듭니다... 크기도 크고 (높이 약 450mm) 예술성도 높아 보이네요.

이 로켓 모델을 출력 하고 싶으면 클릭!! 3D Print

아이들과 3D printer 만들기

지난 여름 휴가때, 아이들 방학과 더불어 시작한 3D 프린터 만들기 3호기...
부품들 진열 해 보고...
3호기를 만들기 위한 부품을 출력하는 기간만 거의 10일...
정말 많은 부품이 들어간다... 2호기가 늦게 출력하는 원인도 있는것 같네...ㅎ

열심히 사진 찍는 아들...

조립 시작... 1, 2호기를 만들면서 겪었던 시행착오를 아이들에게 설명하면서 조립을 시작했다.
둘이서 공평하게 한쪽씩 만들어 간다...

어느덧 상부 조립 완료.

뒤집어서 하부 조립.

기념사진~
누워서 열심히 조립... 뒤집으면 될것을... 하여간 열심열심.

1차 프레임 완성~ 남은 절차는 controller 설치와 전선 작업...
이 때가 여름휴가 마지막 날...